вызвать инъекцию sql - PullRequest
       3

вызвать инъекцию sql

0 голосов
/ 21 января 2012

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

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 (конечно, из помеченного скрипта)

Спасибо ...

Ответы [ 2 ]

5 голосов
/ 21 января 2012

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

Также, на всякий случай, проверьте, если у вас отключено magic_quotes_gpc:

1 голос
/ 21 января 2012

Вы смотрели это?Довольно простой, но интересный, если вы новичок в SQL-инъекциях http://www.youtube.com/watch?v=bORZlmyDw0s

...