Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   HELP ME PLEASE! Надо вставить <??> в файл (https://forum.antichat.xyz/showthread.php?t=120380)

_gr34t 13.05.2009 11:44

обход htmlspecialchars()! Надо вставить <??> в файл
 
Привет всем! Я нашёл уязвимости на одном сайте, а именно я могупросматривать содержимое и писать в файлы и даже создавать .php файлы. Но вставка текста фильтруется так

PHP код:

$text=htmlspecialchars(stripslashes($_GET['text'])); 

Как это можно обойти подскажите.

hors_de_prix 13.05.2009 12:37

ответ
 
это кодирока означает
от ввода html запроса (htmlspecialchars) а от ввода таких символов как /*-- union (stripslashes) тоисть они от взлома .
обычно их часто используют перед запросом к mysql или для написания поиска сайта .



если у тебя есть доступ к редактированию скриптов ,тогда найди вот такой тип кодировки .

$addtext = stripslashes($addtext);
$addtext = htmlspecialchars($addtext);

_gr34t 13.05.2009 12:48

Цитата:

если у тебя есть доступ к редактированию скриптов ,тогда найди вот такой тип кодировки .

$addtext = stripslashes($addtext);
$addtext = htmlspecialchars($addtext);
не понял. я уже нашёл. Мне надо, чтобы в файл записалось
PHP код:

<?phpinfo();?>

а пишется
PHP код:

&gl;phpinfo();&gt

именно из-за этой строчки: $text=htmlspecialchars(stripslashes($text));
А редактировать скрипты я могу, но при сохранении они сами и проходят через этот же фильтр. ((((((

D1mOn 13.05.2009 12:52

ну дык в любой существующий php файл впиши phpinfo();

_gr34t 13.05.2009 13:02

Цитата:

ну дык в любой существующий php файл впиши phpinfo();
Объясняю: при сохранении любого файла символы < и > заменяются на &lt; и &gt;, т.к. весь текст проходит через фильтр $text=htmlspecialchars(stripslashes($text));
Я думал есть способ как-нибудь это обойти.

Pashkela 13.05.2009 13:06

значит никак, т.е. попытавшись ПРОСТО отредактировать index.php тот же - ты фактически его убиваешь? Забавно

pento 13.05.2009 13:08

Цитата:

Сообщение от _gr34t
Привет всем! Я нашёл уязвимости на одном сайте, а именно я могупросматривать содержимое и писать в файлы и даже создавать .php файлы. Но вставка текста фильтруется так

PHP код:

$text=htmlspecialchars(stripslashes($_GET['text'])); 

Как это можно обойти подскажите.

Опии более подробно как происходит запись в файл.
Ну или хоть сырцы покажи.

_gr34t 13.05.2009 13:16

Цитата:

Сообщение от 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 ($textdb0777); 
  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`, но ничего не выполняется, а просто выводится на экран. ((

_gr34t 13.05.2009 13:18

Pashkela, да если сохраню. Я только что прочитал что можно обойти htmlspecialchars() с помощью изменения кодировки, но как именно - неизвестно... (((

ShAnKaR 13.05.2009 13:34

если есть возможность загрузить файл без этих ограничений на содержимое но с ограничением к расширению( к примеру только jpg ), то стоит попробовать создать .htaccess чтоб их обрабатывал как php


Время: 02:44