CTF & WarGame/webhacking.kr
[webhacking.kr] 44번 문제
라임패션
2020. 3. 15. 01:54
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
반응형