728x90
반응형
HTML Injection - Stored(Blog) : HTML 인젝션 저장(블로그)
HTML 태그를 저장하여 관리자가 의도하지 않은 내용을 출력하게 하는 공격이 가능
블로그에 실린 텍스트 필드에 내용을 입력하고 Go 버튼을 클릭하면 입력 내용을 전송하고 다른 페이지로 이동
- htmli_post.php 페이지의 형식을 사용하기 위하여 개발자 도구로 페이지 형식 복사
- 크롬 브라우저 개발자도구(F12 키)에서 body -> div -> form 검색
해당 양식을 찾고 마우스 우클릭하여 Edit as HTML 클릭
위화면에서 First Name과 Last name 에 각각 입력 후 'Go' 버튼
--> 입력한 코드가 실행된 htmli_stored.php 페이지 -> Enrty 안에있는 텍스값에 데이터 입력 후 GO -> htmli_post.php로 이동한것 확인
- 대응방안
난이도 중/.상으로 세팅 -> 다시 태그 입력 후 Submit -> Html 태그를 문자열로 출력
- html injection reflected(post) form 태그 내용을 문자열로 출력한 화면
--> 위와 같이 HTML 태그를 입력하여도 해석하지 않는 이유는 우회 단계를 거치기 때문이다.
htmli_stored.php 페이지의 코드를 살펴보면 난이도 하에서는 필터링하지 않지만 난이도 중/상은 xss_check_3 함수로 'Entry' 항목에 들어가는 내용을 필터링한다.
cd /var/www/bWAPP
vi htmli_stored.php
xss_check_3 함수는 functions_external.php에 정의되어 있고 htmlspecialchars 함수로 입력값을 우회한다. htmlspecialchars 함수는 HTML 에서 사용하는 특수문자를 UTF-8로 변환하며, 변환하는 특수문자는 '&, ", ', <, >' 이다.
- UTF-8
- 따라서 iframe 인젝션을 막으려면 htmlspecialchars 함수를 사용하여 웹 브라우저에서 iframe 태그에 사용되는 문자들을 HTML 태그로 해석하지 않게 입력 데이터를 UTF-8로 인코딩한다.
- iframe은 HTML 문서 안에서 또 다른 HTML 문서를 출력하는 태그로, 어느 위치든 상관없이 인젝션 공격이 가능하다.
- iframe 인젝션은 독립적으로 만들 수 있어서 HTML 인젝션 중에서도 공격에 자주 사용
- HTML 인젝션에서 사용하는 태그와 마찬가지로 페이지 내에 iframe 태그를 인젝션하는데, 주로 악성 URL을 삽입한 후 사이즈를 0으로 설정하여 숨기는 방법을 사용
따라서 사용자가 의도하지 않은 악성 웹 사이트에 접속하거나 경고창을 띄울 수 있다.
반응형
'Cyber Security' 카테고리의 다른 글
Kali linux - Virtual box guest addition을 사용한 화면 크기 조절 (0) | 2020.02.04 |
---|---|
비박스 환경을 활용한 웹 모의해킹 완벽 실습 - OS 커맨드 인젝션 (0) | 2020.01.22 |
비박스 환경을 활용한 웹 모의해킹 완벽 실습 - iframe 인젝션 (0) | 2020.01.22 |
크리덴셜스터핑 공격이란? (0) | 2020.01.22 |
비박스 환경을 활용한 웹 모의해킹 완벽 실습 - HTML Injection Refleced(POST) (0) | 2020.01.22 |