Iriton's log
[webhacking.kr] old-44 : command injection 본문
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