관리 메뉴

Information Security

XSS – Reflected(POST) 본문

Web Security/Bee-Box

XSS – Reflected(POST)

HackingPractice 2019. 9. 7. 13:02

XSS – Reflected(POST)

- 웹 페이지 URL에 존재하는 파라미터에 악의적인 스크립트 코드를 입력하여 사용자가 URL을 클릭하면 파라미터에 입력한 악성 스크립트 코드가 실행되게 하는 공격이다.

 

Level (Low)

First name aaaa Last name aaaa를 입력했다.

그림 1-1 데이터 입력

버프 스위트에 그림 1-1에 입력한 데이터 내용의 있다.

그림 1-2 버프스위트

<script>alert(1)</script>, <script>alert(2)</script>를 데이터를 수정해 전송했다.

그림 1-3 데이터 변조

그림 1-3에서 보이는 스크립트 언어 경고창이 보이는 것을 알 수 있다.

그림 1-4 스크립트 동작

Level (High)

Level (High)<script>document.write(document.cookie)</script> 스크립트를 삽입했다.

그림 1-5 버프스위트

Level (High)는 스크립트 언어가 그대로 노출되는 것을 알 수 있다.

그림 1-6 스크립트 언어 

대응방안

htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하여도 웹 브라우저에서는 문자로 인식한다.

그림 1-7 functions_external.php 소스코드

'Web Security > Bee-Box' 카테고리의 다른 글

XSS – Reflected (AJAX/JSON)  (0) 2019.09.07
XSS – Reflected(JSON)  (0) 2019.09.07
XSS – Reflected(GET)  (0) 2019.09.07
XSS - Stored(User-Agent)  (0) 2019.08.31
XSS – Change Secret  (0) 2019.08.31