00x01
Statement:
Team:即刻安全 www.secist.com
Author:Szrzvdny
table of Contents:
1:隐藏在黑页下的大马 #(One)
2:隐藏在404下的大马
3:插入后门并且写入收信api.php
00x02(Start)
试问,在一个华丽的php文件下面你可有想过是一个邪恶的php大马呢?
So,让我们开始手动制作,首先我们需要了解php中的curl函数。
Curl函数能实现的功能分别有:
1、实现远程获取和采集内容
2、实现PHP 网页版的FTP上传下载
3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies
4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。
5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。
我们所需要做的就是远程获取和采集内容并且让他呈现出来。
一个例子:
<?php /* 我是一个可爱的例子。 */ $ch = curl_init(); //初始化函数 $timeout = 5; //设置超时 curl_setopt ($ch, CURLOPT_URL, 'https://www.inksec.cn/Secist_Script/'); //设置你所需要抓取的URL(其中url地址是我存放html的地方) curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); /*设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中 假设上面的0换成1的话,那么接下来的$data就需要echo一下。*/ curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); //运行curl,请求网页。 curl_close($ch); //最后关闭curl_close(); echo $file_contents; //输出获取到的网页 ?>
效果:
Ok,远程获取到的html完美呈现出来,那么接下来就是加入大马中了。
首先看看这个大马的原版本验证
首先从http头里面获user_agent然后加上字符串MHTdbpOesy进行加密在判断加密结果是否等于8dbedf9bcae10bf7d70fff1b1fd691d1,当然,梗来了。
你可以发现在headers找不到HTTP_BGROTNYSPXPD,经过一系列的蛋疼操作过后才发现是自己构造的。
So,你以为梗就这个?||符号中起到了一个让人错乱的效果。并不能满足一个验证就可以进入大马,而是需要两个...这里我有个疑问,为什么会这样,有大佬知道的话希望指点。
Ok,那么我们只需要将上方的代码插入到这个验证里面即可。
其中的exit()作用是没通过验证直接结束php脚本,不会执行到下面的代码块,验证通过即可跳过这段代码块执行到下面代码块。
#测试一下:
使用live http headers插件重放一下
OK,完美进入大马。
因为时间问题,整篇文章拆开来写。
第一部分结束。