손상된 인증 테스트

애플리케이션과 관련된 인증 기능이 올바르게 구현되지 않으면 해커가 암호 또는 세션 ID를 손상 시키거나 다른 사용자 자격 증명을 사용하여 다른 구현 결함을 악용 할 수 있습니다.

간단한 다이어그램을 통해이 결함의 위협 원, 공격 벡터, 보안 약점, 기술적 영향 및 비즈니스 영향을 이해하겠습니다.

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

사이트의 인증 된 사용자는 할인 된 판매에 대해 알기 위해 URL을 친구에게 전달합니다. 그는 사용자가 세션 ID를 제공한다는 사실을 알지 못한 채 위의 링크를 이메일로 보냅니다. 그의 친구들이 링크를 사용할 때 그들은 그의 세션과 신용 카드를 사용합니다.

손에

Step 1− Webgoat에 로그인하고 '세션 관리 결함'섹션으로 이동합니다. 쿠키를 스푸핑하여 감성을 우회합시다. 아래는 시나리오의 스냅 샷입니다.

Step 2 − webgoat / webgoat 자격 증명을 사용하여 로그인하면 Burp Suite에서 JSESSION ID가 C8F3177CCAFF380441ABF71090748F2E이고 인증 성공시 AuthCookie = 65432ubphcfx임을 알 수 있습니다.

Step 3 − 자격 증명 측면 / 측면을 사용하여 로그인 할 때 Burp Suite에서 JSESSION ID가 C8F3177CCAFF380441ABF71090748F2E이고 인증 성공시 AuthCookie = 65432udfqtb임을 알 수 있습니다.

Step 4− 이제 AuthCookie 패턴을 분석해야합니다. 전반부 '65432'는 두 인증 모두에 공통입니다. 따라서 이제 우리는 각각 webgoat 사용자의 경우 ubphcfx 및 aspect 사용자의 경우 udfqtb와 같은 authcookie 값의 마지막 부분을 분석하는 데 관심이 있습니다.

Step 5− AuthCookie 값을 자세히 살펴보면 마지막 부분은 사용자 이름과 길이가 같습니다. 따라서 사용자 이름이 일부 암호화 방법과 함께 사용되는 것이 분명합니다. 시행 착오 / 무력화 메커니즘을 통해 사용자 이름을 뒤집은 후 webgoat; taogbew로 끝나고 알파벳 앞의 문자가 AuthCookie로 사용됩니다. 즉 ubphcfx.

Step 6−이 쿠키 값을 전달하고 어떤 일이 발생하는지 살펴보면. 사용자 웹 염소로 인증 할 때 4 단계와 5 단계를 수행하여 동일한 AuthCookie를 찾아 사용자 Alice를 모의하도록 AuthCookie 값을 변경합니다.

메커니즘 방지

  • OWASP의 애플리케이션 보안 검증 표준에 정의 된 모든 인증 및 세션 관리 요구 사항을 충족하도록 강력한 인증 및 세션 관리 제어를 개발합니다.

  • 개발자는 세션 ID를 훔치는 데 사용할 수있는 XSS 결함을 방지해야합니다.