ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

16.01.2010, 11:52
|
|
Познавший АНТИЧАТ
Регистрация: 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/*%')
|
|
|

16.01.2010, 01:17
|
|
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме: 556476
Репутация:
66
|
|
о спс за подробные обьяснения, буду пробовать
|
|
|

16.01.2010, 02:10
|
|
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме: 556476
Репутация:
66
|
|
Еще вопрос если ссылка будет вида
то как правильно сделать запрос, так как уже почти все сайты так настравиваются.
galle/99/1/1/8'+order+by+10-- или galle/99/1/1/8'/order/by/10--
Последний раз редактировалось YuNi|[c; 16.01.2010 в 02:12..
|
|
|

16.01.2010, 03:11
|
|
Новичок
Регистрация: 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..
|
|
|

16.01.2010, 14:42
|
|
Участник форума
Регистрация: 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/*
|
|
|

16.01.2010, 14:59
|
|
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+ --+/
__________________
Появляюсь редко. Важные дела в реале.
|
|
|

16.01.2010, 15:12
|
|
Участник форума
Регистрация: 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");
Теперь инекция пройдет ? 
|
|
|

16.01.2010, 15:17
|
|
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"
__________________
Появляюсь редко. Важные дела в реале.
|
|
|

16.01.2010, 15:25
|
|
Новичок
Регистрация: 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..
|
|
|

16.01.2010, 11:05
|
|
Новичок
Регистрация: 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 не удалось. Буду рад услышать ваши предложения.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|