58번을 누르면 위와 같은 문제가 나온다.
1을 보냈을 때는 command not found라는 메시지가 뜬다.
명령어를 입력하는 곳인 것 같아서 ls를 쳐보았다.
그랬더니 index.js와 temp.html 파일이 있음을 알 수 있었다.
안 되는 linux 명령어가 많아서 되는 명령어를 확인하기 위해 help를 입력하였다.
help를 입력하니 ls, id, flag, help 총 4개의 명령어가 있는 것을 확인할 수 있고 id와 flag를 각각 입력해 보았다.
위는 id를 입력한 결과, 아래는 flag를 입력한 결과이다.
소스코드를 확인해 보았다.
각각의 문법을 간단히 살펴보자.
socket = io()를 통해 새로운 소켓을 생성해주고, emit()을 통해 메시지를 보낸다.
그런 다음 on을 통해서 서버의 응답을 보여주고 있다.
지금 보내는 메시지를 보면 username:보내는 명령어 구조로 되어 있는데,
위에서 admin만 플래그 값을 볼 수 있다고 했으니 admin:flag로 메시지를 보낸다면 flag 값을 얻을 수 있을 것이다.
$('#m').val()이 입력값이니까 이를 flag로 바꾸고 username을 admin으로 바꾼다.
그럼 FLAG 값이 뜨게 된다.
플래그 값을 입력했더니 문제가 풀렸다!
'Wargame > Webhacking.kr' 카테고리의 다른 글
Webhakcing.kr old 20번 문제 풀이 (0) | 2021.05.02 |
---|---|
Webhacking.kr old 1번 문제 풀이 (0) | 2021.05.01 |
Webhacking.kr old 32번 문제 풀이 (0) | 2021.04.28 |
Webhacking.kr old 31번 문제 풀이 (0) | 2021.04.28 |
Webhacking.kr old 27번 문제 풀이 (0) | 2021.04.27 |