일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 다크웹
- python
- 카카오프로젝트
- 자바스크립트
- 자바스크립트 jQuery
- 보안뉴스
- 자바스크립트 객체
- 자바스크립트 element api
- php
- 보안뉴스한줄요약
- oracle db
- javascript
- 오라클
- numpy
- 자바스크립트 prototype
- 보안뉴스 한줄요약
- 보안뉴스요약
- 보안뉴스 요약
- 자바스크립트 node
- 랜섬웨어
- Oracle SQL
- GIT
- ES6
- 자바스크립트 API
- 카카오프로젝트100
- oracle
- 깃허브
- 자바스크립트 기본 문법
- 파이썬
- 카카오프로젝트 100
- Today
- Total
FU11M00N
2-3. bee-box 를 사용하여 HTML Injection 알아보기 본문
안녕하세요!
이번에는 Reflected(반사) 기법을 이용한 공격 기법이 아닌 Stroed(저장) 기법을 이용하여 공격을 해보겠습니다!
먼저 Stored(저장) 기법의 공격 원리는
사진 1-1과 같이 작동됩니다.
이것을 실습하기위해 bee-box에서 html injection(stored)를 클릭하여 시현해보겠습니다!
우선 stored는 대부분 블로그나 게시판에서 발생합니다.
bee-box의 html injection은 블로그에서 발생하는데요 HTML 태그를 블로그에 저장하여
블로그에 입력한 text 필드에 내용을 입력하고 전송을 클릭하면 입력 내용이 다른 페이지로 전송이 됩니다.
1. 레벨 low
그럼 전에 포스팅했던 html injection post 인 홈페이지의 html 소스 코드를
몇 줄 복사해와서 그쪽으로 데이터가 넘어가도록 해보겠습니다.
소스의 코드는 이렇게 되어있습니다!
이런 형태로 Stored Blog의 필드에 소스코드를 대입하면
이렇게 게시물에 htmlinjection post의 Firstname과 Lastname의 필드가 생깁니다.
그럼 저 Firstname과 Lastname에 값을 넣어주고 Go로 Submit을 하게 되면
이렇게 사이트 주소가 htmli_post.php으로 가게 됩니다.
2. 레벨 medium , High(대응방안)
난이도 중 과 상에서는 아까의 소스코드를 필드에 넣으면 html 소스코드가 문자열로 그대로 출력하게 되는 모습을 확인할 수 있는데요, 이것은 사이트에서 우회를 하기 때문에 그렇습니다.
htmli_stored.php 페이지의 소스코드를 확인해보면
이렇게 xss_check_3에 포함되며 내용을 Entry 항목에 들어가는 내용을 필터링하여 우회가 되는 것입니다.
xss_check_3는 htmlspecialchars 함수를 사용하고 이것은 PHP에서 제공하는 기본 함수입니다.
HTML에서 사용되고 있는 특수문자를 UTF-8으로 반환하고 UTF-8은 유니코드의 한 문자를
1바이트로부터 4바이트까지 인코딩하며 아스키코드도 호환이 가능합니다.
즉 html injection을 대응하기 위해선 htmlspecialchars 함수를 사용하여 HTML에
사용되는 태그들을 인식되지 않게 해야 합니다.
Reference by 비박스 환경을 활용한 웹 모의해킹 완벽실습
'Web Hacking > bee-box' 카테고리의 다른 글
4-1. bee-box 를 사용하여 OS Command Injection 알아보기 (0) | 2020.03.18 |
---|---|
3-1. bee-box 를 사용하여 iframe Injection 공격 알아보기 (0) | 2020.03.18 |
2-2. bee-box 를 사용하여 HTML Injection 알아보기! (0) | 2020.03.16 |
2-1. bee-box 를 사용하여 HTML Injection 알아보기! (0) | 2020.03.15 |
1. bee-box 를 사용하여 OWASP TOP 10 알아보기! (1) | 2020.03.07 |