DVWA是一个学习Web漏洞的很好的工具。
DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/content/13/0614/22/11029609_292922372.shtml
下载地址:http://www.dvwa.co.uk/
安装教程:http://www.cnblogs.com/yaochc/p/5049832.html
声明:下面的示例都是在DVWA Security为Low时发生的。
1 Brute Force
暴力破解,由于用户名和密码比较简单,又没有验证码,因此很容易被暴力破解,暴力破解工具有WebCruiser/Bruter/burpsuite(收费,免费版里没有这个功能)
WebCruiser,先请求然后被他拦截后,执行resend,然后利用bruter进行破解。
Bruter,直接进行暴力破解,当然需要配置一些参数。
burpsuite,利用burpsuite的intrude可以执行暴力破解。
经暴力破解后得到的密码是admin/password,跟DVWA的登陆密码是一样的。
界面如下:
登陆的界面如下:
2 Command injection
命令注入或命令执行漏洞,原本系统要执行ping ip的命令,
如果输入的值不是一个简单的IP,而是127.0.0.1&&net user,那么可以看到返回值里就把系统的用户名拿到了,如果执行的是其他命令呢,可想而知后果(忽略一堆乱码)。
还可以注意ping http://www.baidu.com.cn || net user的写法,这句话的意思是如果||的前面命令执行失败则执行||后面的命令。
3 CSRF
Cross-Site Request Forgery,跨站请求伪造,也称为One Click Attack,或者Session Riding。
是一种对网站的恶意利用。CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
XSS与之相反,XSS利用站点内的信任用户进行攻击。
举个例子
下面这幅图片应该比较形象了,用户浏览器在不知情的情况下访问了A网站。并且A网站是可以正常访问的,因为Cookie并没有失效。
再举个实际中可能发生的例子
一个网站用户Bob可能正在浏览聊天论坛,而同时另一个用户Alice也在此论坛中,并且后者刚刚发布了一个具有Bob银行链接的图片消息。设想一下,Alice编写了一个在Bob的银行站点上进行取款的form提交的链接,并将此链接作为图片tag。如果Bob的银行在cookie中保存他的授权信息,并且此cookie没有过期,那么当Bob的浏览器尝试装载图片时将提交这个取款form和他的cookie,这样在没经Bob同意的情况下便授权了这次事务。
这个例子是上面的英文版描述。改变配置、强制提交信息、取消会员等危害。
CSRF是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)
CSRF攻击依赖下面的假定:1 攻击者了解受害者所在的站点2 攻击者的目标站点具有持久化授权cookie或者受害者具有当前会话cookie3 目标站点没有对用户在网站行为的第二授权
3 CSRF
3.1 安全级别为低
可以看到没有要求输入原密码,只要新密码是一致的就可以修改密码,这很不安全,当然现实中很少有这么傻的。
3.2 安全级别为中
界面同安全级别为低时,依然只要求输入新密码。
增加了判断SERVER_NAME和HTTP_REFERER,有个毛线用,依然可以轻松修改。干嘛要判断这两个值相等呢?
3.3 安全级别为高
界面同安全级别为低时,依然只要求输入新密码。
首先判断请求中的user_token和Session中的session_token是否有值,依然没毛线用,依然可以轻松修改,干嘛要判断这两个值相等呢?
3.4 安全级别为不可攻破时
首先判断老密码,这就没辙了。
4 File Inclusion
一些Web站点允许用户输入时指定文件流或允许用户上传文件到服务器。一段时间后web程序访问用户提供的文件。这样,web程序就会执行恶意程序。
如果文件在本地叫做Local File Inclusion(LFI),文件在其他主机上的攻击叫做Remote File Inclusion(RFI)。
注意:file inclusion(文件包含)与arbitrary file access(任务文件访问)或file disclosure(文件泄露)不同。
low
5 File Upload
文件上传对web程序来说是一个重大的威胁,攻击的第一步就是将代码上传到攻击系统。然后黑客只需要找个合适的方式去执行代码。文件上传功能帮助攻击者实现了第一步。
上传未受限的文件造成的结果是多样的,包括掌握系统、使文件系统超过负荷、攻击后端系统、简单的销毁数据等。这取决于程序对文件的操作和文件是如何存储的。
6 Insecure CAPTCHA
7 SQL Injection
SQL注入攻击,从客户端输入一个SQL查询到程序,成功的利用SQL注入可以从数据库中读敏感数据,更改数据库,执行数据库的管理员权限。
8 SQL Injection(Blind)
9 XSS(Reflected)
10 XSS(Stored)
文中的描述都是来自:http://wenku.it168.com/d_001292817.shtml