
음 일단 메시지창 같은 게 떳습니다.

'hello'를 입력해서 send했더니 command not found가 뜨네요
다른 멘트를 시도해 봐도 비슷하게 나옵니다.
일단 ctrl+shift+i 로 소스코드를 살펴봅시다.

하ㅎ 제가 javascript는 공부를 하지 않아서 해독하기에는 힘드네요
그래도 여기 잘 보면 'cmd'라는 것이 보입니다.
아까 hello라고 입력해도 command not found라고 뜨는 것을 보아 아마도 cmd와 관련이 있는것 같네요
cmd에서 명령어들을 알아볼 수 있는 'help'를 입력해봅시다.

명령어가 총 4개가 있네요 help는 이미 입력 했으니 나머지 3개를 하나하나 입력헤 봅시다.

리눅스 명령어 ls: 디렉토리(directory)에 있는 내용(디렉토리, 파일 등)을 확인한다.
첫번째 명렁어(ls) 결과에서 디렉토리에 있는 파일은 index.js와 temp.html이라는 것을 알 수 있습니다.
리눅스 명령어 id: 현재 사용자의 실제 id와 유효 사용자 id, 그룹 id를 출력하며 내부 bash 변수인 $UID, $EUID, $GROUPS와 짝을 이룬다.
현재 uid=0, gid=0, groups=0이라는 것을 알 수 있습니다.

그리고 이 부분을 보면 username:명령어 형태로 socket을 보내고 있다.
소스코드를 복붙해서 콘솔창에 넣고,
username의 guest 부분을 admin으로,
$('#m').val()을 "flag"으로 바꿔준다.

그리고 아무거나 쳐서 보내주면

flag를 얻을 수 있다.
++처음에 $('#m')부분만 flag로 바꿨다가 계속 오류가 떠러 당황했다.
.val()함수로 값을 가져오는 거라고 한다.
https://www.codingfactory.net/10765
jQuery / Method / .val() - 양식(form)의 값을 가져오거나 값을 설정하는 메소드
.val() .val()은 양식(form)의 값을 가져오거나 값을 설정하는 메소드입니다. 문법 1 .val() 선택한 양식의 값을 가져옵니다. 예를 들어 var jb = $( 'input#jbInput' ).val(); 은 아이디가 jbInput인 input 요소의 값
www.codingfactory.net
'보안 공부 > webhacking.kr' 카테고리의 다른 글
webhacking.kr 20번 풀이 (0) | 2021.12.13 |
---|---|
webhacking.kr 19번 풀이 (0) | 2021.12.13 |
webhacking.kr 23번 풀이 (0) | 2021.12.07 |
webhacking.kr 54번 풀이 (0) | 2021.12.07 |
webhacking.kr 39번 풀이 (0) | 2021.12.06 |