靶场连接
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
使用命令查找特殊文件
//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征
find ./ type f -name "*.jsp" -exec grep -l "exec(" {} \;
find ./ type f -name "*.php" -exec grep -l "eval(" {} \;
find ./ type f -name "*.asp" -exec grep -l "execute(" {} \;
find ./ type f -name "*.aspx" -exec grep -l "eval(" {} \;
、
//对于免杀Webshell,可以查看是否使用编码
find ./ type f -name "*.php" | xargs grep "base64_decode"
find ./ -type f -name "*.php" -exec grep -l "eval(" {} \;
依次查看文件最终在gz.php文件中获取flag
flag
flag{027ccd04-5065-48b6-a32d-77c704a5e26d}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
会话初始化和环境伪装
@session_start();
@set_time_limit(0);
@error_reporting(0);
**@session_start()**:通过会话(Session)存储加密后的Payload,实现跨请求的持久化攻击。
**@set_time_limit(0)**:取消脚本执行时间限制,确保长时间驻留。
**@error_reporting(0)**:禁用错误报告,避免暴露异常信息,增强隐蔽性。
动态Payload加载机制
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
**硬编码密钥 $key**:哥斯拉默认使用固定密钥(如3c6e0b8a9c15224a)进行流量加密。
**原始输入流 php://input**:直接读取HTTP请求体(而非$_POST),规避常规WAF检测。
Payload分阶段传输:
首次请求包含getBasicsInfo标记时,将加密的Payload存入$_SESSION(用于后续攻击)。
后续请求通过eval($payload)动态执行Session中的恶意代码。
据此推断出该webshell特征属于哥斯拉
https://github.com/BeichenDream/Godzilla
flag
flag{39392DE3218C333F794BEFEF07AC9257}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
查找隐藏shell使用命令ls -al
找到疑似文件查看文件内容,确定隐藏文件路径
/var/www/html/include/Db/.Mysqli.php
flag
flag{aebac0e58cd6c5fad1695ee4d1ac1919}
4.黑客免杀马完整路径 md5 flag{md5}
将access.log文件放入kali分析
提取日志中的url文件
awk '{print $7}' access.log | grep '\.php' | sed 's/.*\///; s/?.*//' | sort | uniq -c | sort -nr
提取文件路径
awk '{print $7}' access.log | grep '\.php'
逐个查找文件定位到免杀马
免杀技术 | 应用方式 | 目的 |
Base64编码 | 对 参数进行Base64解码 | 隐藏原始恶意指令,避免明文传输被WAF或IDS规则直接匹配。 |
异或(XOR)加密 | 用密钥 对解码后的字符串进行循环异或运算 | 进一步加密真实载荷,改变代码特征,破坏静态特征码。 |
动态函数名构造 | 拼接字符串 (如拼接 得到 ) | 避免敏感函数名(如 , )直接出现在代码中,规避关键字检测。 |
flag
flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}