Iriton's log

[webhacking.kr] old-44 : command injection 본문

WebHacking/WarGame

[webhacking.kr] old-44 : command injection

Iriton 2023. 11. 21. 16:32

name을 입력 후 제출하면 인사를 해준다.

여기에 어떤 명령어를 넣어야 할 거 같다.

 

view-source로 소스코드를 살펴보자

대놓고 system 함수를 이용하여 ls를 실행하라고 한다.

 

system 함수는 한 줄에 여러 명령어를 사용할 수 있다.

따라서 주어진 echo hello 뒤에 세미콜론으로 구분을 해 주고 ls를 넣으면

echo hello 명령 실행 후 ls 실행이 된다.

 

하지만 해당 코드에서는 싱글 쿼츠 안에 아까 name에서 입력 받은 값을 넣어준다.

name에서 임의로 싱글 쿼츠를 닫아주면 그 이후로는 내가 마음대로 명령어를 사용할 수 있다.

'; ls '를 입력하면

첫 번째 싱글쿼츠로 소스코드에 있는 싱글쿼츠를 닫을 수 있다.

세미콜론으로 구분 후 ls를 입력하면 되는데, 소스코드에 떠도는 싱글쿼츠가 하나 있기에 싱글쿼츠를 추가해서 해당 문자를 공백으로 만들어서 닫아준다.

 

그럼 ls 명령어도 실행이 되면서 해당 디렉토리에 존재하는 파일을 띄운다.

flag의 경로를 알았으니 url로 접근할 수 있을 것이다.

(현재 url 주소는ls로 확인할 수 있는 파일인 /index.php이기에, url로 flag 또한 접근이 가능할 것이다.

index.php가 아닌 flag_29... 으로 바꿔주자.)

 

 

'WebHacking > WarGame' 카테고리의 다른 글

[Dreamhack] Beginner: php7cmp4re  (0) 2024.05.01
[Dreamhack] Lv.1 Command Injection Advanced  (1) 2023.11.21
[Dreamhack] Lv.1 command-injection-chatgpt  (0) 2023.11.15
[Dreamhack] Lv.1 csrf - 1  (0) 2023.11.14
[Webhacking.kr] Challenge 23  (0) 2023.11.14
Comments