• XSS.stack #1 – первый литературный журнал от юзеров форума

Как можно обойти функцию PHP addslashes()?

AkimGuru

floppy-диск
Забанен
Регистрация
04.06.2024
Сообщения
7
Реакции
1
Пожалуйста, обратите внимание, что пользователь заблокирован
Всем привет!
Есть ли реальный способ обойти функцию addslashes() и добиться внедрения SQL?
Как мы знаем, функция addslashes() экранирует следующие символы:
Одинарная кавычка (') экранируется как \'
Двойная кавычка ("") экранируется как \"
Обратная косая черта () экранируется как \\
Символы NULL (NUL) экранируются как \0.
Какие полезная нагрузка или методы можно использовать для обхода фильтрации addslashes() и добиться SQL-инъекции?
Вот пример кода; как это можно эксплуатировать?
<?php
$host = 'localhost';
$user = 'user345';
$password = 'test345';
$dbname = 'example_database';
$link = mysqli_connect($host, $user, $password, $dbname);
if (!$link) {
die("Connection failed: " . mysqli_connect_error());
}
$message = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$login = $_POST['login'];
$password = $_POST['password'];
$login = addslashes($login);
$password = addslashes($password);
$sql = "SELECT * FROM users WHERE username = '$login' AND password = '$password'";
$result = mysqli_query($link, $sql);
if ($result && mysqli_num_rows($result) > 0) {
$message = "Welcome, $login!";
} else {
$message = "Invalid credentials!";
}
}
mysqli_close($link);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login Form</title>
</head>
<body>
<h1>Login</h1>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label for="login">Username:</label><br>
<input type="text" id="login" name="login" required><br><br>
<label for="password">Password:</label><br>
<input type="password" id="password" name="password" required><br><br>
<button type="submit">Login</button>
</form>
<br>
<div>
<p><?php echo $message; ?></p>
</div>
</body>
</html>
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх