Как мне продемонстрировать SQL-инъекцию второго порядка?

Поэтому я пытался повторить SQL-инъекцию второго порядка. Вот пример шаблона двух сайтов на основе php, который я подготовил. Давайте просто назовем это формой регистрации избирателей. Пользователь может зарегистрироваться, а затем вы можете проверить, являетесь ли вы зарегистрированным избирателем или нет.

insert.php

<?php

$db_selected = mysql_select_db('canada',$conn);
if (!db_selected)
    die("can't use mysql: ". mysql_error());

$sql_statement = "INSERT into canada (UserID,FirstName,LastName,Age,State,Town)
                    values ('".mysql_real_escape_string($_REQUEST["UserID"])."',
                    '".mysql_real_escape_string($_REQUEST["FirstName"])."',
                    '".mysql_real_escape_string($_REQUEST["LastName"])."',
                    ".intval($_REQUEST["Age"]).",
                    '".mysql_real_escape_string($_REQUEST["State"])."',
                    '".mysql_real_escape_string($_REQUEST["Town"])."')";

echo "You ran the sql query=".$sql_statement."<br/>";
$qry = mysql_query($sql_statement,$conn) || die (mysql_error());
mysql_close($conn);
Echo "Data inserted successfully";
}
?>

select.php

<?php


$db_selected = mysql_select_db('canada', $conn);
if(!db_selected)
    die('Can\'t use mysql:' . mysql_error());
$sql = "SELECT * FROM canada WHERE UserID='".addslashes($_POST["UserID"])."'";
echo "You ran the sql query=".$sql."<br/>";
$result = mysql_query($sql,$conn);
$row=mysql_fetch_row($result);

$sql1 = "SELECT * FROM canada WHERE FirstName = '".$row[1]."'";
echo "The web application ran the sql query internally=" .$sql1. "<br/>";
$result1 = mysql_query($sql1, $conn);
$row1 = mysql_fetch_row($result1);

mysql_close($conn);
echo "<br><b><center>Database Output</center></b><br><br>";

echo "<br>$row1[1] $row1[2] , you are a voter! <br>";

echo "<b>VoterID: $row[0]</b><br>First Name: $row[1]<br>Last Name: $row[2]
    <br>Age: $row[3]<br>Town: $row[4]<br>State: $row[5]<br><hr><br>";
}
?>

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

Например: я буду печатать на странице insert.php как: userid = 17

firstname = (мне нужно ввести что-то здесь)

фамилия = ..

возраст = ..

город = ..

состояние = ..

Затем, когда я проверю свои данные и введу 17, введенный сценарий SQL будет активирован. Могу ли я получить несколько примеров того, какие уязвимости я могу показать через это?

Ответы на вопрос(2)

Ваш ответ на вопрос