2011-08-10 5 views
4

저는 지속성 및 비 지속성에 대해 잘 알고 있습니다 XSS. 또한 하나의 웹 사이트 페이지에서 발생한 요청이 다른 웹 사이트 서버로 이동하지 못하도록 차단/제한하는 것에 대해 Same origin policy에 대해 알고 있습니다. 이로 인해 동일한 원산지 정책이 최소 영구 저장 유형의 XSS 공격을 막을 수 있다고 생각하게되었습니다. 지속적인 유형의 공격에서 악성 코드 출처는 도난당한 개인 정보와 동일하기 때문입니다. 내 이해가 맞습니까? SOP를 사용하여 이러한 공격을 중지/축소 할 수 있습니까?크로스 사이트 스크립팅 공격 및 동일한 출처 정책

편집 : 브라우저 측에서 2 개의 스크립트 사이에서 메소드를 호출하고 다른 웹 사이트에서 HTTP POST와 같은 메소드를 호출하는 데는 혼란 스러웠습니다. 대답 jakber 주셔서 감사합니다.

지금 다른 질문이 있는데, SOP로는 Cross-site request forgery을 예방할 수 없습니까? wikipedia에서 제공 한 예제는 Bob이 채팅 포럼에서 Mallory가 만든 악성 이미지 태그에 액세스하는 것에 대해 이야기합니다. 그러나 SOP 규칙에 따라 악성 스크립트는 은행의 쿠키에 액세스 할 수 없어야합니다. 내가 여기서 뭔가를 놓치고 있니?

+0

에 GET 및 POST 요청을 보낼 웹 사이트 A를 방지하지 않기 때문에

CSRF를 들어, SOP는 대부분의 경우에 그것을 막을 수 없습니다. 브라우저에 항상 적용되므로 불행히도 CSRF를 중단하지는 않습니다. 미래에는 CSP와 같은 것이 공격을 막을 수는 있지만 현재 토큰 기반 접근법이 CSRF를 피하는 가장 좋은 방법입니다. – Erlend

답변

6

일반적으로 없습니다.

비 지속 또는 반영 XSS 공격은 적절한 위생 처리없이 페이지 내용으로 되풀이 된 입력을 그대로 유지하면서 악용합니다. 삽입 된 스크립트는 두 경우 모두 악용 도메인에서 온 것처럼 보입니다. echo $_GET['param']?param=<script>alert('got you!');</script> 이 아닌 지속적인 가상 XSS 공격이며, 동일 출처 정책은 그것과는 상관이 없다가 포함 된 누군가 페이지로 연결되는 링크를 보내 예를 들어

당신은 PHP에서이 작업을 수행합니다.

동일 출처 란 다른 도메인에서 직접 스크립트를 삽입하거나 DOM을 수정할 수 없다는 의미입니다. 이것이 바로 XSS 취약점을 찾아야하는 이유입니다.

+0

답변 해 주셔서 감사합니다. 내 새 편집에 대한 의견이 있으십니까? – Methos

+0

SOP는 images, style, iframe 및 script 요소의 src에 적용되지 않으며, 예를 들어 양식 대상에도 적용되지 않습니다. 그러나 XmlHttpRequest에 적용되므로 CSRF에 대한이 특정 공격 경로가 차단됩니다. https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet를 참조하십시오. – jakber

0

SOP는 일반적으로 XSS 또는 CSRF를 방지 할 수 없습니다.

XSS의 경우 jakber의 ​​대답이 이미 좋은 설명을 제공합니다. 공격자가 일반적으로 공격자가 제어하는 ​​다른 웹 사이트에서 악의적 인 자바 스크립트를로드하는 대상 페이지에 코드 (예 : <script src="...">)를 삽입 할 수 있기 때문에이 취약점을 "크로스 사이트"라고 부르는 이유를 추가하고 싶습니다. 다른 웹 사이트에서 Javascript를로드하는 것은 SOP에 의해 거부되지 않습니다. 그렇게하면 웹이 손상 될 수 있기 때문입니다. SOP는 SOP가 시작 또는 중지 것이 아닙니다 웹 사이트 B.

관련 문제