安全测试

十大渗透测试演练系统

DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。链接地址:http://www.dvwa.co.uk 

 

mutillidaemutillidae是一个免费,开源的Web应用程序,提供专门被允许的安全测试和入侵的Web应用程序。它是由Adrian “Irongeek” Crenshaw和Jeremy “webpwnized” Druin.开发的一款自由和开放源码的Web应用程序。其中包含了丰富的渗透测试项目,如SQL注入、跨站脚本、clickjacking、本地文件包含、远程代码执行等.链接地址:http://sourceforge.net/projects/mutillidae 

 

SQLolSQLol是一个可配置得SQL注入测试平台,它包含了一系列的挑战任务,让你在挑战中测试和学习SQL注入语句。此程序在Austin黑客会议上由Spider Labs发布。链接地址:https://github.com/SpiderLabs/SQLol

 

hackxorhackxor是由albino开发的一个online黑客游戏,亦可以下载安装完整版进行部署,包括常见的WEB漏洞演练。包含常见的漏洞XSS、CSRF、SQL注入、RCE等。 链接地址:http://sourceforge.net/projects/hackxor 

 

BodgeItBodgeIt是一个Java编写的脆弱性WEB程序。他包含了XSS、SQL注入、调试代码、CSRF、不安全的对象应用以及程序逻辑上面的一些问题。 链接地址:http://code.google.com/p/bodgeit

 

Exploit KB / exploit.co.il该程序包含了各种存在漏洞的WEB应用,可以测试各种SQL注入漏洞。此应用程序还包含在BT5里面。 

链接地址:http://exploit.co.il/projects/vuln-web-app

 

WackoPickoWackoPicko是由Adam Doupé.发布的一个脆弱的Web应用程序,用于测试Web应用程序漏洞扫描工具。它包含了命令行注射、sessionid问题、文件包含、参数篡改、sql注入、xss、flash form反射性xss、弱口令扫描等。 链接地址:https://github.com/adamdoupe/WackoPicko 

 

WebGoatWebGoat是由著名的OWASP负责维护的一个漏洞百出的J2EE Web应用程序,这些漏洞并非程序中的bug,而是故意设计用来讲授Web应用程序安全课程的。这个应用程序提供了一个逼真的教学环境,为用户完成课程提供了有关的线索。 链接地址:http://code.google.com/p/webgoat

 

OWASP HackademicOWASP Hackademic 是由OWASP开发的一个项目,你可以用它来测试各种攻击手法,目前包含了10个有问题的WEB应用程序。链接地址:https://code.google.com/p/owasp-hackademic-challenges

 

XSSeducationXSSeducation是由AJ00200开发的一套专门测试跨站的程序。里面包含了各种场景的测试。 

链接地址: http://wiki.aj00200.org/wiki/XSSeducation

 

 

搭建安全测试环境(DVWA)

DVWA 全名叫Damn Vulnerable Web Application,是一个基于PHP/MYSQL的web应用。专门就是为了帮助安全测试人员去学习与测试工具用的。就是搞了一个应用,有各种各样的漏洞,专门让你用来联系安全测试的。简直太适合初学者了有没有。

下载

首先需要搭建PHP/MYSQL的环境,用xampp就好了,我是超链接

然后下载DVWA的应用包,点我

因为这个应用充满了各种漏洞,不要在本机上直接安装,否则你的电脑可能被黑。用虚拟机。

安装

  1. 在虚拟机里,解压xampp并安装,非常简单,装好直接就打开了主面板。
  2. 解压dvwa,改名为dvwa并放在:“[xampp安装目录]\htdocs\”目录下
  3. 修改“[xampp目录]\htdocs\dvwa\config\config.inc.php”里面连接MySQL数据库的密码、端口(xampp默认MySQL用户名密码是root/root,默认端口是3306) 
    修改dvwa的MySQL配置
  4. 启动xampp的Apache和MySQL服务
  5. 获取虚拟机IP,并通过“http://[虚拟机IP]:80/dvwa”进入dvwa的安装界面
  6. 点击【Create / Reset Database】创建dvwa数据库。创建成功后会自动跳转到登录页面。 
    创建dvwa数据库
  7. 默认登录账号密码见上图,是【admin/password】登录。
  8. 登录后可见到界面如下图所示,左侧列表列出了dvwa所支持的漏洞种类,共10种,【DVWA Security】中可以设置dvwa的漏洞级别,有【Low、Medium、High、Impossible】四个级别。 
    漏洞类型和级别
  9. 到这里dvwa就已经装好了,可以用它来练习了。

