Webhacking.kr 5번 [문제 풀이]

Webhacking.kr 5번 [문제풀이]

안녕하세요.

오늘은 webhacking.kr이라는 사이트의 5번 문제를 풀어보려고 합니다.

문제를 풀기 위해 해당 사이트로 이동해주세요.

웹 해킹 5번 문제풀이 [300점]

5번을 풀기 위해 들어가 보면 아래 사진처럼 초기 화면이 보일 겁니다

login버튼과 join버튼이 보이네요.

먼저 join버튼을 눌러봤습니다.

Access_Denied가 나오네요.

이번에는 login을 눌러보겠습니다.

(아이디는 아무거나 입력해봤습니다.)

이것도 Access Denied가 나오네요.

id is not admin이라고 나오는 것을 보니 아이디를 admin으로 해서 로그인해야 할 것 같습니다.

아이디를 admin으로 하고 비밀번호는 대충 입력해봤습니다.

 

역시나 Wrong password라고 나오네요.(어차피 비밀번호는 모릅니다.ㅋㅋ)

injection문제인가 생각했는데 아닌 것 같았습니다.

그럼 대충 둘러봤으니 다시 처음 화면부터 살펴보겠습니다.

처음 화면에서 개발자 도구 f12로 코드를 살펴보다가 mem/login.php라는 문자를 발견했습니다.

mem이라는 단어를 주소에 붙여보니 index of /hint가 나옵니다.

여기에 join.php가 보이네요.

눌러서 들어가 보겠습니다.

들어가 봤는데 아무것도 안 보이네요.

일단 진짜 아무것도 없는 건지 확인해보기 위해서 소스코드 보기를 해봤습니다.

ㅎㅎ 못 알아보겠네요.(이런 것을 난독화라고 하던가요?)

이상하게 쓰여있는 부분을 대충 복사해서 크롬의 콘솔에 붙여 넣어서 복호화했습니다.

물론 이렇게 하면 잘 못 알아보겠지만 그냥 한번 해보시면 뭔지 알 거예요.

귀찮아서 안 올리려고 했는데 그냥 올려봅니다.

즉, 올드좀비 쿠키를 추가해주고 주소 뒤에 mode=1을 해주면 되는 것 같네요.

저는 구글 크롬의 edit this cookie라는 크롬 확장 프로그램을 사용해 쿠키를 추가시켰습니다.

쿠키를 추가시켰으니 주소 뒤에 mode=1을 입력해서 들어가 보겠습니다.

mode=1을 추가해주니 join창이 나왔습니다.

admin이라는 아이디에 대충 비밀번호를 입력해서 가입을 시도했지만 안되네요.

admin이 존재해서 그냥 admin만 입력하면 안 되는 것 같습니다.

*해결방법<소스코드 수정>

id를 10글자까지 입력받을 수 있게 만들었습니다.

그 후 admin을 입력하고 띄어쓰기를 한번 해서 제출했습니다.

(솔직히 될지 안 될지 몰랐습니다.)

가입이 성공적으로 되었네요.

이제 로그인하러 가볼게요.

admin을 입력하고 방금 설정한 비밀번호를 입력합니다.(여기선 띄어쓰기 안 하셔도 됩니다.)

이렇게 해서 5번 문제를 풀어보았습니다.

+추가

ㅎㅎ오랜만에 풀어서 그런지 재미있네요.

뭔가 지금까지 몇 번 하고요.

Designed by JB FACTORY