일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ZTA
- 비즈네르
- Web Application Firewall
- Zerto Trust Architecture
- packet
- 고전 암호
- hacking
- dvwa
- write up
- 보안 솔루션
- Web Hacking
- Cryptography
- 사설망
- Zero Trust Model
- 가상 사설망
- OpenVPN
- It
- Cross Site Scripting
- Steganography
- 보안
- Crypto
- MISC
- SOLUTION
- network
- Web Hack
- hping
- Command Injection
- security
- web
- firewall
- Today
- Total
어 나 정현욱.
[ DVWA ] Reflected Cross Site Scripting ( Low ) Write Up 본문
DVWA ( Damn Vulnerable Web Application )
취약점 진단 및 모의 해킹을 공부/실습할 수 있도록 만들어진 웹 애플리케이션
XSS ( Cross Site Scripting )
JavaScript와 같은 스크립트 코드를 이용하여
개발자가 의도하지 않은 기능을 작동하게 하는 웹 해킹 기법입니다.
CSS가 맞지만 이미 Cascading Style Sheets의 약어이기 때문에 XSS라고 부릅니다.
( XSS는 클라이언트 단에서 공격하는 Client Side 공격 중 하나입니다. )
XSS의 종류에는 크게 Reflected, Stored, DOM based 종류가 있습니다.
오늘 포스팅에는 이 중에서 Reflected에 대해 알아보겠습니다. 😉
이름을 입력하면 웹 페이지에 "Hello $NAME"을 띄어주는 서비스입니다.
위 그림에서 김경X는 정상적인 입력값(이름)을 넣었습니다.
위 그림은 김경X가 XSS를 시도하는 모습입니다.
이름 대신에 script 태그와 JavaScript를 입력해서 alert(1)을 실행시키려고 하고 있습니다.
스크립트 실행 결과입니다.
alert(1) 대신, alert(document.cookie)나 다른 구문을 입력하면 매우 큰 피해가 발생할 수 있는 공격입니다.
XSS 공격은 공격하기 비교적 쉽기도 하고,
우회 방법도 매우 다양하기 때문에 항상 위험한 취약점으로 꼽히는 취약점입니다.
Write Up
해당 서비스는 제가 위에서 들었던 예시와 같게,
이름을 입력하면 "Hello (name)"을 웹 페이지에 띄어주는 서비스입니다.
먼저 개발자가 의도한 대로 정상적인 입력값을 넣어보겠습니다.
Juhong을 입력했더니 "Hello Juhong"을 웹 페이지에 띄어준 것을 볼 수 있습니다.
그럼 이번에는 XSS 공격을 시도해보겠습니다.
정상적인 입력값을 넣지 않고
<script>alert(1)</script>를 입력했더니 그대로 실행되는 모습을 볼 수 있습니다.
위와 같은 취약점은 사용자에게 입력 받은 값을
검증 및 필터링하지 않고 그대로 웹 페이지에 나타내기 때문에 발생하는 취약점입니다.
XSS를 방어하기 위해서는 충분한 필터링이 꼭 필요합니다.
이 글이 Reflected XSS를 이해하는데 도움이 됐으면 좋겠습니다. 😉
'DVWA' 카테고리의 다른 글
[ DVWA ] Command Injection ( Low ) Write Up (8) | 2023.07.12 |
---|---|
[ DVWA ] Brute Force ( Low ) Write Up (10) | 2023.07.10 |