<목표 : 사이트의 취약점을 찾아서 admin 계정으로 로그인을 하자!>
* admin 계정의 아이디는 "admin" 이다!
사이트에 들어왔으니 주어진 아이디로 로그인을 해보자.
이후 버프스윗으로 패킷을 확인해보겠습니다.
로그인 성공 | 로그인 실패 |
로그인 성공과 실패시 뜨는 문구가 서로 다릅니다.
Content-Type 헤더가 Json 인것으로 보아 자바스크립트에서 로그인에 관여하고 있다고 생각이 됩니다.
자바스크립트 파일에 뭐가 있는지 확인해 봐야겠습니다.
방금 보낸 요청에 대한 응답을 잘 살펴보니 이상한 파일이 하나 보입니다..
응답의 제일 하단부에서 평소에 못보던 login.js 파일을 발견했습니다.
자바스크립트로 login 인증을 하는 파일인것 같으니 한번 들어가서 조작할 요소가 있는지 판단해봅시다.
중간 부분에서 if 문으로 resultData 의 값이 "ok" 면 인증이 되는것으로 보입니다.
그러면 저 문자열을 data.result 값이 아닌 아예 ok 로 고정시켜버리겠습니다.
요런식으로 const 상수를 var 변수로 바꿔서 resultData 에 ok 라는 문자열을 넣어주었습니다.
이 상태로 아이디 창에 ID: admin / PASS:1234 를 넣어보겠습니다.
틀린 비번이라도 결과가 무조건 ok 이기 때문에 인증이 될것으로 보입니다.
요청을 보냈지만 한번 반짝이더니 여전히 Login 창에서 머물렀습니다.
하지만 뭔가 반짝였다는건 리다이렉션이 한번 이뤄졋다는 거니 버프스윗으로 살펴보겠습니다.
역시! admin 페이지로 이동하게 됬습니다!
이동한 후 스크립트가 새로고침 되어서 바로 거부당한것 같습니다.
하지만 admin 페이지에 있는 내용은 볼 수 있었습니다!
이번 문제를 풀면서 자바스크립트에 대한 지식이 많이 부족함을 느꼇습니다.
키로거 와 쿠키탈취 알고리즘을 자바스크립트로 짜보면서 자바스크립트에 대한 이해를 좀더 늘려야 겠다고 생각이 되었던 시간이였습니다
'워게임 문제풀이 > Segfault' 카테고리의 다른 글
<Segfault> 워게임 문제풀이[6편] - SQL Injection3 (1) | 2024.05.31 |
---|---|
<Segfault> 워게임 문제풀이 [5편] - Secret Login (0) | 2024.05.22 |
<Segfault> 워게임 문제풀이 [4편] - Login Bypass 3 (0) | 2024.05.21 |
<Segfault> 워게임 문제풀이 [2편] - PIN CODE Bypass (0) | 2024.05.20 |
<SegFault> 워게임 문제풀이 [1편] (0) | 2024.05.15 |