漏洞类型

DVWA一共支持10种漏洞类型,包括:

  • Brute Force(暴力破解)
  • Command Injection(命令行注入)
  • CSRF(跨站请求伪造)
  • File Inclusion(文件包含)
  • File Upload(文件上传)
  • Insecure CAPTCHA(不安全的验证码)
  • SQL Injection(SQL注入)
  • SQL Injection(Blind)(SQL盲注)
  • XSS(Reflected)(反射型跨站脚本)
  • XSS(Stored)(存储型跨站脚本)

漏洞级别

DVWA可以设置漏洞的级别,一共有四种:

  • Low (这个级别的漏洞没有做任何安全方面的措施)
  • Medium (这个级别做了一点简单的安全防护,但是不够严格)
  • High (这个级别比Medium要高,做了不错的安全防护,但也还是有漏洞可钻)
  • Impossible (这个级别的安全措施就严格多了,基本上你是会被堵死了,这个级别一般可以给开发人员用来对比自己的代码来学习,看看人是怎么防护这种漏洞的)

 

 

 

 

Burp Suite

一 Burp 是什么

学习一款工具的第一步就是搞清楚它是什么,是做什么的?

Burp 是一款安全领域非常重要的工具(或者说是平台),它用于攻击Web应用程序。

Burp里面包含一些工具,这些工具都基于Burp的一个能处理并显示HTTP消息的框架。

Web应用程序 我们很常见,所有网页所在的服务端都可以说是一个Web应用程序。简要说来它的架构都是浏览器-服务器端形式,浏览器向服务器发送HTTP请求,服务器处理后返回HTTP信息给浏览器。

浏览器服务器

而Burp就是在中间插了一脚,使其变为了下图这样:

浏览器Burp服务器

所有的请求与响应都需要通过Burp,这就使我们有机会修改HTTP请求与响应,实现对Web应用的攻击。

二 Burp 的部署

Burp在网上有很多下载地址,分为免费版(下载链接)与专业版,免费版有很多限制,部分功能不可用;专业版在网上也有破解版,大家可自行百度下载。

Burp的部署非常简单,只需要有JAVA环境就可以了。Burp就是一个jar包,配置好JAVA环境后,在cmd里执行

java -jar /your_burp_path/BurpSuite.jar
  • 1

就可以启动了。注:your_burp_path是你的jar包所在路径。

Burp默认分配64M内存,在我们进行渗透测试的时候可能不够用,可以为其分配更大的内存,如下:

java -jar -Xmx2048M /your_burp_path/BurpSuite.jar
  • 1

建议你建一个bat文件,内容为以上命令,这样每次直接双击bat就可以执行了。

三 Burp 的结构

我将Burp分为两部分,一部分是基础架构,它们为其他高级工具提供基本的功能,包括Target、Proxy以及Options;第二部分是高级工具,包括Spider、Scanner、Intruder、Repeater等更复杂的功能。如图:

Burp结构

其中最基本的一项功能模块即是Proxy 代理模块,正是这个模块让Burp插入到浏览器与服务器之间,使其成为相互沟通的传声筒,更为我们之后的各种扫描、攻击提供了基础。

 

 

Burp Suite Proxy与浏览器设置

一 Burp Proxy Listeners

Burp Proxy就是以拦截代理的方式,拦截所有通过代理的流量,通过拦截,我们可以对客户端请求、服务器返回信息进行各种处理。

当Burp启动后,打开“Proxy - Options”标签,可以看到监听器的设置。默认分配的代理地址和端口是127.0.0.1:8080,并且是启动了的,如下图:

Burp Options

二 IE浏览器设置

通过如下步骤完成IE浏览器设置。

  1. 启动IE浏览器
  2. 选择“设置 - Internet选项” 
    Internet选项
  3. 打开“连接 - 局域网设置”
  4. 勾选代理服务器并在地址中输入127.0.0.1,端口填写8080,点击“确定”,完成设置 
    IE代理服务器设置
  5. IE设置完成,访问http://burp,可以看到Burp的欢迎页面。

