Kezdőoldal » Számítástechnika » Biztonság » Ebbe a programbo hogy lehetne...

Nagy Dániel1001 kérdése:

Ebbe a programbo hogy lehetne sql kódot injectálni?

Figyelt kérdés

<?php

$felhasznalonev = $_POST ['felhasznalonev'];

$jelszo = $_POST ['jelszo'];


if($felhasznalonev&&$jelszo)

{

$kapcsolodas = mysql_connect("127.0.0.1", "lostkidshun", "*****");

$adatbazis = mysql_select_db('lostkidshun',$kapcsolodas);

$query = mysql_query("SELECT * FROM users WHERE username='$felhasznalonev'");

$numrows = mysql_num_rows($query);

$password = md5($jelszo);

$delete = 1;

$deleteuser = $delete;



while($rows = mysql_fetch_assoc($query))

{

$dbfelhasznalonev = $rows['username'];

$dbjelszo = $rows['password'];

$dbdelete = $rows['delete'];

$Ip = $_SERVER['REMOTE_ADDR'];

$query1 = mysql_query("SELECT * FROM deletedips WHERE deletedips='$Ip'");

$numrows1 = mysql_num_rows($query1);

$rows1 = mysql_fetch_assoc($query1);

$ekkor = $rows1['ekkor'];

$ok = $rows1['ok'];


}


if ($dbdelete != $deleteuser)

{

if($numrows1 == 0)

{

if ($numrows != 0)

{


while($rows = mysql_fetch_assoc($query))

{

$dbfelhasznalonev = $rows['username'];

$dbjelszo = $rows['password'];


}

if ($felhasznalonev==$dbfelhasznalonev&&$password==$dbjelszo)

{

$_SESSION['username'] = $felhasznalonev;

if(isset($_SESSION['username']))

{


include 'bejelentkeztel.php';

}

else

echo "Nem sikerült a bejelentkezés!";

}

else

echo "Nem sikerült a bejelentkezés!"; //Rossz jelszó



}

else

echo "Nem sikerült a bejelentkezés!"; //Nincs ilyen felhasználó

}

else

echo "Ez az IP cím (<font color='White'>$Ip</font>) le lett tiltva ekkor: <font color='White'>$ekkor</font> <br> Oka: <font color='White'>$ok</font>";

}

else

echo "Tiltott felhasználó!"; //Tiltott felhasználó

}

else

include 'uressorok2.php'; //Kérlek írd be a neved, s a felhasználóneved

?>



2016. dec. 4. 18:32
 1/2 anonim ***** válasza:

Nem néztem át alaposan, és már évek teltek el azóta, hogy ilyennel foglalkoztam utoljára, de szerintem a felhasználónév POST mezőben támadható az adatbázis. Nincs lezárva a $query változónak értéket adó lekérdezés, aminek ez az utolsó mezője. Escape karakterrel simán megszakítható az addigi query kiértékelése és szabadon bármi futtatható. Elég tipikus amatőr hiba. :)

Aztán persze máshol is lehet benne gond, tovább nem néztem. :)

2016. dec. 10. 12:40
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Köszi!
2017. jan. 2. 11:56

További kérdések:





Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!