2012-03-07 2 views
0

첫 번째 모바일 웹 앱을 만들 예정이며 Android 2.3의 브라우저가 httponly를 구현하지 못한다는 사실을 알았습니다.httpOnly 지원없이 세션 도용을 방지하는 방법은 무엇입니까?

이 문제를 완화 할 수있는 방법은 무엇입니까? 이것은 잃어버린 원인입니까?

+0

XSS 외에도 세션을 도용으로부터 보호하기 위해 보호해야 할 공격 경로가 많이 있습니다. https://www.owasp.org/index.php/Session_hijacking_attack을 참조하십시오. – Cheekysoft

+0

특히 감염된 Android 브라우저에서 스니핑을 걱정합니다. – avgvstvs

+1

스니핑에 대해 걱정할 경우 가장 중요한 2 가지 작업은 HTTPS를 통해 서비스를 실행하는 것입니다 (HTTP가 항상 HTTPS *로 리디렉션되고 종료 *되는지 확인하고 쿠키에 보안 속성이 설정되어 있는지 확인하십시오) ~ to HTTPS (물론 XSS에 대한 방어도 가능합니다.) CSRF 보호도 고려하십시오. HttpOnly에 대한 지원은 스니핑 공격에 도움이되지 않습니다. – Cheekysoft

답변

1

HttpOnly 플래그의 목적은 JavaScript가 세션 쿠키에 액세스하지 못하게함으로써 웹 응용 프로그램의 XSS (Cross-Site Scripting) 취약점의 피해를 제한하는 것입니다. 웹 응용 프로그램이 처음에 제대로 작성된 경우, 즉 XSS에 취약하지 않은 경우 (XSS 기반) 세션 도용으로부터 HttpOnly 플래그가 엄격하게 필요하지 않습니다. HttpOnly는 두 번째 방어선입니다.

클라이언트 제한으로 인해 HttpOnly 플래그를 사용할 수없는 경우 HTML, JS, CSS, JSON 또는 생성하는 형식에 포함 할 때 모든 동적 데이터를 올바르게 이스케이프 처리해야합니다. XSS를 방지하기 위해 컨텍스트에 따라 적절한 이스케이프 규칙. 또는이 작업을 수행하는 프레임 워크를 사용하십시오.

+1

https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet – Cheekysoft

+0

내 관심사는 * my * 응용 프로그램이 아닙니다. 다른 누군가가 내 쿠키를 훔치려 고 시도하는 안드로이드 브라우저에서 세션 하이재킹 공격을 막으려 고 걱정합니다. (기록을 위해, 나는 양심의 가책이 아니며, 이것이 실제적인 위협인지는 모르겠다.) – avgvstvs

+0

쿠키 도용과 세션 하이재킹/고정이 가장 확실한 위협이다. 그러나 쿠키를 안전하게 유지하려는 웹 응용 프로그램을 다시 코딩해야 해결할 수 있습니다. 서비스를 사용하지 않는 경우를 제외하고는 브라우저로 사용자가 할 수있는 일이 없으며 HTTPS 버전의 서비스 만 사용하도록해야합니다 (그러나 후자의 경우 사용자 인을 통해 쿠키 stealage가 남아 있습니다. 쿠키가 HTTPS로만 설정되지 않은 경우 중간 문제) – Cheekysoft