分析 与上一个漏洞类似,这个也是前端可以传入一个数组变量,如['exp','123','123'],后端根据array[0]来将array[1]和array[2]直接拼接到SQL语句中. 由于TP只是框架,为了保证应用业务正常运行,不能为主应用做过多的安全防御(如转义.去除危险字符等). 上一个漏洞点存在于处理where语句的parseWhere()处,而这个点则在处理insert和set的data的parseData()处. 本文以insert为例,首先payload如下: http://12…
目录 环境搭建 分析 参考 环境搭建 $ composer create-project topthink/think thinkphp-5.1.7 修改composer.json 5.1.* => 5.1.7 $ composer update 分析 这个注入点与5.0.15的注入点位置都在parseData里,都是在解析set-data时直接将用户完全控制的data拼接到SQL语句中. 下面来看漏洞点,首先根据Github的commit记录进行定位 可以看到这里直接删除了default语句块…
漏洞demo: public function inc() { $username = request()->get('name/a'); db('user')->insert(['name' => $username]); return 'Update success'; } 首先看TP的数据获取:$username = request()->get('name/a'); request(助手函数就是获取thinkphp/library/think/Request.php 的实例…
前言 前段时间,晴天师傅在朋友圈发了一张ThinkPHP 注入的截图.最近几天忙于找工作的事情,没来得及看.趁着中午赶紧搭起环境分析一波.Think PHP就不介绍了,搞PHP的都应该知道. 环境搭建   本文中的测试环境为ThinkPHP 5.0.15的版本.下载,解压好以后,开始配置.首先开启debug,方便定位问题所在.修改application\config.php, app_debug和app_trace都改成true.然后创建数据库,并且修改application\database.…
本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不经常见.在本例中,我们成功的通过该漏洞篡改订单金额. YS 电商生成订单接口存在INSERT型SQL注入漏洞,可修改订单金额数据[中] 问题描述:          YS MALL在生成订单时会往数据库插入数据,但此处使用了动态查询语句的方式进行插入,通过注入数据可以达到篡改订单数据的目的. 测试步…
目录 分析 总结 分析 首先看一下控制器,功能是根据用户传来的id,修改对应用户的密码. 13行把用户传来的id参数送入where()作为SQL语句中的WHERE语句,将pwd参数送入save()作为UPDATE语句. 这里我们假设请求id参数为array("bind","aaa"),pwd参数为bbb. 其中11行12行的意思是获取id.pwd参数,并通过I函数进行过滤.我们跟进一下I() 可以看到,这里首先对参数进行htmlspecialchars过滤,然后在最…
模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─application 应用目录(可设置) │ ├─common 公共模块目录(可选) │ ├─common.php 公共函数文件 │ ├─route.php 路由配置文件 │ ├─database.php 数据库配置文件 │ ├─config.php 应用配置文件 │ ├─module1 模块1目录…
  0x00 环境准备 iCMS官网:https://www.icmsdev.com 网站源码版本:iCMS-v7.0.7 程序源码下载:https://www.icmsdev.com/download/release/iCMS7/latest 默认后台地址:http://127.0.0.1/admincp.php 默认账号密码:用户名密码自设 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/app/admincp/admincp.app.php 第36-53行: public func…
  0x00 环境准备 iCMS官网:https://www.icmsdev.com 网站源码版本:iCMS-v7.0.7 程序源码下载:https://www.icmsdev.com/download/release/iCMS7/latest 默认后台地址:http://127.0.0.1/admincp.php 默认账号密码:用户名密码自设 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/app/apps/apps.admincp.php  第266-282行: public fun…
  0x00 环境准备 iCMS官网:https://www.icmsdev.com 网站源码版本:iCMS-v7.0.7 程序源码下载:https://www.icmsdev.com/download/release/iCMS7/latest 默认后台地址:http://127.0.0.1/admincp.php 默认账号密码:用户名密码自设 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/app/keywords/keywords.admincp.php 第74-85行: publi…