代码审计之CSRF原理及修复

在平时的测试中,csrf也是比较容易发现的,主要就是看它对一个操作,有没有检测其时效性(这样表述可能不太准确),一般的防护方法就是添加token来进行校验,并及时对其进行失效处理。

以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以指正。

file

在进行添加的时候进行抓包

file

利用burp自带的工具转成CSRF利用代码

file

此时,我们先看一下当前的内容

file

然后,就需要构造一个链接,然后想办法让受害者去点击它,然后执行我们预定的操作,这里我直接本地打开

file

之后就发现在index页面多出了一行内容,正是我们预定的操作后的内容

file

这里我们简单补充一下前面操作中所用到的代码

add.php

file

action.php

file

简单修复

修复的话,我在开头的时候也已经说过了,一般都是添加一个token,然后对每次的操作都进行检测,查看是否是用户自己所操作的。

先给大家理一下,修复的流程,我们需要在add.php中添加一个生成token值的参数,并设置为session值,并把token值发送到action.php,然后判断发送过来的token跟session中的token值是否相同,如果相同则允许执行之后的操作,否则就提示错误,然后一定一定一定要把token进行失效处理。

add.php

file

action.php

file

file

然后看一下这个时候的效果

file

file

此时传输时候的数据包为

file

此时,就达到了简单修复的目的

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

file

posted @ 2019-09-28 08:19  信安本原  阅读(1313)  评论(0编辑  收藏  举报