框架filterExp函数过滤不严格导致SQL注入
0x00 说说说说说说说说说说说明
filterExp函数thinkphp5框架核心的安全过滤函数,他被配置与input函数一起使用, 他的前生是I函数,thinkphp5重写了数据库操作类方法,filterExp函数没有及时更正更新导致sql注入。
0x01漏洞利用
凌晨5点了,差不多猝死了,原理什么的就放在最后面了,直接来看如何利用把。QAQ
1,首先先看一波 input函数 了解这个东西何物先
漏洞场景方法1:
感谢分享好文章很棒
学习了,上周看到thinkphp官方出了5.0.11并修复了一个安全问题,diff了一下就发现了这个fileterExp里面多了一个NOT LIKE
嗯 是滴~官方已经修复了 如果哥们喜欢代码审计可以加我联系方式
哈哈 用这个漏洞 还刷了一个洞 师傅很仔细 和14年的那个比较相似
哈哈 可以分享一波~~
implode那里纠结了半天~好文,不愧是研究到凌晨5点的~~真的很厉害
你也很不错~期待你后续的文章
我经常和作者研究审计,能不能带我一个
今天看了一下,可惜只有5.0.10的Builder.php添加了这个新用法,5.0.9(包括)以前都没添加,好气
以前我看到的是5.0.5-5.0.10 都有not like的方法,现在又修复了?
刚看了一下5.0.7的,还是存在not like的
if (in_array($exp, ['=', '<>', '>', '>=', '<', '<='])) { // 比较运算 及 模糊匹配 $whereStr .= $key . ' ' . $exp . ' ' . $this->parseValue($value, $field); } elseif ('LIKE' == $exp || 'NOT LIKE' == $exp) {
先知社区
现在登录