快捷搜索:  网络  CVE  渗透  后门  扫描  木马  黑客  as

对自助提卡体系的一次代码审计

*

媒介

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

相干环境

源码信息:你猜啊

漏洞类型:Forwarded-For注入

搭建成功以后以下 :

看到以下页面是否是有似曾相识的感触感染:

image.png

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

image.png

这是首页文件,进去起首判定了install目录下的lock文件是否不存在并且判定是否有index.php文件,要是餍足以上前提就跳转到install目录下的index.php,我们跟进install/index.php文件:

image.png

image.png

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

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

image.png

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

image.png

可以看到在294行这里包含了api.php文件,黑客漏洞,我们组织下放入sqlmap中玩一玩。

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

image.png

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

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

image.png

我们尝试内陆站点的时辰毫无问题,为什么这个提卡网就没有存在这个问题了呢?很显然这个网站多是升级或者二开发过的,我们接着看看别的点,进入./pay/pay.php文件:

image.pngimage.pngimage.pngimage.pngimage.png

代码过量就不一一贴图出来了,首要构成漏洞的代码就在这其中,我们从38行最先看着走。

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

image.pngimage.png

这里可以看到程序获取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语句

image.png

好了,现在我们关上burp进行抓包,然后伪造ip进行一系列的嘿嘿了,因为./pay/index.php中包含了pay.php,所以我们对index.php进行注入就好

复现

走访http://localhost:8081/pay/index.php?type=zfb&money=1&title=adssad&pwd=123,付款码页面:

image.png可以看到这是一个很正常的页面了,并且打印出了SQL语句,我们抓包:

image.pngimage.png正常页面:

image.png错误页面:image.png

好的,现在看到了吧!我们放到SQLmap中跑一下看看,我们将这个数据包保存到文本中,并且标注注入地位:X-Forwarded-For这个注入还自带绕过waf功能,因为很多waf不会检测hander参数。

image.png

Python sqlmap.py -r test.txt --batch --dbms="mysql" 

image.png

我们对谁人网站测试一番,走访:http://lxxxx.pw/pay/index.php?type=zfb&money=1&title=adssad&pwd=123

image.png

可以看到缺少 “spid” 参数我们加上继续走访,页面是支付宝扫码支付 – -RL吧论坛邀请码:

http://llxxxxx.pw/pay/index.php?type=zfb&money=1&title=adssad&pwd=123&spid=1

image.png

把该数据放到文本中,接着进行测试:

image.png

Python sqlmap.py -r test.txt --batch --dbms="mysql" 

image.png成功挖掘到了该网站的漏洞,继续。

image.png

Python sqlmap.py -r test.txt --batch -D yulinxscom --tables 

image.png

Python sqlmap.py -r test.txt --batch -D yulinxscom -T admin --dump 

image.png

拿到了治理账号及暗码。接着走访。

默认后台:http://lxxxx.pw/admin.php

image.png

由于之前进去过一次,让他亏损了点钱,现在后台的名字也改了 。

写在结尾

跟此网站的搭建人聊了会,从客岁11月份搭建平台以来已获利普通人一年的薪资。为了养家糊口,冒此危害也是不容易,切勿为了蝇头小利以身试法,就如许做个记录,到此为止吧。

文中提及手艺细节,仅作交流,请勿用于非法活动!!

*

您可能还会对下面的文章感兴趣: