The operating system software development kit (SDK) includes sample code (Query.asp) for querying the Indexing Service. Query.asp uses Microsoft Internet Information Services (IIS) and the Indexing Service's IXSSO query object. The lines in bold in the following example demonstrate additional code that can be added to Query.asp to limit query length. This additional code will help prevent attempts to exploit this vulnerability. You can update other operating system SDK sample query pages in a similar manner.
if right(SearchString, 1) = chr(34) then
SrchStrLen = SrchStrLen-1
SearchString = left(SearchString, SrchStrLen)
end if
SrchStrLen = len( SearchString )
if SrchStrLen > 60 then
SrchStrLen = 60
SearchString = left( SearchString, 60 )
end if
if Advanced<> "on" then
CompSearch = "{freetext} " & SearchString & "{/freetext}"
else
CompSearch = SearchString
end if
set Q = Server.CreateObject("ixsso.Query")
set Util = Server.CreateObject("ixsso.Util")
For additional information about security update 871250, click the following article number to view the article in the Microsoft Knowledge Base:
871250�
MS05-003: Vulnerability in the Indexing Service could allow remote code execution