Пытаюсь сделать sql инъекцию. Но пока прошла только такая login' '1'='1. Хотел сделать типа ' union select * from user -- но выдает ошибку. Подскажите, что я делаю не так?
Вот сама форма и скрипт
```
if (isset($_POST['ok'])) {
$login = $_POST["login"];
$password = $_POST['password'];
$query = "SELECT * FROM user WHERE login='$login' AND password='$password'";
var_dump($query);
$res = mysqli_query($conn, $query);
$row = mysqli_fetch_array($res);
var_dump($row);
if($row) {
$_SESSION["login"] = $login;
//header("Location: http://{$_SERVER['SERVER_NAME']}/admin.php");
} else {
//header("Location: http://{$_SERVER['SERVER_NAME']}");
}
mysqli_close($conn);
}
<form class="col-lg-6" method="POST">
<div class="row mb-3">
<label for="inputEmail3" class="col-sm-2 col-form-label">Login</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputEmail3" name="login">
</div>
</div>
<div class="row mb-3">
<label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputPassword3" name="password">
</div>
</div>
<button type="submit" class="btn btn-primary" name="ok">Sign in</button>
</form>
Нужно указывать количество полей в union select, а ты юзаешь *
я пробовал и с полями, не получалось
И в третьих нужно комментировать остаток строки
Так какую.ошибку то выдает?
mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given
' group by 1,2,3,4,5,6,7,8,9 -- -
Обсуждают сегодня