보안 공부/webhacking.kr

webhacking.kr 58번 풀이

sh1256 2021. 12. 13. 12:16
728x90

첫화면

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

'hello'를 입력해서 send했더니 command not found가 뜨네요

다른 멘트를 시도해 봐도 비슷하게 나옵니다. 

 

일단 ctrl+shift+i 로 소스코드를 살펴봅시다. 

소스코드

하ㅎ 제가 javascript는 공부를 하지 않아서 해독하기에는 힘드네요

그래도 여기 잘 보면 'cmd'라는 것이 보입니다. 

아까 hello라고 입력해도 command not found라고 뜨는 것을 보아 아마도 cmd와 관련이 있는것 같네요 

cmd에서 명령어들을 알아볼 수 있는 'help'를 입력해봅시다. 

 

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

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