1、 XSS跨站脚本攻击
上图所列出的互联网企业有门户网站、行业网站、视频网站、旅游网站等,从不同类型的网站我们可以看出,XSS跨站脚本攻击是黑客使用最普遍的攻击方式,这里我们为大家整理了XSS跨站脚本攻击的原理,希望能对大家有帮助。
小白一下:XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。
跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTML内容,甚至可以模拟用户当前的操作。这里介绍一种新式攻击方法:XSS Phishing(跨站脚本钓鱼攻击),利用这种方式可以直接盗取用户的密码,下面我就拿最近PHPWIND论坛所暴出的XSS做一下演示,PHPWIND对上传文件名没有处理严格,导致可以写入跨站脚本。
先做一个简单的测试,发一篇新帖,在附件中随意写入一个本地路径加带“<” 和“>”的文件名,如图一
发帖成功后我们会发现,帖子附件名已经没有了,如图二
我们查看当前页面的源代码会发现已经写到页面内,如图三
当然要写入脚本,PHPWIND还是做了限制,文件名中出现"(","/"字符将会被过滤,不过可以利用HTML转码的方式绕过这个限制,如转换成
这样我们已经实现了跨站脚本的写入,关键是怎么实现攻击,这一处跨站脚本漏洞进行了HTML转码,我们不方便写入过长的内容,那么就加载一个JS文件,动态创建一个script标记,代码如下:
OK,到了这一步我们就可以在JS中任意构造我们的攻击代码,攻击的思路是当用户访问帖子,利用脚本清空当前页面,然后重新写成钓鱼页面。
首先我们可以实验一下,javacript有一个小特性,延时输出将会清空当前页面所有的内容,代码如下:
info = "我是来钓鱼的!"
document.write(info);
}
function doit(){
setTimeout("Phish()", 1000 );
}doit()
如图四,帖子页面的代码和内容全变成了“我是来钓鱼的!”
想一想,如果我们把info变量的内容变成HTML代码会怎样,如图五
嘿嘿,邪恶一点!我们完全可以把页面变成一个自己操纵的登录页面,将表单的值指向远程服务器上的程序,如图六
然后远程服务器上的程序将接受表单POST的用户和密码,当然我们可以做巧妙点,让其访问后又转跳回论坛首页,代码如下:
最后我们便完成了钓鱼的过程,管理员访问我们的帖子,马上重写当前页面,设置一个重新登录的陷阱,盗取用户名和密码,全部过程只在没有察觉的一瞬间.
这类攻击方式危害很大,文中的原始代码只是描叙一下思路,有很多破绽,当然如果你够邪恶的话,完全可以自己重写代码,钓鱼于无形之中。
提醒一下,跨站脚本不仅仅是简单的挂马,XSS Phishing(跨站脚本钓鱼攻击)只是一个简单的开始!(了解更多XSS攻击内容请点击这里:http://www4.it168.com/jtzt/shenlan/safe/xss/)
(责任编辑:)