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

+ Recent posts