Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
обход htmlspecialchars()! Надо вставить <??> в файл |

13.05.2009, 11:44
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме: 461696
Репутация:
40
|
|
обход htmlspecialchars()! Надо вставить <??> в файл
Привет всем! Я нашёл уязвимости на одном сайте, а именно я могупросматривать содержимое и писать в файлы и даже создавать .php файлы. Но вставка текста фильтруется так
PHP код:
$text=htmlspecialchars(stripslashes($_GET['text']));
Как это можно обойти подскажите.
Последний раз редактировалось _gr34t; 13.05.2009 в 12:19..
|
|
|

13.05.2009, 12:37
|
|
Banned
Регистрация: 10.05.2009
Сообщений: 36
Провел на форуме: 52988
Репутация:
9
|
|
ответ
это кодирока означает
от ввода html запроса (htmlspecialchars) а от ввода таких символов как /*-- union (stripslashes) тоисть они от взлома .
обычно их часто используют перед запросом к mysql или для написания поиска сайта .
если у тебя есть доступ к редактированию скриптов ,тогда найди вот такой тип кодировки .
$addtext = stripslashes($addtext);
$addtext = htmlspecialchars($addtext);
|
|
|

13.05.2009, 12:48
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме: 461696
Репутация:
40
|
|
если у тебя есть доступ к редактированию скриптов ,тогда найди вот такой тип кодировки .
$addtext = stripslashes($addtext);
$addtext = htmlspecialchars($addtext);
не понял. я уже нашёл. Мне надо, чтобы в файл записалось
а пишется
именно из-за этой строчки: $text=htmlspecialchars(stripslashes($text));
А редактировать скрипты я могу, но при сохранении они сами и проходят через этот же фильтр. ((((((
|
|
|

13.05.2009, 12:52
|
|
Постоянный
Регистрация: 02.10.2005
Сообщений: 490
Провел на форуме: 2333839
Репутация:
212
|
|
ну дык в любой существующий php файл впиши phpinfo();
|
|
|

13.05.2009, 13:02
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме: 461696
Репутация:
40
|
|
ну дык в любой существующий php файл впиши phpinfo();
Объясняю: при сохранении любого файла символы < и > заменяются на < и >, т.к. весь текст проходит через фильтр $text=htmlspecialchars(stripslashes($text));
Я думал есть способ как-нибудь это обойти.
|
|
|

13.05.2009, 13:06
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
значит никак, т.е. попытавшись ПРОСТО отредактировать index.php тот же - ты фактически его убиваешь? Забавно
|
|
|

13.05.2009, 13:08
|
|
Участник форума
Регистрация: 03.07.2006
Сообщений: 147
Провел на форуме: 438137
Репутация:
66
|
|
Сообщение от _gr34t
Привет всем! Я нашёл уязвимости на одном сайте, а именно я могупросматривать содержимое и писать в файлы и даже создавать .php файлы. Но вставка текста фильтруется так
PHP код:
$text=htmlspecialchars(stripslashes($_GET['text']));
Как это можно обойти подскажите.
Опии более подробно как происходит запись в файл.
Ну или хоть сырцы покажи.
|
|
|

13.05.2009, 13:16
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме: 461696
Репутация:
40
|
|
Сообщение от pento
Опии более подробно как происходит запись в файл.
Ну или хоть сырцы покажи.
PHP код:
$textdb = "templ/".$pagename.".tpl";
//...
if (isset($add)):
$textob=htmlspecialchars(stripslashes($textob));
$textob=str_replace("\t"," ",$textob);
$fp = @fopen("$textdb","wb");
@fputs($fp,$textob);
@fclose($fp);
chmod ($textdb, 0777);
endif;
Также вот ещё что есть:
PHP код:
if (file_exists("$textdb")):
$text_array = file("$textdb");
if (count($text_array) != 0):
foreach ($text_array as $i=>$string) {
$text_str=$text_array[$i];
$text_str=str_replace(" "," ",$text_str);
echo "$text_str";
}
пробовал в файл $textdb писать это: `ls`, но ничего не выполняется, а просто выводится на экран. ((
|
|
|

13.05.2009, 13:18
|
|
Участник форума
Регистрация: 26.10.2008
Сообщений: 106
Провел на форуме: 461696
Репутация:
40
|
|
Pashkela, да если сохраню. Я только что прочитал что можно обойти htmlspecialchars() с помощью изменения кодировки, но как именно - неизвестно... (((
|
|
|

13.05.2009, 13:34
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
если есть возможность загрузить файл без этих ограничений на содержимое но с ограничением к расширению( к примеру только jpg ), то стоит попробовать создать .htaccess чтоб их обрабатывал как php
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|