本文来源:i春秋社区-分享你的技术,为安全加点温度
DVWA (Dam Vulnerable Web Application) DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。本次我们测试使用的是Version 1.9 (Release date: 2015-09-19)。
今天我们首先完成的是low,也就是最简单的,其后我们会不断提高难度完成所有难度的挑战。在挑战的过程中我们会分析程序的源代码,了解漏洞产生的原理及简单的修复方案。
安装完成后默认的登录信息为admin/password,安装过程不再讲述。登录后默认的等级为impossible,我们可以通过左侧菜单栏处内的DVWA Security进行设置,本次我们挑战的等级为LOW。
攻击模块1:Brute Force(暴力破解)
暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。(以上摘自百度百科)通过观察页面发现没有任何防治爆破的验证,所以我们可以通过burpsuite等工具进行枚举。
1. 我们首先配置好burpsuite的本地代理抓取登录表单信息。
2. 将表单进行提交到intruder模块,并将password设置为我们破解的payload。
3. 载入字典文件。
4. 开始枚举,得到密码。
注:关于BurpSuite的详细设置因为不是我们这次的重点,所以没有详细介绍。
扩展:
通过观察这个模块的源代码,我们发现这里还有一处可以利用的地方,代码如下
(文件地址:./DVWA/vulnerabilities/brute/source/low.php)
通过简单的分析代码可以看到,这是一个典型的万能密码(有关万能密码请移步:http://bbs.ichunqiu.com/thread-10851-1-1.html)漏洞,当我们输入【‘or 1=1 limit 1,1 -- 】即可绕过登录验证。
万能密码漏洞
/***************************************************
攻击模块2:Command Injection(命令注入)
命令注入攻击的常见模式为:仅仅需要输入数据的场合,却伴随着数据同时输入了恶意代码,而装载数据的系统对此并未设计良好的过滤过程,导致恶意代码也一并执行,最终导致信息泄露或者正常数据的破坏。(以上摘自百度百科)
命令连接符:
command1 && command2 先执行command1后执行command2
command1 | command2 只执行command2
command1 & command2 先执行command2后执行command1
以上三种连接符在windows和linux环境下都支持
如果程序没有进行过滤,那么我们就可以通过连接符执行多条系统命令。
通过连接符&&执行多条命令
修复建议:
过滤用户输入的数据,同时这种调用系统命令的模块能不能最好不用。
/***************************************************
攻击模块3:Cross Site Request Forgery(CSRF跨站脚本伪造)
..........................................................................................略;
点击这里查看全文:http://bbs.ichunqiu.com/thread-12228-1-1.html