命令注入点:
参数r可以注入Linux命令。上述链接是我将hostname通过curl打回web server。

可以看到,pwd = /var/www/ldd/d
在我的VPS上启动一个web server:
然后在漏洞站点上执行:
使用curl把命令执行结果打回www.lijiejie.com:52016,印象中早期URL的长度限制是4096,差不多够我们用了。不过要注意的是,一些特殊字符必须编码之后才可以出现在参数中,比如换行\n,空格符这类。所以必须编码之后再附加到参数中。我们使用base64来编码。然而base64编码之后是有换行的,所以,我们还必须把base64命令输出的编码结果中的\n替换掉,我这里使用自己常用的“^”符号。执行一个命令的链接是:
以上我们执行了ls /var/www/ldd -l,并把执行结果打回来,web server收到:
将参数ls_command base64decode之后,得到:
我找到了一个可写的目录:
写了个webshell:

可以访问oa.sohu-inc.com: