ip提取网站源码带后台-对自助提卡系统的一次代码审计

前言

我无意审核该网站。 如果不是太令人兴奋的话,我不会发布上面提到的黑匣子部分。 这个系统站点大家都知道,多说也没用。 这个程序是开源的,就像这个自助取卡系统一样。 相信你已经不再陌生了。 很多不法网站利用该平台提供卡密,相当于购买邀请码。 源码由小伙伴提供,采用php+mysql开发的24小时自动售卡平台。 这是无稽之谈。 无需多言。

相关环境

源代码信息:猜猜

漏洞类型:转发-用于注入

建立成功后,如下:

当你看到下面的页面时ip提取网站源码带后台,是否有一种似曾相识的感觉:

上图是安装后的主页,是Tika网络。 让我们继续吧!

这是主页文件。 进入时首先判断安装目录下的lock文件是否不存在,并判断是否有index.php文件。 如果满足上述条件,则跳转到安装目录下的index.php。 我们将跟进 install/index.html。 php 文件:

这里我们只看程序是否已经安装,是否有锁文件,如果step不等于5,则执行判断语句中的代码。 当然,如果头函数之后没有退出,就会存在重装漏洞。

接下来我们看一下index.php。 仅index.php 文件就使用了413 行代码。 代码不规范,我们先看看其他文件,再看看api.php文件:

很明显ip提取网站源码带后台,我们在这里看到了SQL注入。 首先判断设置$_POST["dh"]是否不为空,然后将参数拼接到SQL语句中。 看到这里,我们可以确定程序存在联合查询注入,但是 $config 是从哪里来的呢? 该文件不包含其他文件! ! ! 怎么办呢?那我们看看索引文件中是否包含api.php,然后搜索一下

可以看到第294行包含了api.php文件。我们构建它并将其放入sqlmap中进行使用。

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

这里可以看出,注入类型确实是联合查询。 我们来尝试看看这个Tika网络是否存在SQL注入。

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

我们尝试本地站点时没有问题。 为什么 Tika.com 上不存在这个问题? 显然这个网站可能已经升级或开发了。 我们再看看其他点,进入./pay/pay.php文件:

提取网站源代码_获取网站源码工具_ip提取网站源码带后台

代码太多就不一一贴图了。 主要构成漏洞的代码就在里面。 我们从第38行开始看一下。

这里,当判断$_GET["type"]等于delete时,执行第40-49行代码。 41 将获取到的IP拼接到sql语句中。 我们看一下IP功能:

这里可以看到程序获取的IP可以从客户端的头参数中获取,分别是HTTP_X_FORWARDED_FOR和HTTP_CLIENT_IP。 这个函数实际上只是获取外部传递过来的参数。 根本没有过滤。 我们这里可以看到嘿嘿,基本上去这个网站就搞定了,我们看一下,回到第41行,看下面的。 这里我们不应该进行SQL注入,因为查询出来的值随后会被拼接到下一条SQL语句中,从而导致返回值不准确。 使用该工具时很难判断。 我们跳出这里的判断,看第51-54行,判断参数_GET['money']_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

获取网站源码工具_提取网站源代码_ip提取网站源码带后台

接下来可以看到,获取到的IP又被拼接到了第67行的SQL语句中。我们把第67行下当前执行的SQL语句打印出来。

好了,现在我们打开burp抓包,然后伪造IP进行一系列的嘿嘿。 因为./pay/index.php包含pay.php,所以我们只注入index.php。

经常性的

访问:8081/pay/index.php?type=zfb&money=1&title=adssad&pwd=123,支付代码页:

可以看到这是一个非常正常的页面,打印了SQL语句。 我们捕获数据包:

正常页面:

错误页面:

提取网站源代码_ip提取网站源码带后台_获取网站源码工具

好吧,现在你看到了! 让我们将其放入 SQLmap 并运行它。 我们将这个数据包保存成文本,并标记注入位置:X-Forwarded-For。 这种注入还带有旁路waf功能,因为很多waf不会检测handle参数。

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

让我们测试该网站并访问:

您可以看到缺少“spid”参数。 我们添加它以继续访问。 该页面为支付宝扫码支付-RL论坛邀请码:

将这些数据放入文本中,然后进行测试:

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

成功发现网站漏洞,继续。

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

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

获取管理帐号和密码。 然后参观。

默认背景:

由于之前进去过一次,赔了一些钱,所以后台的名字也改了。

写在最后

我和建这个网站的人聊了一会儿,发现这个平台自去年11月建起以来,一年的利润就相当于一个普通人的工资。 为了养家糊口,冒这样的风险并不容易。 不要为了蝇头小利而碰运气。 只要保留这个记录就到此为止了。

文中提及的技术细节仅供交流,请勿用于非法活动! !