7.17 DVWA的搭建及操作

1.搭建DVWA

下载phpStudy(http://phpstudy.php.cn/)
phpStudy是集成了Apache和MySql的集成环境,下载好安装phpStudy,
运行时若显示缺少VC运行库
32位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=5582
64位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=15336
安装好后运行127.0.0.1看是否可以出现界面(在浏览器上输入127.0.0.1,成功会显示“hello world”)
下载DVWA(http://www.dvwa.co.uk/)下载后解压,放到phpStudy的WWW目录之下。

然后配置一下相关文件首先最好先配置一下phpStudy的数据库密码
修改后将DVWA/confing下的config.inc.php.dist修改为
config.inc.php,找到其中的把原来的db_password改为刚设置的。

2.文件上传绕过

(1)使用Burpsuite:

1)先将木马的扩展名改成一个正常的图片扩展名,如jpg

2)上传时使用Burpsuite拦截数据包,将木马的扩展名改为原来的php,即可绕过客户端的验证。

(2)特殊文件名绕过

比如发送的http 包里把文件名改成test.asp. 或test.asp_(下划线为空格),这种命名方式在windows 系统里是不被允许的,所以需要在burp 之类里进行修改,然后绕过验证后,会被windows 系统自动去掉后面的点和空格,(Unix/Linux 系统没有这个特性。)将一句话木马的文件名【evil.php】,改成【evil.php.abc】(奇怪的不被解析的后缀名都行)。首先,服务器验证文件扩展名的时候,验证的是【.abc】,只要该扩展名符合服务器端黑白名单规则,即可上传。另外,当在浏览器端访问该文件时,Apache如果解析不了【.abc】扩展名,会向前寻找可解析的扩展名,即【.php】

(3)白名单绕过

在上传的时候,当文件系统读到【0x00】时,会认为文件已经结束。利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0x00上传截断漏洞。通过抓包截断将【evil.php.jpg】后面的一个【.】换成【0x00】。在上传的时候,当文件系统读到【0x00】时,会认为文件已经结束,从而将【evil.php.jpg】的内容写入到【evil.php】中,从而达到攻击的目的。

0x00的意思为16进制00,所以将对应的进制改成00(至于怎么找到对应代码,看右边对应代码,找到第几行,从左到右,每个字母对应一个代码),改完直接go,在/Upload/后面加一个空格,点开hex,将其对应的20改成00即可,可绕过后缀名的过滤,从而得到webshell。