kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Cyber Security

비박스 환경을 활용한 웹 모의해킹 완벽 실습 - HTML Injection Reflected (GET)

까마기 2020. 1. 22. 12:38
728x90
반응형

안녕하세요. 까마깁니다. 오늘은 bee-box 환경에서 HTML 인젝션에 대한 부분을 포스팅해보겠습니다.

 

* HTML 인젝션 - HTML 인젝션 반사(GET요청)
low level login
id : bee
pw : bug
 
 
  1. HTML 태그 삽입(난이도 하)
 
 
 
htmli_get.php 페이지를 대상으로 HTML 인젝션 공격을 위한 HTML 태그 입력
 
<h1>Success</h1>
<img src=http://192.168.129.130/bWAPP/images/bee_1.png>
 
Go-->
 
 
 
 
 위와 같이 테스트 사이트에 공격을 시도
-> success 메세지와 함께 벌모양의 이미지 태그가 삽입된 페이지 생성
-> GET Method로 요청하기 때문에 웹 브라우저의 URL 입력부분에 변수가 노출되며, Firstname과 Lastname 이라는 변수에 입력한 HTML 태그가 보인다. 
 이 상태에서 외부 사용자가 테스트 사이트(예를 들어 실제 서비스되는 사이트라고 가정)에 접근하여 이 html 태그가 삽입된 페이지를 정상페이지로 오해하고 접근
 
 
 
 
  1. HTML 태그 삽입 공격 (HTML Injection 취약점 여부 판단하기)
 
security level 변경
-> medium
-> set 클릭
-> Current : medium으로 변경 후 확인
 
First name과 Last name에 low level과 동일하게 입력
 
 
위와 같이 medium단계에서는 태그( "< >") 를 필터링 하기 때문에 문자열이 그대로 노출된다.
 
-> 따라서 태그에 사용되는 "<" 와 ">" 를 URL 인코딩하여 입력해보자.
 
URL인코딩은 ASCII(아스키)코드의 HEX 값에서 %를 붙인 값으로, 두 문자를 URL 인코딩하면 '<' 는 %3C,  '>' 는 %3E 로 변환된다.
 
---> 테스트
 
%3Ch1%3ESuccess%3C%2Fh1%3E      :  해딩 태그, 제목 표기에 사용
%3Cimg src=http://192.168.74.140/bWAPP/images/bee_1.png%3E            :   이미지태그, src속성에 입력한 경로의 이미지 출력
 
--> HTML 태그 삽입 성공
 
 
 
  • 대응 방안
난이도 상에서는 난이도하에서 입력한 HTML 태그를 입력하면 태그로 해석하지 않고 문자열로 출력한다. 마찬가지로 난이도 중에서 사용한 인코딩 태그들도 실행하지 않고 문자열로 출력한다. HTML 태그를 입력하여도 태그로 해석하지 않는 이유는 우회 단계를 거치기 때문이다.
 
 
반응형