보안 실습

[문제 풀이] Suninatas Web 문제 2

1학년 2024. 7. 8. 21:41

2번을 들어가면 이런식으로 떠있는데

일단 개발자도구 (f12)를 들어가서 소스코드를 먼저 살펴보았다.

script부분을 확인해 읽어보니

id와 pw 가 같다면 You can't join! Try again라는 팝업창을 alert를 이용해 띄우고

id와 pw의 값을 "" 공백으로 다시 설정한다

그리고 id와 pw가 같지 않으면 else부분으로 들어가 submit()을 통해 서버에 제출한다

사실 소스코드는 읽어서 이해는 되었지만 어떻게 해야 Authkey가 나오는지는 모르겠어서 생각을 많이 했는데

Hint에 id와 pw가 같은 상태로 join이 되면 뭔가 나올 것이라는 부분을 확인하였다.

그래서 

burpsuite와 개발자도구의 console을 이용해 두가지로 id와 pw가 같도록 만들어 보았다.

 

<burpsuite>

intercept 를 켜주고 

id와 pw를 다르게 해준뒤 join을 else submit함수가 실행되도록 한다.

burpsuite 패킷에 작성된 id와 pw부분

burpsuite를 이용해 패킷을 잡아 id와 pw가 작성된 부분에서 값을 같게 수정해준다. 

이후 Forward를 통해 수정된 패킷을 보내면 

Authkey를 확인할 수 있다.

 

<개발자 도구>

여기서는 id와 pw의 값을 같게 작성해준뒤 

 

console에서 서버에 제출할 수 있도록

submit()를 작성해준다.

enter를 치고 확인해보면

authkey를 확인할 수 있다.

 

문제를 풀 때 Hint를 잘 보지 않는 성격이라 고생을 좀 했던 것 같다..

이제는 Hint도 잘보기로..