Wargame/BeeBox
Beebox[OS Command Injection]
❓ Command Injection : OS명령어를 입력하여 내부정보 유출 및 악의적인 행위를 수행(매우심각❗)
1. LOW
(1) 입력
해당 입력창에 도메인을 입력하면
nslookup을 실행해주네요
아마 서버로 접근하는 포트는 막혀있을 것이니..
내 PC에서 포트를 열어놓고 서버에서 접근하도록 하는 것이 좋겠죠?
그러면
nc -l -p 1234
▶ 내 PC에서 위와 같이 입력해주세요
▶ 넷캣의 -l은 리스닝모드이고, -p 다음에는 오픈할 포트를 적어주세요
보통 칼리를 많이 쓰지만 저는 우분투를 사용했어요
서버에서는 내 PC의 IP를 입력해서 접속하려고 합니다.
(2) 공격
-e /bin/bash 옵션은 shell을 이용해서 상호작용할 수 있도록 하기위해서지요
서버에서 내 PC로 연결을 한 후 내 PC에서 명령어를 실행한 결과에요
명령어가 정상적으로 실행되고 결과도 얻을 수 있네요!!
2. Medium & High
(1) 소스코드 확인
Low와 동일하게 입력해보았지만 실행이 되지 않네요
Medium은 commandi_check_1을 호출하고
High는 commandi_check_2를 호출하네요
Medium은 &와 ;사용을 막고있네요
&와 ; 대신 |를 사용합니다!!
위와 같이 사용하면 똑같이 연결이 되네요
(2) 대응방안
시스템명령어를 외부에서 사용못하도록 하는 것이 가장 좋지만
부득이하게 사용해야한다면
High에 나온 것과 같이
escapeshellcmd함수를 사용하세요!
& ; | 특수문자를 사용할 수 없도록 합니다!
'Wargame > BeeBox' 카테고리의 다른 글
Beebox[PHP Code Injection] (0) | 2021.03.30 |
---|---|
Beebox[OS Command Injection - Blind] (0) | 2021.03.30 |
Beebox[iFrame Injection] (0) | 2021.03.29 |
Beebox[HTML Injection - Stored (Blog)] (0) | 2021.03.29 |
Beebox[HTML Injection - Reflected (URL)] (0) | 2021.03.29 |
댓글