2008-09-23 2 views
2

매우 큰 코드 기반의 XSS 취약점에 대한 영구적 인 수정 작업을하는 동안 주요 위험을 완화하기위한 임시 빠른 수정으로 XSS로부터 보호 할 수있는 합리적인 작업을 수행하는 기존의 XSS 방지 블랙리스트를 찾고 있습니다.XSS 블랙리스트 - 합리적인 사람을 알고 있습니까?

정규식 세트가 바람직합니다. 나는 테스트와 연기 테스트 등을위한 치트 시트를 많이 알고있다. 내가 찾고있는 것은 공격을 막기 위해 미리 튜닝 된 정규 표현식 (regexps)이다.

가장 좋은 방법은 output escaping이거나 사용자가 허용 목록에 추가 할 수있는 마크 업이 필요하다는 것을 충분히 알고 있습니다. 그러나 코드 기반의 크기로 인해 취약점의 즉각적인 발자취를 빠르게 줄이고 실질적인 솔루션을 개발하는 동안 바를 높여야합니다.

좋은 세트를 아는 사람이 있습니까?

답변

3

나는이 질문에 직접 대답하지 않을 수 있습니다 실현하지만, 비슷한 상황에서 ASP.NET 개발자는 찾을 수도 있습니다 유용 :

Microsoft Anti-Cross Site Scripting Library V1.5

이 라이브러리는 대부분의 인코딩 라이브러리와 다르다 XSS 공격으로부터 보호하기 위해 "포함 원칙"기술을 사용합니다. 이 방법은 먼저 유효한 문자 집합을 정의하여 작동하고이 집합 외부의 모든 문자를 인코딩합니다 (잘못된 문자 또는 잠재적 공격). 포함 방식의 원칙은 XSS 공격으로부터 높은 수준의 보호를 제공하며 높은 보안 요구 사항이있는 웹 응용 프로그램에 적합합니다.

+1

링크가 404되었습니다. 새 링크는 다음과 같습니다. http://msdn.microsoft.com/en-us/security/aa973814.aspx – ComFreek

2

여기에 하나입니다 : http://ha.ckers.org/xss.html하지만 그것이 완료되었는지 모르겠습니다.

CAL9000은 이와 비슷한 것을 찾을 수있는 또 다른 목록입니다.

0

Apache를 실행하는 경우 mod_security을 사용하여 일부 구멍을 닫을 수 있습니다. 최소한 그것은 트래픽을 모니터링하고 너무 늦기 전에 반응하는 도구 (console 또는 일반 로그 파일)를 제공합니다. 또한 gotroot.com에는 웹 응용 프로그램에 대한 몇 가지 흥미로운 규칙이 있습니다.

다시 말해서 나는 어떤 종류의 구멍이 닫혀 있는지 실제로 알지 못합니다.

1

ha.ckers.org/xss.html에서 치트 시트가 완성되지 않았습니다. 내 동료가 거기에없는 하나 또는 둘을 찾았습니다. RSnake는 각 공격 문자열이 지나치는 여러 정규식 필터를 나열합니다. 몇 가지를 사용하면 구멍을 충분히 뚫을 수 있습니다.

좋은 출발점이 될 것입니다. 그밖에 무엇이 필요한지 알고 싶다면

시작 장소로 사용하여 작성한 스크립트가 블랙리스트에 미흡한 공격을 수행하기에 충분한 문자를 이스케이프 처리하는지 확인하십시오. 어떤 브라우저도 렌더링을하지 않으면 xss injection이 좋을까요?

현실적으로는 충분한 문자를 이스케이프 처리하는 것이 대부분의 방법으로 이루어집니다. . 그것은

2

&quot;&lt; 및 탈출 "에 모든 <을 켤 수있는 스크립트에 XSS를 주입하기 위해 당신이 PHP를 사용하는 경우 확실하지 꽤 힘들지만, 만약 그렇다면 당신은 HTMLPurifer 보라 그것은 사용하기 매우 간단합니다.; 입력을 받아들이는 Purify() 메소드에 호출을 추가하기 만하면된다.화이트리스트 기반 접근 방식은 내가 테스트 한 모든 XSS 공격을 차단합니다.

0

원하는 것은 IDS (침입 탐지 시스템)입니다. PHP를 사용하는 경우 PHPIDS입니다. 탁월한 해커 커뮤니티에 의해 유지 관리되고 테스트되었습니다. Rsnake의 원래 목록을 넘어 필터를 개선하기 위해 모든 종류의 것을 던지고 있습니다. 어딘가에 .NET 포트가있었습니다. 여전히 유지 관리 중인지 확실하지 않습니다.

관련 문제