워게임 문제풀이/Segfault

<Segfault> 워게임 문제풀이 [XSS 4]

무너박사 2024. 7. 1. 19:56

목표: 관리자의 쿠키를 탈취하라!


 

실습 사이트에 들어왔습니다.

일단 마이페이지 부터 차근차근 살펴보도록 하죠.

 

<마이페이지>


 

일단 URL 에 있는 변수를 바꿔준다고 페이지에 출력되는 값이 변하는것은 아닌것 같습니다.

마이페이지에서 이용해볼만한건 이정도 인것 같으니 게시글 페이지로 이동해주겠습니다.

 


<게시글 페이지>

 

게시글 페이지에 들어왔습니다.

일단은 입력가능한 곳은 Search 를 통한 게시글검색 및 게시글 작성인것 같습니다.

일단 게시글 검색에 james라는 없는 이름으로 검색해서 오류창을 일으켜 보겠습니다.


 

입력값 : james alert창

 

일단은 알림창이 뜨지만 저희가 입력한 값이 출력되진 않습니다.

아직까지는 XSS 에 사용할 만한 요소는 보이지 않네요.

그러면 게시글 작성 페이지로 이동하여 < " ' > 같은 특수문자가 허용이 되는지 체크해보겠습니다.

 


<게시글 작성 페이지>

 

게시글 작성
Burp Suite 로 확인한 게시글 내용

 

 

어라? Html Entity 처리가 되지않고 특수문자가 그대로 삽이되는것을 보실 수 있습니다.

그러면 POC 코드가 작동 되는지 스크립트 코드를 작성해서 넣어주겠습니다.

 


 

 

게시글 작성
Burp Suite 로 확인한 게시글 내용

 

뭔가 이상합니다. 특수문자는 들어갔지만 script 라는 글자와 alert 라는 글자가 사라졌습니다...

XSS 를 막기위한 방법중 대표적인 방법은 HTML Entity , 블랙리스트 필터링 , 화이트리스트 필터링 입니다.

그러면 HTML Entity 가 아닌것은 확인했으니 블랙리스트 필터링으로 막고있는것 같습니다.

 

그러면 대소문자 혼용을 하여 필터링을 우회하여 보겠습니다.

예상되는 필터링 단어 : script , alert

입력해줄 단어 : Script , prompt(1)

 


 

 

게시글 작성
Burp Suite 로 확인한 게시글 내용

 

 

결과는. ...

 

 

무사히 스크립트 코드가 동작하게 됐습니다!

그러면 POC 코드 동작확인도 했으니 쿠키탈취 코드를 넣어주겠습니다.

 


 

게시글 작성
쿠키탈취 코드 동작확인

 

쿠키가 무사히 제가 설정한 사이트로 보내지는것을 확인하였습니다.

그러면 관리자의 컴퓨터로 스크립트를 삽입한 게시물에 접근을 해보겠습니다.

 


 

관리자의 컴퓨터로 스크립트 삽입한 게시물 접근

 

 

 

 

무사히 관리자의 쿠키(flag) 값을 흭득하였습니다!

 


긴 글 읽어주셔서 감사합니다!