본문 바로가기

보안공부/Webhacking.kr 풀이

webhacking.kr 0번째 관문 - 회원가입

오늘의 주제는 http://webhacking.kr 의 0번째 관문으로도 불리는 회원가입입니다.


http://webhacking.kr 에 접속합니다.



접속했다면 다음과 같은 화면이 뜰건데요, 


사이트를 아무리 둘러봐도 Login 버튼만 있고 Register, 또는 Sign up 버튼은 없습니다.


그래서 어떻게 가입하냐구요?


가입법에는 두 가지 방법이 있습니다. 그럼 첫번째 방법을 먼저 설명해 드리겠습니다.


첫번째 방법


웹해킹을 한번이라도 접해보신 분들이라면 꼭 해보실 그것, 바로 페이지 소스 보기입니다!


혹시 처음 접하시는 분들을 위해 페이지 소스보기 하는법 첨부합니다.



페이지 소스보기에 들어가셨다면 다음 사진과 같이 뜰건데요,



위 코드를 둘러보시다가 눈치 빠른 분들은 얼추 눈치 채셨을것입니다.


코드에 아주 수상한 주석이 있습니다!

<!--
Register
===========================================
<input type="button" value="Register" onclick="location.href='join/includ2_join__frm__0001.php?mode=[사람마다 다른 코드]'" style="width:50pt;height:20pt;border:0;background:black;color:lightgreen">
===========================================
-->


이 주석의 내용을 해석해보자면 


이 버튼을 클릭을 했을때 

join/includ2_join__frm__0001.php?mode=[사람마다 다른 코드]' 

라는 링크 이동시키라는 Javascript 구문입니다.


따라서 주석이 없었다면, Register 버튼이 있었을 것이라는 소리죠.


그럼 우리가 직접 원래 저 버튼을 눌렀을때 보내주는 그 주소 가봅시다.


join/includ2_join__frm__0001.php?mode=[사람마다 다른 코드] 라 했으니,


우리가 가야할 곳은 당연히 http://webhacking.kr/join/includ2_join__frm__0001.php?mode=[사람마다 다른 코드] 겠네요.


그럼 이제 가입 창 주소를 구했으니 들어가면 되겠군요!


여기까지 하셨다면 하단의 공통 부분까지 내려가주세요.


두번째 방법


두번쨰 방법도 웹해킹을 접해보지 못했더라도 한번은 만져봤다는 그것, 바로 개발자 도구(F12)입니다!


F12키를 눌러 개발자 도구에 들어가시면 별도의 클릭, 또는 설정이 없었다면 자동으로 Elements 탭에 계실것입니다.


(크롬 기준) 개발자 도구의 왼쪽 상단에 위치하고 있는 Inspector를 켜줍시다.



Inspector로 사이트 이곳저곳을 확인해보니 뭔가가 잡힙니다.


이 부분에 대한 코드를 확인해보니 다음과 같습니다.



버튼이 주석처리 되어있는것을 확인하실 수 있습니다.


그 부분을 오른쪽 클릭하면 Edit as HTML 이라는 버튼이 있습니다. 



그 버튼을 누르면 다음과 같이 입력창으로 바뀝니다.


입력창에서 주석과 HTML 태그가 아닌 

<!--
Register
===========================================
===========================================
-->

을 지우고



저장해주면


사이트에 없던 Register 버튼이 뿅 하고 나타납니다. 




공통


해당 링크에 접속했다면 다음 사진과 같이 가입 폼(양식)이 뜰건데요,



그럼 이제 폼 내용을 채워볼까요?



이제 폼 내용을 다 채우고 [Submit]버튼을 누르고 작동시키려 하는 순간, decode me가 눈에 들어옵니다.


이 암호는 상용 암호화 인코딩중 하나인 Base64라는 암호화 방식입니다. 


Base64는 인코딩된 문자열의 마지막에 =이 2개(==) 포함되어 있어 다른 인코딩, 또는 암호화보다 판독하기 쉽습니다.


Base64는 Shift하여 계산하면 평문 계산이 가능한데 귀찮으니 개발되어 있는 사이트를 이용하도록 합시다 ><


base64decode.org 라는 사이트를 이용하겠습니다.


decode me의 암호문을 저 사이트에 Ctrl+C,V(복붙) 해주고  < DECODE >  버튼을 눌러줍시다.



복호화를 했는데도 평문이 나오질 않죠?


이런 경우에는 여러번 암호화를 한 경우입니다.


그럼 복호하때도 여러번 복호화를 해주면 됩니다.





세번정도 하니 평문이 나왔군요!


이제 저 평문을 아까 그 폼에 붙혀넣어 줍시다.



이제 작성이 완료되었으니 제출해봅시다.



회원가입이 완료되었군요!



로그인까지 되는걸 보니 가입에 성공했군요!



© 2018, H4CK_J00N(정준영)

TH4NK Y0U!!