DVWA - 命令注入(高级)

信息安全 php 注射 dvwa
2021-08-14 04:57:26

我正在尝试使用 DVWA 进一步了解网络证券。我被命令注入难住了,在高层次上

帮助说明

开发人员要么在过滤器上犯了一个小错误,并相信某个 PHP 命令将使他们免于这个错误。

剧透: trim() removes all leading & trailing spaces, right?.

它们在此处无法正确呈现,但在 trim() 和 removes 之间有三个制表符空格。话虽如此, trim() 函数删除了制表符空格。尽管 (\xA0) 显然它确实与不间断空格作斗争。我对命令行不是很熟悉,但从源代码中注意到,我尝试注入的所有符号都被替换为 PHP,然后你才能让它们做任何事情。

请注意 - 网络上以前的消息来源说这个级别是无法破解的,但我使用的是 v1.9,发布于 2015 年 10 月 5 日,更改日志指出

将“高”级别重命名为“不可能”并为“高”创建新向量。

所以有效地这是一个新的挑战。

我在 Windows 上运行,请记住这会影响命令语法等。其他(较旧的)答案指向使用命名管道(FIFO),这在 *nix 系统上显然更容易。

1个回答

这意味着trim()不会删除内部空间。例如,它不会使命令pwd && ls变为pwd&&ls. 使用此提示,并查看不完善的黑名单,您应该能够识别出黑名单中的弱点。

提示:黑名单中的最后一项是线索。