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或者受害者具有当前会话cookie
3 目标站点没有对用户在网站行为的第二授权

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

黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习的更多相关文章

  1. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  2. 黑客攻防技术宝典web实战篇:核心防御机制习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注 ...

  3. 黑客攻防技术宝典Web实战篇(二)工具篇

    扫描工具.中间攻击工具.加密解密工具等. 1 TM Thread Module 2 burpsuite 代理.中间攻击.repeatur.spider.暴力破解(intrude).加密.解密.扫描器 ...

  4. 黑客攻防技术宝典web实战篇:攻击本地编译型应用程序习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者利用? 利用基于栈的溢出 ...

  5. 黑客攻防技术宝典Web实战篇(三)web攻击方式总结

    web攻击的手段无非就是使服务器资源耗尽,使服务器无法接收正常请求. 一.DDos攻击 二.DRDos攻击 三.慢攻击 与Ddos攻击相反,慢攻击并不是以多取胜,而是靠保持连接.

  6. 黑客攻防技术宝典Web实战篇(一)Web应用程序技术基础

    在开展Web应用程序渗透测试之前请先了解下面列出的这些内容,如果不是很懂的话,请读David Gourley & Brian Totty的HTTP权威指南也叫HTTP:The Definiti ...

  7. 黑客攻防技术宝典web实战篇:攻击应用程序架构习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一 ...

  8. 黑客攻防技术宝典web实战篇:攻击其他用户习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应 ...

  9. 黑客攻防技术宝典web实战篇:解析应用程序习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当解析一个应用程序时,会遇到以下 URL:https://wahh-app.com/Coo ...

随机推荐

  1. 使用reids结合wcf实现集群模式下的聊天室功能

    1.reids的特点 Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型(字符串,哈希,列表,集合,有序集合),. Redis可以将数据复 ...

  2. ZendGuardLoader安装

    遇到的问题 php -v Zend Guard Loader requires Zend Engine API version 220090626. The Zend Engine API versi ...

  3. 洛谷P1410 子序列

    题目描述 给定一个长度为N(N为偶数)的序列,问能否将其划分为两个长度为N/2的严格递增子序列, 输入输出格式 输入格式: 若干行,每行表示一组数据.对于每组数据,首先输入一个整数N,表示序列的长度. ...

  4. kickstart note

    KickStart是一种无人职守安装方式 PXE + kickstart + DHCP + TFTP 1.挂载光盘 mount /dev/sr0 /mnt/iso cp -rf /mnt/iso/*  ...

  5. [iOS Keychain本地长期键值存储]

    目前本地存储方式大致有:Sqlite,Coredata,NSUserdefaults.但他们都是在删除APP后就会被删除,如果长期使用存储,可以使用Keychain钥匙串来实现. CHKeychain ...

  6. SQL 命令

    登录系统: mysql -u user_name -p 查看当前用户列表:select user; 查看数据库列表: show databases 进入某数据库: use db_name; 查看某数据 ...

  7. 第六次作业——利用MFC实现计算器图形界面以及简单四则运算表达式批处理

    参考资料:      1.MFC响应键盘      2.计算器实例      3.MFC文件对话框      4.MFCUpdateData()函数的使用      5.MFC教程      6.wi ...

  8. UOJ#246. 【UER #7】套路

    题目传送门 官方题解传送门 一句话题意的话就是给定一个序列,从中找出至少$k$个连续的元素形成子序列,使得子序列中任意两个元素差值的最小值于其长度-1的乘积最大. 题目中给出了$ 1 \leq a_i ...

  9. PHP 数据库抽象层pdo

    PDO是PHP数据对象(PHP Data Object)的缩写. pdo就是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得数据库 ...

  10. PHP 基本语法,字符串处理,正则

    <?php //注释语法 /*多行注释*/  输出语法 Echo "hello","worle";         //可以输出多个字符串 Print   ...