|
You last visited: Today at 00:49
Advertisement
Injektion sicheres Registerscript
Discussion on Injektion sicheres Registerscript within the Flyff Private Server forum part of the Flyff category.
04/25/2011, 00:29
|
#1
|
elite*gold: 0
Join Date: May 2009
Posts: 129
Received Thanks: 29
|
Injektion sicheres Registerscript
Streberteil
So das Script ist mit htmlspecialchars(stripslashes()) ausgestattet und sollte gehen
register.php
Code:
<h3 class="title"></h3>
<div id="text">
<?php
function exist($account){
$sql = "SELECT * FROM ACCOUNT_TBL WHERE account='".$account."'";
$result = mssql_query($sql);
if(!$result) {
die("MSSQL Error");
}
$check = mssql_num_rows($result);
return $check;
}
if(isset($_POST['submit']))
{
$server = "PROGRAMMING-PC\SQLExpress";
$user = "sa";
$pass = "Zkowcvrzhtq5";
$salt = "kikugalanet";
[COLOR="Red"] $username = htmlspecialchars(stripslashes($_POST['username']));
$password = htmlspecialchars(stripslashes($_POST['password']));
$password2 = htmlspecialchars(stripslashes($_POST['password2']));
$ip = trim(htmlspecialchars($_POST['ip']));[/COLOR]
################################################## ###########
[COLOR="#ff0000"]if(strlen($username) < 4 ||
strlen($username) > 16)[/COLOR]
{
die("Dein Benutzername ist zu kurz/lang .<br>Er muss zwischen <b><u>4 und 16</u></b> Zeichen lang sein .");
}
if(strlen($password) < 4 ||
strlen($password) > 16)
{
die("Dein Passwort ist zu kurz/lang .<br>Es muss zwischen <b><u>4 und 16</u></b> Zeichen lang sein .");
}
if($password != $password2)
{
die("Die Passwˆrter stimmen nich ¸berein.");
}
if (preg_match('/[^a-zA-Z0-9]/',$username))
{
die("Der Benutzername enthält unerlaubte Zeichen.");
}
if (preg_match('/[^a-zA-Z0-9]/',$password))
{
die("Das Passwort enthält unerlaubte Zeichen.");
}
################################################## ###########
$conn = mssql_connect($server,$user,$pass);
if(!$conn)
{
die("Connection failed!<br>");
}
$select = mssql_select_db("ACCOUNT_DBF",$conn);
if(!$select)
{
die("Can't select Database!<br>");
}
################################################## ###########
if(exist($username) != '0')
{
die ("Der Benutzername ".$username." wird schon benutzt .");
}
################################################## ###########
// $username = strtolower($username);
//$password = strtolower($password);
$password = md5($salt . $password);
$ipadress = $ip;
mssql_query("USE [ACCOUNT_DBF]
SET NOCOUNT ON
[COLOR="#ff0000"] INSERT INTO ACCOUNT_TBL (account, password, id_no1, id_no2, isuse, member, realname, cash)
VALUES ('$username', '$password', '$password', '$password', 'T', 'A', 'F', '1000')
INSERT INTO ACCOUNT_TBL_DETAIL (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, email)
VALUES ('$username', 'A000', '2', 'F', '17.04.2010', '17.04.2010', '20990101', '20050101', 'O', '$email')");[/COLOR]
if($execute)
{
echo 'Account wurde <font color="green">erfolgreich</font> erstellt !';
}
else
{
echo 'Account wurde <font color="green">erfolgreich</font> erstellt !';
}
mssql_close($conn);
}
else
{
?>
<center>
<form action="register.php" method="post">
<table>
<tr>
<td colspan="2" align ="center">
<h3>Account erstellen</h3>
</td>
</tr>
<tr>
<td align ="right">
Account :
</td>
<td>
<input type="text" size="20" name="username" maxlength="[COLOR="#ff0000"]16[/COLOR]" />
</td>
<td> </td>
</tr>
<tr>
<td align ="right">
Passwort :
</td>
<td>
<input type="password" size="20" name="password" maxlength="32" />
</td>
</tr>
<tr>
<td align ="right">
Passwort widerh. :
</td>
<td>
<input type="password" size="20" name="password2" maxlength="32" />
</td>
</tr>
<tr>
<td>
<input type="hidden" size="20" name="ip" maxlength="32" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit" value="Account erstellen" />
</td>
</tr>
</table>
</form>
</center>
<?php
}
?>
</div>
<br>
<br>
<br>
|
|
|
04/25/2011, 00:31
|
#2
|
elite*gold: 260
Join Date: Nov 2007
Posts: 12,855
Received Thanks: 4,319
|
sehr schön wie du 2 fertige scripts zusammengeschmissen hast.
|
|
|
04/25/2011, 00:31
|
#3
|
elite*gold: 0
Join Date: Jan 2011
Posts: 373
Received Thanks: 114
|
das gibt es schon mehrere 10000n mal
|
|
|
04/25/2011, 00:33
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 129
Received Thanks: 29
|
nein ich habe es umgeschrieben und es injektionsicher gemacht versuch doch mal die standartinjektion
' or '1'='1' --
das llerzeichen hinter den -- nicht vergessen
okay ich makier die entscheidenen stellen nochmal
|
|
|
04/25/2011, 09:30
|
#5
|
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
|
Hmm.. Bis 16 Zeichen, na?
';shutdown;--
Hat nur 13 Stellen, und weg ist der Server :3
Mein Tipp : Macht es bis maximal 10, dann gibts keine Injetcs mehr, bzw SQL Injects. Xss Könnte ei einer unsicheren HP noch drin sein :3
Achja : Gibts schon in Homepage Addons, aber trotzdem nett gemeint
|
|
|
04/25/2011, 11:25
|
#6
|
elite*gold: 0
Join Date: May 2009
Posts: 129
Received Thanks: 29
|
Nein injektion geht bei dem script nicht das script wandelt das ' z.b. in einen html specialchar
|
|
|
04/25/2011, 13:58
|
#7
|
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
|
Quote:
Originally Posted by Jusikid
Hmm.. Bis 16 Zeichen, na?
';shutdown;--
Hat nur 13 Stellen, und weg ist der Server :3
Mein Tipp : Macht es bis maximal 10, dann gibts keine Injetcs mehr, bzw SQL Injects. Xss Könnte ei einer unsicheren HP noch drin sein :3
Achja : Gibts schon in Homepage Addons, aber trotzdem nett gemeint 
|
Mhmmm bist wohl nen ganz schlaues Kerlchen.
Nur halt gibts in php auch Befehle, die bestimmte Zeichen sperren....
|
|
|
04/25/2011, 14:01
|
#8
|
elite*gold: 4
Join Date: Apr 2011
Posts: 398
Received Thanks: 34
|
jo,selber meinung wie pumaa, das ist die einzige moeglichkeit.
mil laengenaenderung etc lol das ist schwachsinn. Hat eigentlich hier irgentjemand schonmal von firebug gehoert, ich glaub ich bin der einzige....
|
|
|
04/25/2011, 14:04
|
#9
|
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
|
Ich kenn Firebug, aber wenn dus per php auf 10 Zeichen reduzierst, was natürlich Schwachsinn ist, funktioniert das auch nicht ;D
|
|
|
04/25/2011, 18:55
|
#10
|
elite*gold: 0
Join Date: May 2009
Posts: 129
Received Thanks: 29
|
Bestimmte zeichen sperren zu lassen ist aber leistungsaufwendiger
und so kleiner guck dir die function erstmal genau an bevor du laberst

und das script filtert auch die illegalen zeichen raus versuch doch mal nen injektion code man-.-'
|
|
|
 |
Similar Threads
|
V15 Registerscript
08/21/2010 - Flyff Private Server - 1 Replies
Hello People from E*PvPers,
I need some stuff for my new v15 server,
Does someone have a v15 registerscript with a config in it ?
Does someone have a cool webtemplate ?? (With WORKING registerpage for v15)
Thank you,
|
SQL-Injektion
03/23/2010 - Metin2 Private Server - 3 Replies
Hi, ich wollte mal fragen, ob beispielsweise bei der Regipage von xBloomx die Möglichkeit einer SQL-Injection besteht...:rolleyes:
|
Registerscript für Root
12/19/2009 - Metin2 Private Server - 1 Replies
Gibt es ein vorgefertigtes Regiscript für Rootserver.
Oder da wir die DB gerade über Hamachi bearbeiten, ein Script was man bei ohost uploaden kann und es trotzdem klappt?
|
[HowTo] SQL Injektion
10/06/2009 - Tutorials - 5 Replies
Dies ist ein kurzes HowTo, um zu verstehen was mit einer SQL-Injektion gemeint ist und wie sich diese ausnutzen lässt. Diese Methode basiert grundsätzlich auf der ungenügenden
Prüfung von Benutzereingaben und lässt sich fast immer vermeiden.
Oftmals denken Programierer zum Zeitpunkt des Codings nicht daran, welches Schadenspotiential das ungeprüfte Weiterreichen von Benutzereingaben an den SQL-Interpreter.
Dabei kommen in keinster Weise Buffer-Overflows zum Einsatz oder sonstige Hacks.
...
|
All times are GMT +1. The time now is 00:49.
|
|