2013-01-15 3 views
2

스크립트를 만든 사람이 정의한 SQL 스크립트 (C#의 Regex 사용)에서 값을 선택하려고하고 다른 사람이 필요할 때 바꿀 수 있습니다.SQL의 사용되지 않는 문자/문자 조합

나는 더 크고 더 적은 기호를 두 번 사용하여 관리했습니다. SELECT * FROM users WHERE username = '<<username>>' 및이 잘 작동합니다.

제가하는 데 문제는 내가 (AN aspx 페이지를 사용하여)를 저장하는 데이터베이스에이 스크립트를 추가 갈 때, 그것은 다음과 같은 오류가 발생한다는 것입니다 :

System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl00$MainBody$tstScriptTextBox="...username = '<<username>>';"). 

내 질문입니다 :인가 SQL 스크립트에서 사용되지 않고 Regex에 문제를 일으키지 않는 다른 기호가 있습니까?

+1

FWIW, 나는 템플리트에서 "snippets"를 대체하기 위해 중괄호를 사용했습니다 :''{username} ''. – HABO

+0

그게 잘못된 문자가 마음에 들지 않습니다 .net 4.0에서 이것을하는 경우 페이지의 유효성을 검사 할 때 버전에 버그가 있습니다. 값은 false로 설정됩니다. 다른 문자 하나를 시도하십시오 – MethodMan

+0

하여 validateRequest = "false"를 <페이지 enableEventValidation = "거짓"> 그 유효성 검사 = 사실 '로 설정하고 뭔가 like'http을하는 것입니다 주위에 .NET 4.0에서 제대로 다른 방식으로 작동하지 않습니다 //dotnetfish.blogspot.com/2007 /08/systemwebhttprequestvalidationexception.htmlServer.Html.Encode (귀하의 텍스트); – MethodMan

답변

0

이 기사를 읽으십시오. Script Exploits Overview - 예외는 특정 기호에 대해서는 적지 만 제목에서 알 수 있듯이 잠재적 인 스크립트 사용에 대해 자세히 설명합니다.

+0

도움 주셔서 감사합니다. 나는 이것을 제대로 수행하기 위해 몇 가지 생각을 다시해야 할 것입니다. – user1980741