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. J-link烧写brjtag工具

    J-Link用的山寨货,不知道山寨了几代的那种....用的STM32F103C8T6的小板也是山寨了好几代那种,才25块钱...好在能用,J-Link用segger公司的软件能识别,也能找到CPU,板 ...

  2. [IOS 静态库]

    http://www.2cto.com/kf/201402/276718.html 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷 ...

  3. python 集合、函数和文件操作

    1.set集合 set集合是一个无序.不可重复.可嵌套的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不 ...

  4. Linux 中 17 个 tar 命令实用示例

    Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)是类 Unix 系统中使用最广泛的命令,用于归 ...

  5. 理解Docker单机容器网络

    在” 理解Docker单机容器网络 “一文中,还有一个Docker容器网络的功能尚未提及,那就是Docker容器的端口映射.即将容器的服务端口P’ 绑定到宿主机的端口P上,最终达到一种效果:外部程序通 ...

  6. 【原】ajaxupload.js上传报错处理方法

    相信大家在工作中经常用到文件上传的操作,因为我是搞前端的,所以这里主要是介绍ajax在前端中的操作.代码我省略的比较多,直接拿js那里的 $.ajaxFileUpload({ url:'www.cod ...

  7. python学习笔记-(二)python入门

    1.第一个python程序 1.1 直接打印输出 打开cmd,输入python进入到python交互式环境:(看到>>>是在Python交互式环境下:) 在python交互环境下输入 ...

  8. Java——列表框:JList

    import java.awt.Container; import java.awt.GridLayout; import java.awt.event.WindowAdapter; import j ...

  9. MySQL学习笔记——索引和视图

    索引(index)和管理索引 模式中的一个数据库对象 作用:在数据库中用来加速对表的查询 创建:自动在主键和唯一键上面创建索引 通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O 与表独立存放, ...

  10. 第4章 jQuery的事件和动画(二)

    二. jQuery中的动画 动画在前面几章案例中是回避不了的问题.此处结合一些简便的写法稍作系统的分析. 1. show()和hide()(1)介绍——不用过多的介绍了jQuery最基本的方法.本质是 ...