Webhacking.kr 5번 [문제 풀이]
- 해킹/웹해킹
- 2019. 5. 2.
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번 문제를 풀어보았습니다.
+추가
ㅎㅎ오랜만에 풀어서 그런지 재미있네요.
뭔가 지금까지 몇 번 하고요.