Webhacking Writeup old-5문제입니다.
접속해보면 Login과 Join이 있습니다.
먼저 Login부터 접속해보겠습니다.
어디가 id고 pw인지 모르겠지만 대충 위에가 id이고 아래가 pw인것으로 예상됩니다.
해서 가장 무난한 guest로 로그인을 먼저 시도해보았습니다.
guest도 실패하고 여러가지 시도를 했으나 방법이 없어
join으로 들어가 보기로 했습니다.
아니 join은 아예 접속부터가 막혀있습니다 결국 Login에 돌아가서
해결해야 하는 문제인가 봅니다...
몇시간 삽질을 하면서 메인 화면과 Login화면을 왔다갔다가 하다가
이상한 점을 찾았습니다.
Login.php로 바로 가는게 아닌 mem을 거쳐서 가더라구요?
정리하자면
아래와 같은 순서로 URL이 잡혀있다는건데 Login만 사용할거라면
굳이 이렇게 쓸이유가 없는데 라는 생각에 mem으로 접속해보았습니다.
SQL문제인줄알고 열심히 삽질했던게 부끄러워졌네요
아무튼 join.php에 들어갈수 있게 됬으니까 해결에 좀더 가까워졌습니다.
오 그래도 이번에는 접속불가가 아닌 bye라는 군요
일단 스크립트를 확인눌르고 소스코드를 열어보겠습니다.
아 내눈...이전에 자바스크립트 이모티콘 문제가 생각납니다...
그 문제를 해결하고 활동하고 있는 스터디에서 배운점이 몇가지 있는데요
1. 콘솔에 변수명을 입력해보면 값이 나온다.
2. vsc 같은 편집기를 이용하면 깔끔한 개행이 가능하다.
일단 눈이 아프니 깔끔하게 정렬해보겠습니다.
아 이렇게 보니 편안하네요.
일단 알파벳과 숫자 점(.) , < 등을 L소문자와 i 대문자로 이루어져있네요
거기에 아래에는 if 실행문들이 저위에 바꿔놓은 변수명으로 이루어져있습니다.
그래도 포기하지 않고 이전에 배운 콘솔을 이용해 해석해보겠습니다.
이렇게 자동으로 해석이 됩니다.
이제 전부 해석해서 코드에 넣어 읽기 쉽게 정리해보면
한줄씩 해석해보겠습니다.
먼저 if 문을 보면 oldzombie 라는 쿠키값이 없는 경우 bye를 alert 합니다.
또한 URL에 GET형식으로 mode=1 이 아니라면 접근불가라는 군요.
위의 조건이 모두 통과된다면 ioin.php를 출력해준다고 합니다.
이곳에서 id와 pw를 입력할수 있는 input형식이 이루어져있다고 합니다.
그럼 쿠키값과 URL에 삽입해 접속을 해보겠습니다.
oldzombie의 값을 따로 정해주지 않아 대충 aa를 넣고
url에는 mode=1을 추가했습니다.
id와 pass를 입력하는 곳이 생겼습니다.
그럼 guest를 먼저 입력해보겠습니다.
오 success라네요
그럼 login으로 가서 로그인해보겠습니다.
오 처음으로 로그인에 성공했습니다!!
그런데 admin으로 로그인을 하는게 목표라네요
그럼 다시 돌아가서 admin으로 등록하고
접속하면 되겠습니다.
id pass를 동일하게 잡아두고 제출을 했더니
이미 있는 아이디 랍니다...
이러면 어떻게 해결해야하나 삽질을 조금하다가
활동하는 스터디 톡방에서 애기가 나왔던 SQL특이한 점에 대한것이 기억났습니다.
아래 링크에서 배울 수 있던 내용이였는데요.
https://techblog.woowahan.com/2559/
MySQL에서 ‘a’ = ‘a ‘가 true로 평가된다? | 우아한형제들 기술블로그
{{item.name}} DB 알못의 어떤 리서치 개요 안녕하세요 기계인간 이종립입니다. FC플랫폼개발팀에서 배민찬 백엔드를 개발하고 있습니다. DB알못인 저는 업무 중에 우연히 MySQL에서 'a' = 'a '의 결과가
techblog.woowahan.com
Mysql 에서는 'a' = ' a ' 가 true로 나온다는 점이였습니다.
즉 'admin' 으로 로그인 해야하지만 ' admin ' 으로 가입을 하고
로그인 해도 동일하다는 점이였습니다.
일단 이게 될지 안될지 모르지만 시도해볼 가치는 있었습니다.
결과는
성공했습니다!
이제 ' admin ' 으로 로그인을 하면 문제가 해결될것입니다.
해결되자마자 캡쳐를 못했지만
문제가 해결되었습니다!
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 54번 문제 (0) | 2022.08.12 |
---|---|
Webhacking Writeup 58번 문제 (0) | 2022.08.12 |
Webhacking Writeup g00gle2 문제 (0) | 2022.08.10 |
Webhacking Writeup RPG1문제 (0) | 2022.08.09 |
Webhacking Writeup 33번 문제 (0) | 2022.07.28 |