Как мне сделать инъекцию sql в это?Я не спрашиваю, как это предотвратить - PullRequest
0 голосов
/ 06 октября 2018

Просто быстрый вопрос, так как я совсем не опытен в этой области.Как мне сделать инъекцию sql в это?Я хотел бы примеры инъекций SQL.Пожалуйста, не комментируйте просто наберите 'или' 1 '=' 1, так как это не сработает.Все, на что он ответит, это предложение из оператора elseif, говорящее: «Вы так близки».

<code><?php
  include "config.php";
  ini_set('error_reporting', E_ALL);
  ini_set('display_errors', 'On');

  $answer = $_POST["answer"];
  $debug = $_POST["debug"];
  $query = "SELECT * FROM answers WHERE answer='$answer'";
  echo "<pre>";
  echo "SQL query: ", htmlspecialchars($query), "\n";
  echo "
";?>запроса ($ запроса);$ row = $ result-> fetchArray ();if ($ answer == $ CANARY) {echo "

Perfect!

";echo "

Ваш флаг: $ FLAG

";} elseif ($ row) {echo "

Вы так близко.

";} else {echo "

Неверно.

";}?>

Как мне сделать инъекцию в этот запрос?Пожалуйста, не отмечайте это как дубликат того основного сообщения, которое я уже прочитал.Этот пост отличается от этого запроса из того, что я пробовал.

1 Ответ

0 голосов
/ 06 октября 2018

Просто отправьте следующую строку в $ _POST ["answer"]:

$_POST["answer"] = "' OR '1' = '1";
$answer = $_POST["answer"];
$query = "SELECT * FROM answers WHERE answer='$answer'";

Теперь ваш запрос будет выглядеть следующим образом:

SELECT * FROM answers WHERE answer='' OR '1' = '1'

Это даст вам всестроки из таблицы answers.Если вы используете результаты этого SQL-запроса, чтобы проверить, является ли данный ответ пользователем правильным или нет;вы всегда получите несколько строк, следовательно, ответ всегда будет проходить независимо от того, что.

Аналогично, например, можно получить информацию обо всех клиентах, их номерах телефонов, адресах электронной почты и т. д .;если кто-то пропустит customer_id = "' OR '1' = '1"

Прочитайте эту тему полностью: Как работает SQL-инъекция из комикса XKCD "Таблицы Бобби"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...