网站大量收购独家精品文档,联系QQ:2885784924

《Python安全实践——PythonHacking》课件_第8章.pptx

《Python安全实践——PythonHacking》课件_第8章.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第八章Python漏洞挖掘和利用;

8.1漏洞简介

;;

8.2Python模糊测试

;

1.模糊测试方法

模糊测试需要往目标软件或者系统输入的数据可以通过两种方法来产生:基于变异的和基于生成的。

(1)基于变异的模糊测试方法,是指对已有数据样本应用变异技术来创建测试用例的方法。

(2)基于生成的模糊测试方法,是指通过对目标协议或文件格式建模的方法从零开始产生测试用例。

;

2.模糊测试的过程

模糊测试方法的选择需要依赖于目标应用程序、研究者的技能,以及需要测试的数据所采用的格式等多种不同的因素,没有一种“绝对正确”的模糊测试方法。但不论采用哪种模糊测试方法,模糊测试总要经历以下几个阶段,如图8-1所示。

;;

(1)识别目标。通常目标应用程序拥有多个功能模块和多种调用接口,需要详尽分析模块接口和外部接口,才能有效选择模糊测试工具或技术。选择目标应用程序后,还必须选择应用程序中具有的目标文件或库。

(2)识别输入。几乎所有可被用户利用的漏洞都是因为应用程序接受了用户的输入,并且在处理数据时没有过滤非法数据或执行确认例程,因此对用户的输入进行模糊测试非常重要。

;

(3)生成模糊测试数据。一旦识别出输入数据,就能进行模糊测试了。如何使用预定的值,如何变异已有的数据或动态生成数据,这些决策将取决于目标应用程序及其数据格式。不管选择了哪种方法,这个过程中都应该采用自动化测试方法。

(4)执行模糊测试数据:与(3)同时进行,执行过程可能包括发送数据包给目标应用程序,打开一个文件或发起一个目标进程。同样,这一步也需要引入自动化测试方法。

;

(5)监视异常。在模糊测试过程中,对异常的监视至关重要。监视异常可以采用多种形式,并且应该不依赖目标应用程序和所选择的模糊测试类型。

(6)确定可利用性。一旦安全漏洞被发现,因审核目标的不同,还可能需要确定该漏洞是否可以进一步被利用。这是一个典型的人工分析过程,需要具备安全领域的专业知识,因此这个过程??以由其他人员完成,而不是最初执行模糊测试的人员。

;

3.模糊测试工具

WebFuzzer:是一个Web应用程序的模糊测试器,用于检查远程漏洞,如SQL注入、跨站脚本、远程代码执行、文件泄露、目录遍历、PHP文件包含、shell转义等。

SNMPFuzzer:是针对网络管理协议的模糊测试工具,由Perl语言编写,拥有全新的协议测试用例产生引擎,提供测试案例和响应故障的有效对应方法,以及更多的测试粒度和更友好的用户界面。

;

FTPFuzzer:是一个简单的基于GUI的文件传输协议模糊测试器,用于测试FTP服务器的实现。它允许用户指定FTP命令、参数以及字符串的模式来进行模糊测试。

Fuzzball2:是TCP和IP协议的模糊测试器,它会向目标主机发送一串伪造的数据包。;

8.2.2FTP服务模糊测试

1.?FTP协议

1)?FTP协议简介

FTP协议是因特网中使用最广泛的文件传输协议,它是TCP/IP模型中的应用层协议。FTP协议工作在面向连接的、可靠的传输层协议(TCP)之上,为数据传输提供可靠性保证。FTP协议包括两个组成部分:FTP服务端和FTP客户端。其中FTP服务端用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务端上的资源。

;

FTP协议在实现文件传输时会建立两条连接:一条连接用于命令控制;另一条连接用于数据传输。FTP协议将命令和数据分开传送的方法提高了传输效率。

默认情况下FTP协议使用TCP端口中的20和21两个端口,其中20端口用于传输数据,21端口用于传输控制信息。但是,是否使用20端口作为传输数据的端口,与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20端口;如果采用被动模式,则具体使用哪个端口需要服务端和客户端协商决定。

;

2)?FTP协议工作模式

FTP协议的工作模式有主动模式和被动模式。主动模式下,客户端随机打开一个大于1024的端口N向服务端的命令端口(21端口)发起连接,同时开放N+1端口进行监听,并向服务端发出“PORTN+1”命令,由服务端从它自己的数据端口(20端口)主动连接到客户端指定的数据端口(N+1)。FTP的客户端只是告诉服务端自己的端口号,让服务端来连接客户端指定的端口。对于客户端的防火墙来说,这是由外到内的连接,该连接可能会被客户端的防火墙阻塞。

;

为了解决服务端主动发起客户端的连接阻塞问题,有了另一种FTP连接方式,即被动模式。命令连接和数据连接都由客户端发起,这样就解决了从服务端到客户端的数据端口的连接被防火墙过滤的问题。被动模式下,客户端打开

文档评论(0)

kd8w + 关注
实名认证
内容提供者

kd8w

1亿VIP精品文档

相关文档