首页
社区
课程
招聘
[原创]对自助提卡系统的一次代码审计
发表于: 2020-2-4 20:40 1333

[原创]对自助提卡系统的一次代码审计

2020-2-4 20:40
1333

起因:

这是很早的文章了,当初团队师傅想看H片,奈何不想花钱购买,然后审计了H站自助提卡系统,并收获了80G种子

前言:

并非有意愿要审计该站,前面的走的黑盒没有过于精彩部分就不在贴上了,对于此系统站你们懂的,多说无益,这套程序是开源的,像这种自助提卡系统相信大家已经不在陌生了,很多违法网站通过这种平台方式提卡密的相当于购买邀请码,源码是小伙伴提供的,采用的是php+mysql进行开发的24小时自动售卡平台,废话就不多说了。

相关环境

源码信息:你猜啊

漏洞类型:Forwarded-For注入

搭建成功之后如下 :

看到如下页面是不是有似曾相识的感受:


 

上图是安装过后的首页,就是一个提卡网,继续吧继续!


 

这是首页文件,进去首先判断了install目录下的lock文件是否不存在并且判断是否有index.php文件,如果满足以上条件就跳转到install目录下的index.php,我们跟进install/index.php文件:


 


 

这里我们只看判断是否安装过程序,判断是否存在lock文件并且step不等于5的情况下就执行判断语句中的代码,当然这里如果header函数后没有exit就会存在重装漏洞。

我们接着看index.php,光是index.php文件就用413行代码,代码都不规范,所以我们先看看其它文件,看看api.php文件:


 

这里很明显我们看到了SQL注入,首先判断是否设置了$_POST[“dh”]再判断$_POST[“dh”]不为空则将该参数拼接到SQL语句中,看到这里就可以判断出该程序存在联合查询注入,可是$config哪来的,这个文件也没包含其它的文件啊!!!怎么办呢?那么我们就来找找index文件中是否包含了api.php,search一下


 

可以看到在294行这里包含了api.php文件,我们构造下放入sqlmap中玩一玩

Python sqlmap.py -u “http://localhost:8081/index.php” --batch --dbms=”mysql” --data=”dh=a”


 

这里可以看到注入类型确实是联合查询,我们接着尝试下这个提卡网是否存在SQL注入

Python sqlmap.py -u "http://xxxx.pw/index.php" --batch --dbms="mysql" --data="dh=a"


 

我们尝试本地站点的时候毫无问题,可是为啥这个提卡网就存在问题了呢?很明显这个网站可能是升级或者二开过的,我们接着看看其它点,进入./pay/pay.php文件


 

 
 


 


 

代码过多就不一一贴图出来了,主要构成漏洞的代码就在这其中,我们从38行开始看着走

这里判断$_GET[“type”]等于delete的时候则执行40-49行的代码,41将获取到的ip拼接到sql语句中,我们看看ip函数:


 

这里可以看到程序获取ip可以从客户端的头参数中获取,分别为HTTP_X_FORWARDED_FOR,HTTP_CLIENT_IP,这个函数真的仅仅是获取外部传递的参数的,一点也没有过滤,我们看到了这里就可以嘿嘿嘿了,基本上这个网站拿下了,我们接着看看,回到41行,再看下边的,我们不宜在这里进行SQL注入,因为接着会将查询到的值又进行下一个SQL语句的拼接,这样返回值就不准确,用工具的过程就很难判断了,我们跳出这里的判断,看看51-54行分别判断了$_GET['type'],$_GET['money'],$_GET['title'],$_GET['pwd']这几个参数存不存在,所以我们这里可以这样构造get参数:type=a&money=1&title=adssad&pwd=123

我们接着看下边的,第58-65行,首先是判断了type是否等于zfb,若不等于则退出当前程序并打印Tip:Type error!,所以我们还得接着改改get参数:

type=zfb&money=1&title=adssad&pwd=123

接下来,可以看到67行中再次将获取到的ip拼接到了SQL语句中,我们这样来,在67行的下边打印出当前执行的SQL语句


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2020-2-5 18:16
2
雪    币: 1095
活跃值: (165)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
上个月我也审计了两个提卡cms,还有一个是卖外挂的 拿了那么多后台 发现很多都是骗人的,,好的商品大部分是手工订单
2020-2-6 23:02
1
雪    币: 3127
活跃值: (2075)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
4
孑狱原 上个月我也审计了两个提卡cms,还有一个是卖外挂的 拿了那么多后台 发现很多都是骗人的,,好的商品大部分是手工订单
大佬啊
2020-2-7 21:26
0
雪    币: 494
活跃值: (162)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
5
edlm提卡系统
https://www.cnblogs.com/h2zZhou/p/9413190.html
一模一样 ,是你写的嘛
2020-2-8 21:04
0
雪    币: 3127
活跃值: (2075)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
6
孑狱天 edlm提卡系统 https://www.cnblogs.com/h2zZhou/p/9413190.html 一模一样 ,是你写的嘛
看来找到一个抄袭得  我去维权
2020-2-11 21:05
0
雪    币: 3127
活跃值: (2075)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
7
这篇文章是我团队以前得原创文章  原文地址:https://www.freebuf.com/vuls/178744.html
2020-2-11 21:21
0
雪    币: 177
活跃值: (278)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这厉害了
2020-3-31 14:25
0
雪    币: 53
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
学习了
2020-5-3 00:04
0
游客
登录 | 注册 方可回帖
返回
//