[Normaltic's CTF] Steal Info 2

2024. 7. 5. 23:05정보보안 및 해킹/CTF

admin계정의 마이페이지의 정보란 이라고 합니다

찾아내시오...?

일단 출발합시다

회원가입과 로그인 진행하고 마이페이지에 들어가줍니다

정보란 이라고 했으니 정보란의 구성요소를 확인할 필요가 있습니다.

정보란은 input태그, name은 info, id는 userinfo, placeholder는 Nothing Here네요

아마도 placeholder는 바뀔 것이기 때문에 빼고, 특정해서 가져올 수 있는 구성은 name과 id겠습니다.

우선 이것도 마이페이지의 구성요소를 가져올 필요가 있기 때문에 iframe을 사용하고자 글을 저장할 수 있는 공지 사항쪽으로 위치를 옮겨와 줍니다.

공지 사항에 들어왔으면 일단 XSS공격에 필요한 특수문자인 < ' " >가 Burp Suite의 Response에서 어떻게 보이는지 확인해봅니다.

제목 쪽에서는 HTML Encoding이 일어나고 있으나, 내용 쪽에선 그대로 들어가고 있습니다.

내용 쪽을 공략하면 될 것 같습니다.

우선 마이페이지에서 요청이 어떻게 가는지 확인합니다.

뒤에 user=뒤에 아이디가 붙는 식으로 가는 것을 확인했습니다.

admin계정이라고 했으니 제 아이디를 빼고 admin을 붙여넣으면 될 것 같습니다

iframe을 만들고 admin계정이라고 했으니 mypage의 요청 뒤에 user에 admin을 넣습니다. id는 임의로 설정합니다.

EventListener로 DOMContent가 전부 로드되기를 기다립니다.

getElementById로 iframe을 가져와서 변수에 담아줍니다.

담은 변수를 document화 시키기 위해 .contentDocument합니다.

그리고 아까 확인한 구성요소(getElementById('userInfo').placeholder)를 가져옵니다. Id는 유일하기 때문에 인덱스를 붙이지 않아서 가장 편합니다.

해당 구성요소를 잘 가져왔으면 VPS로 그대로 전송합니다.

물론 이 모든건 제 아이디로 진행하면 의미가 없습니다. admin계정이 아니니까요.

이것도 물론 관리자에게 보내서 대신 하게 합니다.

URL을 복사해서 관리자가 방문하는 페이지에 붙여넣어 방문하게 합니다.

'정보보안 및 해킹 > CTF' 카테고리의 다른 글

[Normaltic's CTF] GET Admin 2  (0) 2024.07.09
[Normaltic's CTF] GET Admin 1  (0) 2024.07.09
[Normaltic's CTF] Steal Info 1  (0) 2024.07.05
[Normaltic's CTF] Basic Script Prac  (0) 2024.07.05
[Normaltic's CTF] XSS Challenge  (2) 2024.06.25