WEB/webhacking.kr (old)

webhacking.kr 58번

hongjw 2020. 2. 18. 23:20

command창이 나오길래 명령어를 입력해봤다.

challenge 58 첫화면

ls를 입력하면 index.js temp.html이 출력되고, flag를 입력하니까 persmission deniend... admin only! 이라고 출력되었다.

 

힌트를 얻기위해 소스코드를 보았다.

socekt.io() : 실시간으로 상호작용하는 웹 서비스를 만드는 기술인 웹소켓을 쉽게 사용할 수 있게 해주는 모듈

var socket = io() 부분이 socket을 연결해주고, socket.emit함수로 데이터를 전송하고 socket.on함수로 수신한다.

e.preventDefault() : 페이지를 이동시키거나 form안에 있는 input 등을 전송한다던가 그 동작을 중지시키는 함수

 

코드를 보면, 소캣통신을 하는데 username은 'guest'로 되어있고 'guest:입력값'을 전송한다.

소캣 통신을 할 때, username을 admin으로 바꿔주면 flag값을 볼 수 있을 것이다.

username을 바꿔주기 위해서는 프록시를 이용해야한다.

 

 

fiddler에서 F11(Before request)을 누르고, 새로고침을 한다.

그 다음 쿠키정보를 삭제하고, Break on Response를 누른다. (브라우저한테 요청 전, username을 바꾸기 위해)

-> 쿠키정보를 삭제하는 이유는 새로운 통신이라는 것을 알려주기 위해서이다.

username을 admin으로 바꾸고, Run to Completion을 누르면 username이 바뀐채로 브라우저에게 전송된다 !

 

그리고 다시 입력창에 flag를 치면, FLAG값이 출력된다 ㅎㅅㅎ!

 

 

참고

>> https://medium.com/wasd/node-js%EC%99%80-socket-io%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%B1%84%ED%8C%85-%EA%B5%AC%ED%98%84-1-cb215954847b

>> https://nesoy.github.io/articles/2017-04/Socket.io

>> https://pa-pico.tistory.com/20

'WEB > webhacking.kr (old)' 카테고리의 다른 글

webhacking.kr 61번  (0) 2020.02.19
webhacking.kr 59번  (0) 2020.02.18
webhacking.kr 56번  (0) 2020.02.17
webhacking.kr 54번  (0) 2020.02.16
webhacking.kr 51번  (0) 2020.02.16