Code::Security/비박스(BWAPP)

비박스(bWAPP) A5 Cross-Site Tracing (XST)

태군 코드 2022. 9. 7. 16:50
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
 

A5 - Cross-Site Tracing (XST)

 

교차 사이트 추적 (Cross-Site Tracing XST)  공격 에는 XSS(교차 사이트 스크립팅) 및 TRACE 또는 TRACK HTTP 메서드의 사용이 포함됩니다. RFC 2616에 따르면 "TRACE를 사용하면 클라이언트가 요청 체인의 다른 쪽 끝에서 수신되는 내용을 확인하고 해당 데이터를 테스트 또는 진단 정보에 사용할 수 있습니다." TRACK 방법은 동일한 방식으로 작동하지만 Microsoft의 IIS에만 해당됩니다. 웹 서버. XST는 쿠키에 " HttpOnly " 플래그가 설정되어 있거나 사용자의 Authorization 헤더를 노출하더라도 XSS(교차 사이트 스크립팅)를 통해 사용자 쿠키를 훔치는 방법으로 사용될 수 있습니다.

 

sm_xst.php

sm_xst.php 페이지를 살펴보면 HTTP TRACE 메서드를 사용할 수 있습니다. 웹 서버는 XST에 취약합니다. HTTP Only 플래그가 설정되어 있더라도 XST를 사용하여 쿠키 도용이 가능합니다. 힌트: XSS를 사용하여 세션 쿠키를 훔치십시오. 최신 브라우저는 취약하지 않습니다.라는 메시지를 확인할 수 있습니다. 그럼 NMAP을 통해 어떤 메서드가 오픈되어 있는지 알아보도록 하겠습니다.

 

NMAP을 이용한 메서드 확인

NMAP을 통하여 오픈되어 있는 메소드를 확인해 보면 GET, HEAD, POST, OPTIONS, TRACE를 확인할 수 있으며 잠재적으로 위험한 메서드는 TRACE라고 나와 있습니다. 이제 버프 스위트를 통하여 2개의 도메인에 대하여 각각에 대한 TRACE 메서드를 호출하여 결과 값을 비교해 보도록 하겠습니다.

 

TRACE http://testphp.vulnweb.com/

먼저 acunetix에서 제공하는 PHP 테스트 페이지를 TRACE 메서드를 통하여 호출을 하면 405 NOT Allowed 결과값을 확인할 수 있습니다. HTTP 405 오류는 웹 서버에서 요청된 URL에 대해 HTTP 메서드를 허용하지 않을 때 발생합니다.

 

TRACE sm_xst.php

sm_xst.php 페이지를 TRACE 메서드로 요청할 경우 요청 패킷을 그대로 응답 패킷으로 반환을 해주고 있습니다. 이처럼 응답 패킷을 그대로 반환을 해주기 때문에 스크립트를 통하여 사용자의 쿠키 탈취가 가능하다는 걸 확인할 수 있습니다.

 

참고

https://owasp.org/www-community/attacks/Cross_Site_Tracing

https://www.pentestpartners.com/security-blog/vulnerabilities-that-arent-cross-site-tracing-xst/

https://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf

반응형