基于PerlDoS工具设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PerlDoS工具设计与实现

基于PerlDoS工具设计与实现   摘 要   本文设计并实现了一个基于Perl脚本语言的Dos攻击工具,利用半连接原理攻击WEB服务。本攻击工具分扫描模块和攻击模块,具有HTTP DoS,HTTPS DoS,Cache avoidance和HTTPReady Bypass攻击功能。充分利用系统的超线程性能和Perl脚本特性,代码量少,对Linux下的WEB服务攻击效果较好。   【关键词】Dos Perl 攻击 工具   在Linux下使用Perl脚本语言设计开发的DoS攻击工具,可以利用单一机器占用网络带宽很少的情况下对目标服务器的WEB服务发动攻击。它通过向目标服务器发送半HTTP连接来消耗服务器资源,且所需数据包相对于一般的洪泛式DoS攻击工具要少很多,所以具有一定的隐蔽性。目标服务器采用超线程技术则发动的攻击会更有效,因为随着攻击的进行服务器会限制它所允许的线程数,若攻击者的机器上也采用超线程则攻击效果会大大增强。   1 攻击原理   通过发送半连接(HTTP请求)来保持连接的畅通,并周期性发送HTTP Headers来避免套接口关闭来达到消耗目标主机资源,关闭WEB服务的目的。由于有效地将攻击连接伪装为合法连接从而躲过了侦测系统的防御。同时当攻击正在进行时,日志文件并不会被写入,直到连接请求完毕。所以攻击者能够使目标在一段时间内服务无法被访问,同时攻击行为不会被管理员发现。   2 主要模块划分   Perl脚本语言开发的DoS工具主要由两大部分组成,分别是扫描模块和攻击模块。扫描模块包括目标主机扫描模块,攻击主机扫描模块,目标主机连接超时时间测试扫描模块。攻击模块包括常规HTTP Dos攻击模块,HTTPS Dos攻击模块,HTTPReady Bypass模块, Cache avoidance模块。   2.1 扫描模块   2.1.1 目标主机扫描模块   探测目标主机的服务是否可用及是否采用超线程技术,通过向目标服务器发送合法请求来实现。   2.1.2 本地主机扫描模块   探测攻击者的主机是否采用超线程技术。由于超线程技术的特点,使得拥有超线程技术的攻击者的攻击效果会比未拥有的要好很多。   2.1.3 目标主机连接超时时间测试扫描模块   找出目标机器服务的连接超时时间,这个时间对于攻击来说至关重要,将攻击者发送的半连接超时时间设置得与被攻击者的越接近,攻击效果越好,但必须小于被攻击者的连接超时时间,否则攻击失效。   2.2 攻击模块   2.2.1 HTTP DoS攻击模块   通过向目标周期性地发送请求,导致目标服务器无法响应合法用户请求。攻击目标的超时时间越短它的资源被消耗得也越快。连接数与攻击目标的连接数越接近越好,因为这能减少的尝试次数以及相关的带宽。   2.2.2 HTTPS DoS攻击模块   实现方式与HTTP DoS攻击模块相似,不同之处在于本模块需要对数据通过协议加密后再发送。   2.2.3 HTTPReady Bypass模块   通过将发送的请求消息从GET改为POST来实现。这是在HTTP DoS失效的情况下使用,实现方法为把GET请求方法改为POST请求方法,这样就可以绕过HTTPReady的保护。   2.2.4 Cache avoidance模块   本通过改变请求消息头使得目标服务器的溢出,从而拒绝服务。   3 难点实现   3.1 扫描模块   本工具的扫描模块分为目标主机扫描模块,攻击者主机扫描模块,目标主机连接时间扫描模块。   3.1.1 攻击主机扫描模块   此模块的主要任务是通过调用Config模块来检测主机是否使用超线程技术,代码为:   $Config{usethreads}   如果使用则执行代码:   $usemultithreading = 1;   use threads;   use threads::shared;   攻击者的主机是否采用采用超线程技术对于攻击效果而言影响比较大,因为攻击原理是向目标主机发送半HTTP Request请求从而导致目标主机拒绝服务,所以攻击连接数对攻击效果的影响至关重要,连接数越多攻击效果越好,所以拥有超线程技术的主机才产生的攻击效果会更好。   3.1.2 目标主机扫描模块   此模块的主要任务是检测目标主机的HTTP服务是否可用,具体方法为向服务器发送一个合法的GET请求消息:   if ($cache) {   $rand = ? . int( rand(99999999999999) );   }else {   $rand = ;   }   my $primarypayload =   GET /$

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档