三 Firefox设置

  1. 打开“工具 - 选项” 
    firefox选项
  2. 在“高级 - 网络 - 连接 - 设置”中勾选“手动配置代理”并填写HTTP代理地址127.0.0.1,端口8080,“确定”保存修改。 
    firefox配置代理
  3. 配置完成,可访问http://burp。当然,你也可以添加管理代理服务器的扩展组件。

四 Chrome设置

  1. 打开Chrome“设置” 
    chrome设置
  2. 在“设置”最下方,点击“显示高级设置”
  3. 在“网络”标题下,点击“更改代理服务器设置”按钮 
    chrome更改代理服务器设置
  4. 弹出的“Internet属性”框与IE相同,见IE设置的第3、4步

Chrome用的IE的代理设置,那么可以预见的是只要改了Internet属性中的代理设置,那么IE浏览器与Chrome的请求都会通过这个代理来走;而Firefox不受影响,同样修改了Firefox的代理,那么IE和Chrome都是不会受影响的。

 

 

Burp Suite Intruder的4种攻击类型

一 Sniper(狙击手模式)

狙击手模式使用一组payload集合,它一次只使用一个payload位置,假设你标记了两个位置“A”和“B”,payload值为“1”和“2”,那么它攻击会形成以下组合(除原始数据外):

attack NO.location Alocation B
1 1 no replace
2 2 no replace
3 no replace 1
4 no replace 2

二 Battering ram(攻城锤模式)

攻城锤模式与狙击手模式类似的地方是,同样只使用一个payload集合,不同的地方在于每次攻击都是替换所有payload标记位置,而狙击手模式每次只能替换一个payload标记位置。

attack NO.location Alocation B
1 1 1
2 2 2

三 Pitchfork(草叉模式)

草叉模式允许使用多组payload组合,在每个标记位置上遍历所有payload组合,假设有两个位置“A”和“B”,payload组合1的值为“1”和“2”,payload组合2的值为“3”和“4”,则攻击模式如下:

attack NO.location Alocation B
1 1 3
2 2 4

四 Cluster bomb(集束炸弹模式)

集束炸弹模式跟草叉模式不同的地方在于,集束炸弹模式会对payload组进行笛卡尔积,还是上面的例子,如果用集束炸弹模式进行攻击,则除baseline请求外,会有四次请求:

 

attack NO.location Alocation B
1 1 3
2 1 4
3 2 3
4 2 4

 

用Burp Suite进行暴力破解

    1. 启动dvwa,如果不知道dvwa是啥的,请看一起学安全测试——自己搭建安全测试环境(DVWA)
    2. 启动Burp Suite,设置Burp的Proxy,同时设置浏览器代理,如果不知道怎么设置,请看一起学安全测试——Burp Suite Proxy与浏览器设置
    3. 设置好了代理,打开Burp-Proxy-Intercept,设置状态为【Intercept is on】 
      Intercept is on
    4. 在dvwa中,设置Security级别为【Low】 
      security low
    5. 打开【Brute Force】,输入Username/Password,点击【Login】
    6. 查看Intercept,将拦截到的请求,右键【Send to Intruder】 
      send to intruder
    7. 在Intruder-Position中设置,将自动设置的position【Clear】掉,然后在请求中username和password的地方点击【Add】添加position
    8. 设置攻击类型为【Cluster bomb】,因为这是要同时对username和password进行爆破,选择字典的笛卡尔积进行最大程度的爆破,关于攻击类型,请看一起学安全测试——Burp Suite Intruder的4种攻击类型。 
      intruder position
    9. 在Intruder-Payloads中设置攻击载荷,分别选择payload set 1/2,并添加username和password的载荷。 
      add payloads
    10. 点击menu中的【Intruder-Start attack】开始攻击。
    11. 在结果列表中,通过Length排序,选出长度与其他不同的一个,查看Response,可以看到“Welcome to the password protected area admin”的字段,证明这对载荷是正确的,爆破成功。 
      intruder success
    12. 在网页通过刚刚爆破得到的username/password登录,登录成功。 
      login success
posted @ 2019-08-10 05:13  liangww  阅读(717)  评论(0编辑  收藏  举报