티스토리 뷰

SQL injection/webhacking

webhacking 58번

ys.k 2022. 8. 23. 00:54

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.

58번 문제이다.

채팅 프로그램 느낌의 gui가 보인다.

아무거나 보내보자.

1을 입력했더니 command not found를 출력했다.

아마 리눅스 명령어 느낌이 난다.

html 코드를 보자.

socket 통신을 이용해 값의 송 수신이 이루어진다.

username guest를 통해 통신을 한다.

그래서 뭘 해야 할까...

혹시나 해서 flag를 입력했더니 admin만 가능하단다.

한번 guest를 admin으로 수정후 입력해보자.

음... 커맨드를 일단 2개로 인식하였으며 admin이 정상적으로 수정된 것 같지 않다.

이번엔 3개의 명령어로 인식되었다.

또한 admin을 다른 방법으로 바꿨지만 정상적으로 작동하지 않는다..

이번엔 4개의 명령어가 출력되며 정상적으로 flag를 뽑아내었다.

검증해보자.

문제 해결

시행착오

1. 개발자 도구 console에서 새로운 함수를 정의해 줄 때, 중첩되어 작성되는 것 같다.

   ㄴ 그래서 시도 때마다 출력 값이 하나씩 많아진 것 같음.

      ㄴ 수정 -> 함수 선언마다 새로운 socket을 생성해서 많아진 거임.

2. 수정 -> 처음 개발자 도구에서 username을 admin으로 변조 후 flag를 입력했을 때 정상적으로 동작하지 않았다.

   ㄴ 이유는 새로운 함수를 선언하였지만, 내가 입력하는 곳은 변하지 않은 기존의 공간이기에 새로운 함수를 실행시킬 수 있는 방법으로 진행해야 한다. 

 

'SQL injection > webhacking' 카테고리의 다른 글

webhacking 59번  (0) 2022.08.23
webhacking 57번  (0) 2022.08.21
webhacking 56번  (0) 2022.08.21
webhacking 55번  (0) 2022.08.21
webhacking 54번  (0) 2022.08.21
댓글