2012-01-21 2 views
0

Я изучаю инъекции sql и очень заинтересован в том, как это вызывать. Я написал сценарий, чтобы посмотреть, как это происходит. так вот мой код =>причина sql injection

if (isset($_POST['act'])){ 
    if ($connection = mysqli_connect($var['host'],$var['user'],$var['password'],$var['database'])){ 
     if (mysqli_connect_errno()==0){ 
      $username = $_POST['username']; 
      $password = $_POST['pswd']; 
      if ($result = mysqli_query($connection,"SELECT username,password FROM login WHERE username='" . $username . "' AND password='" . $password . "'")){ 
       if (mysqli_num_rows($result)){ 
        header("Location: http://localhost/default.php"); 
       } else { 
        $res = "Invalid Credentials ..."; 
       } 
      } 
     } 
    } 
} 

<form name="action" method="post" action="index.php"> 
    Username:<input type="text" name="username" size="12"><br> 
    Password:<input type="password" name="pswd" size=12><br> 
    <input type="submit" name="act" value="Login"> 
</form> 

Я пишу, как это в формах, но ничего не происходит

в имя пользователя и в виде пароля => некоторые»или„1“=„1“

мне очень интересно, как вызвать SQL-инъекции, чтобы разорвать этот сценарий и без действительные учетные данные перенаправления default.php (конечно, в пределах от отмеченного сценария)

Благодаря ...

+0

ничего, что я имею в виду, не пишет «Недействительные учетные данные», а также не перенаправляет. Я думаю, что это происходит с ошибкой sql, но она не может быть показана в сценарии. – DaHaKa

+0

Вы пытались ввести свое имя пользователя как 'или 1 = 1' и установить свой пароль только' '' в своей форме? –

+0

В этом случае вы должны хотя бы добавить 'error_reporting (E_ALL);' вверху вашего кода, чтобы мы могли видеть любые ошибки, возвращаемые вашим кодом. – Mchl

ответ

5

Попробуйте ан дящие ' OR 1 -- в качестве имени пользователя

Кроме того, только в том случае, Чака, если у вас есть magic_quotes_gpc отключил :)

+0

Разве вы не имели в виду 'OR 1 = 1 --'? – gdoron

+0

@gdoron' OR 1' отлично работает в mysql – Vyktor

+0

отключен :( – DaHaKa