2012-02-08 2 views
2

XSS 공격에 대한 사이트의 취약성으로 인해 내 웹 사이트가 PCI 준수가되는 데 문제가 있습니다. htmlspecialchars() 및 htmlentities()를 사용하여 시도했지만 Trustwave는 여전히 내 사이트가 URL 인코딩 공격에 취약하다는 말을 전하고 있습니다. 예를 들어, 누군가가 "% 2522 % 253E % 2527 % 253E % 253CIfRaME % 253E"와 같은 것을 입력 할 수 있습니다. url 변수에서이를 처리하는 방법을 모르겠습니다. 도와주세요!! 감사합니다 :)PHP에서 URL 인코딩 된 XSS 공격 방지하기

+0

당신은 정말로 Trustwave를 신뢰합니까? – hakre

+0

PHP IDS를 살펴보십시오. – powtac

+1

문제를 이해하기 위해 코드 예제가 필요할 수 있습니다. $ _GET 같은 슈퍼 글로발은 이미 디코딩되었습니다. 따라서 출력물에서 ** htmlspecialchars **를 사용하여 XSS 공격으로부터 사이트를 보호해야합니다. – mpratt

답변

0

내 2cent가 :

당신이 MVC를 사용하는 경우, 다음 라우팅 전에 값 적힌 모든 디코딩을 시도하고 이러한 악성 콘텐츠 없애 stript_tags()를 사용합니다. 그리고 docs은 대소 문자가 영향을주지 않아야한다고 말합니다.

그렇지 않은 경우 유틸리티 함수를 만들고 URI에서 변수를 검색하는 동안 동일한 작업을 수행하십시오. 그러나 나는 결코 XSS 전문가는 아니므로 이는 트릭의 일부일 수 있습니다.