<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>Безопасность. Подбор паролей методом дихотомического поиска.</title>
		<link>https://lily-software.com</link>
		<description>Лента комментариев страницы</description>
		<generator>Cotonti</generator>
		<language>ru</language>
		<pubDate>Wed, 20 May 2026 23:06:18 +0300</pubDate>

		<item>
			<title>Комментируемая страница</title>
			<description><![CDATA[<p style="text-align:center;">
	<strong>Основная идея</strong></p>
<p style="text-align:justify;">
	Предположим, мы имеем скрипт users.php, который выводит список пользователей атакуемого веб-сайта. Обычно, подобные скрипты выводят этот список в виде таблицы, содержащей имя пользователя, дату его регистрации, статус на сайте и т.п. информацию. Кроме того данный скрипт позволяет сортировать вывод этой информации по каждому из этих параметров. Например, передав скрипту параметры "?orderby=name&amp;direct=ASC", мы получаем список пользователей отсортированный в нисходящем порядке по параметру name, т.е. по имени пользователей. Обычно, таблица БД к которой обращаются подобные скрипты, помимо выводимых ими данных, содержит также секретные данные: например, пароли или хеши паролей юзерских аккаунтов.<br /><br />
	Вот тут разработчиков веб-движков и может подстерегать опасная ошибка. Если передаваемый скрипту параметр "orderby", подставляется в SQL-запрос, без проверки его на "адекватность" его значения, то мы можем передать параметр "orderby" равный, к примеру, 'password' (или равный номеру колонки 'password' в таблице с пользователями), получив таким оразом вывод списка пользователей, отсортированный по полю 'password'. Дело в том, что тут действует одна важная особенность конструкции "ORDER BY" SQL-опертора SELECT: сортировка с помощью нее возможна по любому полю таблицы из которой извлекается информация, а не только по тем полям, по которым производится выборка SELECT'ом. Причем в данном случае никакой роли не сыграют различные защиты от sql-инъекций. Фактически, в случае обнаружения подобной уязвимости, мы имеем хоть и косвенное, но все же раскрытие секретной информации, что уже можно считать дырой в безопасности.<br /><br />
	Является ли эта уязвимость распространенной? Нет. В серьезных движках с солидной историей обновлений ее трудно будет повстречать, но вот <strong>в разного рода самописных сайтовых движках, "фирменных" двигах всяких мелких веб-студий,</strong> <strong>вероятность обнаружить подобную багу всегда есть</strong>. </p>
<p style="text-align:justify;">
	Является ли данная уязвимость действительно опасной? Да, в случае, если атакующий имеет доступ к аккаунту пользователя уязвимого сайта и имеется возможность изменять пароль данного юзера, или же есть возможность создавать некоторое количество новых юзеров, при этом нет возможности менять их пароли. Кроме того необходимое условие для атаки: пароли в БД хранятся либо в plain-text виде, либо в виде хеша, но без соли. Следует отметить, что в случе с хешами возможен подбор только криптографически слабых паролей.</p>
<p style="text-align:justify;">
	Подробности <a href="https://lily-software.com/go.php?cr0w-at.blogspot.com/2009/05/order-by-sql-1.html">прочитать можно тут</a>.<br /><a href="https://lily-software.com/go.php?https://blackhole.cih.ms:13000/showthread.php?t=727">О подобной уязвимости в Fireboard</a><br /><a href="https://lily-software.com/go.php?www.neocrome.ru/page.php?al=ujazvimost_sedit">Фикс уязвимости в Seditio</a> и <a href="https://lily-software.com/go.php?cr0w-at.blogspot.com/2009/05/seditio-v121-user-password-dichotomic.html">скрипт для атаки на Seditio</a></p>
]]></description>
			<pubDate>ср, 07 окт 2009 07:14:00 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/articles/podmena_argumeta_order_b]]></link>
		</item>
	</channel>
</rss>