zoukankan      html  css  js  c++  java
  • 安全测试

    十大渗透测试演练系统

    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目录]htdocsdvwaconfigconfig.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
  • 相关阅读:
    正则表达式周二挑战赛 第七周
    [译]视区百分比,canvas.toBlob()以及WebRTC
    [译]因扩展Object.prototype而引发Object.defineProperty不可用的一个问题
    [译]JavaScript需要类吗?
    [译]JavaScript中几种愚蠢的写法
    [译]JavaScript中对象的属性
    JavaScript:数组的length属性
    [译]JavaScript中的变量声明:你可以打破的三条规则
    [译]ES6:JavaScript中将会有的几个新东西
    [译]ECMAScript 6中的集合类型,第三部分:WeakMap
  • 原文地址:https://www.cnblogs.com/tester-l/p/9673860.html
Copyright © 2011-2022 走看看