thinkphp mysql exp_ThinkPhp3漏洞总结

本文详细分析了ThinkPHP 3.2.3版本中的MySQL WHERE注入漏洞,包括`exp`和`bind`两种类型的注入,探讨了漏洞的成因、利用方式及修复措施。通过示例payload展示了如何构造SQL注入语句,并跟踪代码执行流程,最后给出了官方的修复补丁链接。
摘要由CSDN通过智能技术生成

环境搭建下载源码

编辑器使用了phpstrom

配置数据库

添加测试数据

Thinkphp3.2.3 where注入payload

?id[where]=1 and 1=updatexml(1,concat(0x7e,(select password from users limit 1),0x7e),1)%23断点

分析经过htmlspecialchars过滤

于442行通过think_filter函数进行过滤

经过ThinkPHP/Library/Think/Model.class.php:779的find()方法

满足条件则进入

强制进行转换,转换为了int形

带入查询

步骤

id=1' -> I() -> find() -> __parseOptions() ->_parseType()

满足条件才能进去__parseOptions()方法条件

if (isset($options['where']) && is_array($options['where']) && !empty($fields) && !isset($options[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值