zoukankan      html  css  js  c++  java
  • CSRF代码审计

    token原理(dvwa)

    首先对应的index.php页面会调用对应级别的页面(high.php)。
    high.php里面有:
    //Generate Anti-CSRF token
    generateSessionToken();
    这样就在index.php页面生成了个token。
    跟进核心函数库看一下这个函数:
    function genrateSessinoToken(){
    if(isset($_SESSION['session_token'])){
    destroySessionToken();
    }
    $_SESSION['session_token']=md5(uniqid());
    }
    function destroySessionToken(){
    unset($_SESSION['session_token']);
    }
    然后生成了一个session_token
    然后又使用tokenField(),增加一个隐藏字段
    function tokenField(){
    return "<input type='hidden' name='user_token' value'{$_SESSION['session_token']}' />";
    }
    接下来就是在high.php页面的GET['Change']请求中进行判断
    checkToken($_REQUEST['user_token'],$_SESSION['session_token'],'index.php');
    function checkToken($user_token,$session_token,$return_url){
    if($user_token!==$session_token||!isset($session_token)){
    dvwaMessagePush('CSRF token is incorrect');
    dvwaRedirect($returnURL);
    }
    }

    找准对应漏洞位置


    利用burp的功能Generate CSRF PoC的功能生成HTML代码

    利用短域名伪装

    然后引诱管理员访问
    这里结合XSS漏洞更好。

  • 相关阅读:
    ajax 函数外调用
    a连接 h5点击有背景阴影
    禁止微信上下滑动
    ios 倒计时 不动 例如 2017-09-06 00:24:35
    6-10位 a-z || A-Z ||0-9 正则
    正则 不能输入中文
    正整数正则 (选择商品数量)
    手机号正则
    input输入框只能输入数字而且开头不能为零
    do...while02
  • 原文地址:https://www.cnblogs.com/lyxsalyd/p/12551493.html
Copyright © 2011-2022 走看看