DVWA靶场第一周内容
Command Injection
low
题目中,Enter an IP address 指让我们输入IP地址,所以我们首先会想到本机IP地址127.0.0.1。但输入后会发现出现乱码,所以我们要解决乱码问题。
首先,打开phpStudy\PHPTutorial\WWW\DVWA\dvwa\includes目录下的dvwaPage.ini.php文件,将文件中的utf-8全部替换为GBK,再次刷新网页,输入127.0.0.1&&dir,会发现无乱码,显示正常,本题结束。
& :前面一个命令无论是否执行,后面的命令都能执行,两个命令都执行。
&&:前面一个命令执行成功后,才能执行后面一个命令,两个命令都执行。
|:前面一个命令无论是否执行,后面的命令都能执行且只执行后面。
||:前面一个命令不能正常执行后,才能执行后面一个命令。
有乱码的版本
无乱码的最终界面
Medium
题目解法与low相似,但代码中告诉我们其会将我们输入的"&&“替换为“ ”,将”;“替换为” "。所以我们要输入127.0.0.1&dir,最终无乱码。
High
在高级的版本中,我们可以得知有更多的字符会被替换,所以我们要阅读。最终选择使用’|’连接符进行注入,输入命令:127.0.0.1 |dir。
XSS(Reflected)
low
打开此题,首先映入眼帘的是一个问句提示语加一个输入框:What’s your name?首先先随便输入一串字符123然后看着其反应,发现输入后,就可以看到下方红色字体Hello 123!并且url的name传参值就是我们输入的值123。
下一步,对URL中的name传入 xss代码
<script>alert(1)</script>
Medium
再次仿照上一题做法,发现无法达成目标。
<sc<script>ript>alert(1)</script> or
<scr<script>ipt>alert(1)</script>
观察源码,我们发现,输入“<scr/ipt> “后会将其替换为”",所以我们可以通过这一个规则将原先的代码转换为可以使用的。
对URL中的name传入 xss代码,此语言,对规则可以规避替换的结果。
High
再次使用 尝试,发现仍然是无法达成目标。我们可以再次分析源代码,发现上一题的方法也没有用,我们继续构造代码。
使用事件型XSS代码
<img src=1 οnerrοr=alert(1)>
<img%20src=1%20οnerrοr=alert(1)>
File Upload
Low
首先先要编写一个123.php文件,在文件中写入以下内容:
<?php phpinfo();?>
然后点击upload上方的选择文件选项,传入文件123.php,最后复制出现的地址并进行访问。