DVWA 命令注入(Command Injection)全级别通关

low

直接与上net user 即可查看账户

当然也可以用别的dos命令来进行一番操作比如添加账户:127.0.0.1&&net user neww 123 /add 添加一个用户名为neww 密码为123的账户(其实从密码学的角度出发123只能称作口令,不能称作密码,当然,目前这都不重要)

删除账户127.0.0.1 && net user neww /delete 删除名为neww的账户。

另外说明一下,dos中&&的执行情况为从前向后执行,如果遇到错误,则后面所有命令不再执行,这其实和c c++ Java一样。如果你的本网页显示的事乱码,可以用chrome的插件修改编码,插件如下,自行搜索。

medium

在这里上一步的方法不再管用了,因为代码里加了黑名单,对某些字符进行了过滤

黑名单不靠谱,大多数情况下还不如白名单,不过白名单也不见得靠谱,这个待会再说。这里对&&和;进行了替换,还替换成的是空字符,所以可以用ip &;&巧妙绕过,因为代码自己去掉了中间的分号,合成了一个&&。

除此之外呢,还可以用一个&做。&&和&的区别在于,&会把前后的语句从前到尾执行完毕,而&&遇错就打住了。

high

这里是把黑名单做了进一步的完善,但是呢,依然可以绕过,比如第三个'| ',注意后面有一个空格,它是对加了空格的进行了替换,而不是|符号,所以可以利用此直接绕过

impossible

Impossible级别的代码加入了Anti-CSRF token,同时对参数ip进行了严格的限制,只有诸如“数字.数字.数字.数字”的输入才会被接收执行,因此不存在命令注入漏洞。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容