일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Strings
- logstash
- otter
- Volatility
- Docker
- frida
- 파이썬
- Suninatas
- base64
- Reflected XSS
- CTF-d
- InsecureBank
- ctf
- MFT
- 2018
- lord of sql injection
- NTFS
- foremost
- elasticsearch
- SQL Injection
- 인시큐어뱅크
- igoat
- Openstack
- ESXi
- diva
- beebox
- XSS
- 안드로이드
- kibana
- vulnhub
- Today
- Total
Information Security
HTML 인젝션 – Reflected(Get) 본문
HTML 인젝션 - Reflected(Get)
- 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격
- HTML 태그로 악의적인 사이트에 연결하거나 악성 파일 다운로드하도록 유도
Level (Low)
이번에는 스크립트 언어 <h1>123</h1>, <h2>123 </h2>을을 입력했다.
태그가 해석되면서 결과 값을 보여준다. Reflected는 클라이언트가 서버에 영향을 주는 게 아니라 클라이언트에게 영향을 주는 것을 알 수 있다.
<script>alert(document.cookie)</script>이번에는 쿠키 값을 불러왔다.
경고창에 cookie 값을 보여주는 것을 알 수 있다.
Level (Medium)
그림 1-1 처럼 난이도 중에서 데이터를 입력했다.
그림 1-2와는 다르게 스크립트 언어가 그대로 보여주는 것을 알 수 있다.
스크립트 언어가 어떻게 입력되는 지를 확인하기 위해 소스코드를 확인했다. 스크립트언어가 <, >로 치환된 것을 알 수 있다.
버프스위트를 이용해 입력한 값을 더블 인코딩해서 서버에 전달했다.
더블 인코딩해서 데이터를 전달하자 그림 1-2처럼 내용이 보여주는 것을 알 수 있다.
Level (Medium)
Level (High)은 스크립트 언어가 그대로 노출되는 것을 알 수 있다.
대응방안
HTML 인젝션 Reflected 문제 소스코드를 확인했다.
xss_check_1 부분을 보면 <,> 특수문자가 <, >로 치환되는 것을 알 수 있다. 그리고 Bypass double encoding attack의 취약점을 가지고 있는 것을 알 수 있다.
htmlspecialchars 함수는 PHP에서 제공하는 기본 함수로, HTML에서 사용하는 특수 문자를 UTF-8로 반환한다. htmlspecialchars 함수에서 변환하는 특수문자는 ‘&,”,’,<,>’이다.
'Web Security > Bee-Box' 카테고리의 다른 글
SQL Injection (CAPTCHA) (0) | 2019.08.25 |
---|---|
SQL Injection(POST/Search) (0) | 2019.08.25 |
SQL Injection (Get/Search) (0) | 2019.08.11 |
OS Command Injection (0) | 2019.08.11 |
PHP Code Injection (0) | 2019.08.10 |