Brauche dringend hilfe in PHP

10/01/2012 23:17 Hiris#16
Warum schickstes nicht einfach an die php datei? also xxx.php
10/01/2012 23:26 cypherxxl#17
Quote:
Originally Posted by ..Zeus.. View Post
Stimmt. Das habe ich selber noch nicht gewusst, danke :) PHP_SELF bietet 'ne recht einfache Möglichkeit für XSS.

Hier mit SCRIPT_NAME anstatt von PHP_SELF:

Code:
<?php

function ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
	if(!isset($data) or empty($data)) return '';
	if(is_numeric($data)) return $data;
	$non_displayables = array(
		'/%0[0-8bcef]/',			// url encoded 00-08, 11, 12, 14, 15
		'/%1[0-9a-f]/',				// url encoded 16-31
		'/[\x00-\x08]/',			// 00-08
		'/\x0b/',					// 11
		'/\x0c/',					// 12
		'/[\x0e-\x1f]/'				// 14-31
	);
	foreach($non_displayables as $regex)
		$data = preg_replace($regex,'',$data);
		$data = str_replace("'","''",$data);
	return $data;
}

$dbhost = '127.0.0.1';
$dbuser = 'Shaiya';
$dbpass = 'Shaiya123';

mssql_connect($dbhost, $dbuser, $dbpass);
session_start();

if (isset($_SESSION['UserUID']))
	echo '<iframe src="http://wallapi.com/api/ps/?key=372f7c56b14a8d1920f2e07adff9aa62&uid&uid='.$_SESSION['UserUID'].'&widget=p1_1" " name="frame1" scrolling="auto" frameborder="no" align="center" height = "1200px" width = "100%"></iframe>';
else if (isset($_POST['login'])) {
	$userid		= ms_escape($_POST['userid']);
	$password	= ms_escape($_POST['password']);
	
	$res = mssql_query("SELECT [UserUID], [UserID], [Point] FROM [PS_UserData].[dbo].[Users_Master] WHERE [UserID] = '".$userid."' AND [Pw] = '".$_POST['password']."'");
	if (mssql_num_rows($res) == 0){
		?>
		<h1>Login erforderlich!</h1>
		<br>
		<font color="red">Kein Benutzer gefunden.</font>
		<br>
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
			<table>
				<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
				<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
				<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
			</table>
		</form>
		<?php
		exit();
	}
	
	$useruid = mssql_fetch_array($res);
	$_SESSION['UserUID'] = $useruid[0];
	Header("Location: ".$_SERVER['SCRIPT_NAME']);	
} else {
	?>
	<h1>Login erforderlich!</h1>
	<br>
	<form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
		<table>
			<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
			<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
			<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
		</table>
	</form>
	<?php
}

?>
Danke mein freund, das ist genial!
Ich bin dir was schuldig, nenne mir bitte deine Skype ID damit ich dich entblocken kann.

Ps: Ist dieses Script sql injection geschützt?
10/02/2012 06:49 ..Zeus..#18
Quote:
Originally Posted by cypherxxl View Post
Danke mein freund, das ist genial!
Ich bin dir was schuldig, nenne mir bitte deine Skype ID damit ich dich entblocken kann.

Ps: Ist dieses Script sql injection geschützt?
Ja ist es :)

PS: blackpanther992 ;)
10/02/2012 09:32 cypherxxl#19
Der Thread kann geschlossen werden.

Ich bedanke mich recht herzlich bei allen die geholfen haben :)

Lieben Gruß.
10/03/2012 23:41 TechnoMan#20
Quote:
Originally Posted by Hiris View Post
PhP-Self ist soweit ich weiß eine große Sicherheitslücke, hat mir mal jemand gesagt, kann aber sein das ich mich täusche^^
Finde ich super dass du dir gemerkt hast was ich gesagt habe. :)
10/04/2012 15:49 Hiris#21
Quote:
Originally Posted by TechnoMan View Post
Finde ich super dass du dir gemerkt hast was ich gesagt habe. :)
Kenne ich sie?