HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.01.2010, 11:52
Jokester
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от [NiGHT]DarkAngel  
to YuNi|[c
Основываясь на ошибке, можно предположить, что параметр 'q' не обрамлен в одинарные кавычки в запросе ... следовательно запрос к базе можно составить и без ее использования
Например: ?q=1) union select 1,2,3,4,5/*
Эмм с чего это можно так предположить?
Просто он не закомментировал запрос и у него получается примерно вот такая фигня:

примерный запрос:
Цитата:
SELECT title FROM content WHERE User LIKE ('%$q%')
после ')
Цитата:
SELECT title FROM contentWHERE User LIKE ('%')%')
Вот и ошибка near ')'

Цитата:
Сообщение от [NiGHT]DarkAngel  
Так пройдет только без LIKE условия, если запрос будет примерно таким

Код:
mysql_query("SELECT title FROM content WHERE (LIKE %$q%)")
То /* не обрежет %) ... запрос выполнится и не вернется никакого результата... что бы обрезать %) в LIKE запросе за место /* используй #
Если запрос будет таким, он не сработает, like %$q% совсем без кавычек заюзать не получится, ну и комментарий "/*" запросто срежет %) если составить нормальный запрос:

Цитата:
SELECT title FROM content WHERE User LIKE ('%$q%')
q=1')+union+select+1/*
Цитата:
SELECT title FROM content WHERE User LIKE ('%1')+union+select+1/*%')
 
Ответить с цитированием

  #2  
Старый 16.01.2010, 01:17
YuNi|[c
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме:
556476

Репутация: 66
По умолчанию

о спс за подробные обьяснения, буду пробовать
 
Ответить с цитированием

  #3  
Старый 16.01.2010, 02:10
YuNi|[c
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме:
556476

Репутация: 66
По умолчанию

Еще вопрос если ссылка будет вида
Цитата:
galle/99/1/1/8
то как правильно сделать запрос, так как уже почти все сайты так настравиваются.
Цитата:
galle/99/1/1/8'+order+by+10-- или galle/99/1/1/8'/order/by/10--

Последний раз редактировалось YuNi|[c; 16.01.2010 в 02:12..
 
Ответить с цитированием

  #4  
Старый 16.01.2010, 03:11
Ayowa
Новичок
Регистрация: 25.12.2009
Сообщений: 10
Провел на форуме:
76178

Репутация: 30
По умолчанию

asd/5/12/8'+order+by+10+--+

Iceangel_: данный плюс говорит о незнании синтаксиса комментариев mysql...

Ayowa
данный плюс говорит о том, что я люблю симметрию, мало того, подобный стиль встречается не только у меня. Мне прекрасно известно о том, что в документации говорится только про последний символ после однострочного комментария.
http://phpclub.ru/mysql/doc/comments.html
А вот еще слова чувака I-I()/Ib:
Цитата:
(Для тех кто в танке “--“ это знак начала комментария все после него будет отброшено, еще хочу обратить ваше внимание на то что после него должен быть обязательно пробел(Так написано в документации к MYSQL) и кстати перед ним тоже)
Источник: https://forum.antichat.ru/thread43966.html
Выходит, он тоже не знает синтаксис комментариев mysql.
Безусловно, это является моей критической ошибкой, epic fail я бы сказал.


Последний раз редактировалось jokester; 16.01.2010 в 12:10..
 
Ответить с цитированием

  #5  
Старый 16.01.2010, 14:42
YuNi|[c
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме:
556476

Репутация: 66
По умолчанию

ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал

Цитата:
Еще вопрос если ссылка будет вида

galle/99/1/1/8

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

galle/99/1/1/8'+order+by+10/* или galle/99/1/1/8'/order/by/10/*
 
Ответить с цитированием

  #6  
Старый 16.01.2010, 14:59
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


По умолчанию

Цитата:
Сообщение от YuNi|[c  
ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал
Цитата:
Еще вопрос если ссылка будет вида galle/99/1/1/8 то как правильно сделать запрос, так как уже почти все сайты так настравиваются. galle/99/1/1/8'+order+by+10/* или galle/99/1/1/8'/order/by/10/*
первый вариант. но закрывай запрос по-другому. а то модррерайт не поймёт тебя
http://site.com/galle/99/1/1/8'+order+by+10+--+/
__________________
Появляюсь редко. Важные дела в реале.
 
Ответить с цитированием

  #7  
Старый 16.01.2010, 15:12
[NiGHT]DarkAngel
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме:
812087

Репутация: 129
По умолчанию

Цитата:
Сообщение от Strilo4ka  
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET.""); 
обясните кто нить пожалуйста проверить нет сервера и компа нет , не доганяю тогда, что сдесь с " в переменной!!!??? Сижу не через свой комп а гуглить что то толку мало...
Тут ничего особенного ))))
Это идентично
PHP код:
mysql_query("SELECT * FROM articles WHERE id=$_GET"); 
Теперь инекция пройдет ?
 
Ответить с цитированием

  #8  
Старый 16.01.2010, 15:17
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


По умолчанию

Цитата:
Сообщение от Strilo4ka  
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET.""); 
обясните кто нить пожалуйста проверить нет сервера и компа нет , не доганяю тогда, что сдесь с " в переменной!!!??? Сижу не через свой комп а гуглить что то толку мало...
Я так и не понял вопроса =\
в коде, который ты предоставил есть следующее:
mysql_query() выполняет mysql запрос. в качестве входного параметра - строка.
в твоем случае это строка "SELECT * FROM articles WHERE id=".$_GET['id'].""
эта строка остоит из трёх частей
- "SELECT * FROM articles WHERE id="
- $_GET['id']
- ""
все эти части соединяются воедино и получается одна строка.
первая и третья части обрамлены в двойные ковычки. вторая часть - это данные которые поступают через GET
если $_GET['id'] будет например так: site/?id=123 то вся строка mysql запроса примет вид:
"SELECT * FROM articles WHERE id=123"
sql-injection:
site/?id=123 and 1=0 union select 1,2,3
запрос примет вид:
"SELECT * FROM articles WHERE id=123 and 1=0 union select 1,2,3"
__________________
Появляюсь редко. Важные дела в реале.
 
Ответить с цитированием

  #9  
Старый 16.01.2010, 15:25
Ayowa
Новичок
Регистрация: 25.12.2009
Сообщений: 10
Провел на форуме:
76178

Репутация: 30
По умолчанию

Цитата:
Сообщение от YuNi|[c  
ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал
Я же тебе уже написал.
Возьмем в качестве примера вот этот вариант:
galle/99/1/1/8'/order/by/10/*

Если исходить из логики построения вот такого запроса, можно сделать вывод, что в бд попадает вот такое нечто:
select * from newz where asd='galle 99 1 1 8 order by 10 *' ...
Естественно, мускул такого не поймет.

Имхо, исходная строка имеет вид:
galle.php?year=99&month=1&day=1&hernya=8
Замечательный модуль апача, mod_rewrite, это пережевывает и выпихивает то, что мы имеем.
Сам несколько раз сталкивался с подобными штуками, к примеру :
asd.com/gallery/234658234+and+1=7+--+.html

Поскольку апач модифицирует юрлку с помощью регулярных выражений, скорее всего, на обратном пути в процессе "расшифровки" в качестве разделителя он использует "/" так что возможно, в данном случае, комментарий типа "/*" не подойдёт, хотя скажу сразу, что особо сильно в работу мод_рерайт не въезжал и это рассуждение о многострочном комментарии может быть неверным.
ЗЫ, кому интересно, доки по мод_рерайту лежат тута:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Если я что-то неправильно сказал - поправьте.

Последний раз редактировалось Ayowa; 16.01.2010 в 15:32..
 
Ответить с цитированием

  #10  
Старый 16.01.2010, 11:05
Train
Новичок
Регистрация: 09.01.2009
Сообщений: 21
Провел на форуме:
195619

Репутация: 10
По умолчанию

Не раз встречал что в инъекциях в ЧПУ знак плюса + переваривается как-то не так а если использовать пробел то все работает как надо.
Раз уж заговорили о ЧПУ у мя тоже есть вопрос: точно есть иньекция в /id-28.html, например /id-28-1.html показывает /id-27.html и даже есть вывод ошибок.

Код:
http://www.alyans-pr.ru/news/id-28.html
Но вот добиться чего-либо толкового, хотя бы and 1=1 не удалось. Буду рад услышать ваши предложения.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.