728x90
반응형
500점인 44번 문제를 풀어보자.
POST 방식으로 id값을 전달하면 문자열의 5자리만 변수 id에 저장되게 된다. 그리고 system 함수를 통해 "echo 'hello! {$id}'"가 실행되게 된다. echo로 출력에서만 끝나는 게 아니라 명령어를 실행하게 되면 문제를 해결할 수 있다.
- Command Injection?
Command Injection은 시스템 명령어를 호출하는 어플리케이션의 인자 값을 조작하여 의도하지 않은 시스템 명령어를 실행시키는 공격 기법이다. 이는 웹 어플리케이션이 많이 발전하지 못했던 시절에 특정 데이터를 처리하기 위해서 시스템 명령어를 웹 어플리케이션에서 호출하여 사용하던 것으로 인해 자주 발생한다.
해당 문제에서는 ls 명령어를 사용하게끔 만들자.
"echo 'hello! ';'ls'"
여기에서 세미콜론(;)은 리눅스에서 다중 명령어를 실행가능하게 해준다.
입력값 : ';'ls
언더바(_)뒤에 값이 플래그인 것 같아 시도해봤지만 처리가 되지 않았다.
확인해보니 flag_29cbb98dafb4e471117fec409148e9386753569e로 접속을 시도하니 flag값을 확인할 수 있었다.
728x90
반응형
'CTF & WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 46번 문제 (0) | 2020.03.15 |
---|---|
[webhacking.kr] 45번 문제 (0) | 2020.03.15 |
[webhacking.kr] 43번 문제 (0) | 2020.03.14 |
[webhacking.kr] 42번 문제 (0) | 2020.03.14 |
[webhacking.kr] 41번 문제 (0) | 2020.03.14 |