在完成了在High上的OS命令注入级别之后,我正在研究更深一点的内容,这样我就可以编写它了。虽然该解决方案在web应用程序上工作,但linux终端上的命令错误似乎是相同的。
高级DVWA命令
127.0.0.1| |cat /etc/passwd这个很管用。不输出ping结果,而是打印/etc/passwd的内容。
如果我在我的linux终端上使用完全相同的命令,它就会出错。用来模拟web应用程序的代码
ping -c 3 127.0.0.1| |cat /etc/passwd我收到错误
bash: syntax error near unexpected token `|'如果删除空格,则命令将按预期的方式工作。我无法解释为什么shell_exec PHP命令将命令传递给操作系统,操作系统运行它并显示结果,但是直接的方法错误。从技术上讲,DVWA命令不应该工作?
发布于 2017-01-27 09:50:50
这是由故意出错的黑名单造成的。管道后面的空格被替换为空字符串。第二个管道后面紧跟着一个c,因此与黑名单不匹配,因此滑过。第一个管道和空间是多余的。ip_
https://security.stackexchange.com/questions/149508
复制相似问题