代码审计之CSRF原理及修复
在平时的测试中,csrf也是比较容易发现的,主要就是看它对一个操作,有没有检测其时效性(这样表述可能不太准确),一般的防护方法就是添加token来进行校验,并及时对其进行失效处理。
以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以指正。
在进行添加的时候进行抓包
利用burp自带的工具转成CSRF利用代码
此时,我们先看一下当前的内容
然后,就需要构造一个链接,然后想办法让受害者去点击它,然后执行我们预定的操作,这里我直接本地打开
之后就发现在index页面多出了一行内容,正是我们预定的操作后的内容
这里我们简单补充一下前面操作中所用到的代码
add.php
action.php
简单修复
修复的话,我在开头的时候也已经说过了,一般都是添加一个token,然后对每次的操作都进行检测,查看是否是用户自己所操作的。
先给大家理一下,修复的流程,我们需要在add.php中添加一个生成token值的参数,并设置为session值,并把token值发送到action.php,然后判断发送过来的token跟session中的token值是否相同,如果相同则允许执行之后的操作,否则就提示错误,然后一定一定一定要把token进行失效处理。
add.php
action.php
然后看一下这个时候的效果
此时传输时候的数据包为
此时,就达到了简单修复的目的
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号
扫码关注即可