webhacking.kr 58번(socket 통신과 자바스크립트)

Sirius·2023년 3월 24일


문제에 접속하면 명령어를 칠 수 있는 창이 뜬다.


소켓 통신의 코드이다.
현재 전송을 할 때 'guest'의 계정으로 전송을 한다.

취약점

$(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));
      });
    });

1. username을 "admin"으로 바꾼다.

2. cmd에 들어갈 텍스트를 'flag'로 바꾼다.

3. 콘솔창에 입력하고 아무 명령어나 입력

4. 해결

0개의 댓글