• 代码审计之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

  • 相关阅读:
    luoguP1919 A*B Problem升级版 ntt
    luogu[愚人节题目3]现代妖怪殖民地 NTT
    FFT 快速傅里叶变换 学习笔记
    十二省联考 爆0记
    # NOI.AC省选赛 第五场T1 子集,与&最大值
    2019.6.16完成classstack任务
    USACO-集合
    USACO-修理牛棚
    dij模板
    洛谷P1948 [USACO08JAN]电话线Telephone Lines
  • 原文地址:https://www.cnblogs.com/wuxinmengyi/p/11601375.html
Copyright © 2020-2023  润新知