본문 바로가기

[Wargame Write-up]/WebGoat

[WebGoat] [Injection Flaws] Command Injection

Command Injection은 웹페이지에서 DOS, Linux 명령어를 실행하도록 구현되어 있을 때, 


공격자가 임의의 명령어를 삽입해 정보를 탈취하거나, 악성코드를 실행하도록 유도할 수 있는 공격이다.


현재 Windows 10으로 풀이를 하고 있어 cmd /c 이후 help 페이지의 내용을 읽는 DOS 명령어(type)를 사용하고 있다.




select 태그 쪽을 살펴보자. 2번째 옵션을 수정할 것이다.




이렇게 수정하면


cmd /c type "...\Backdoors.help"가 먼저 실행되고, 자기 자신에게 ping을 날리게 된다.


DOS의 &는 Linux의 ;와 같이 두 명령어를 한 줄에 작성할 수 있게 하여, 작성된 모든 명령어를 실행하게 한다.

(참고로 Pipe와는 다르다. Pipe는 | 기호 왼쪽 명령의 결과를 오른쪽 명령으로 전달시키기 때문에 그 기능이 좀 다르다.)




2번째 옵션을 선택한 후, View를 누르면




페이지를 읽은 후 ping을 실행하는 모습을 볼 수 있다.