관리 메뉴

Information Security

XSS – Reflected(JSON) 본문

Web Security/Bee-Box

XSS – Reflected(JSON)

HackingPractice 2019. 9. 7. 17:01

XSS – Reflected(JSON)

- JSON은 클라이언트와 서버가 통신할 때 자료를 표현하는 방법으로 특정 언어에 제한 없이 그대로 사용할 수 있다는 장점이 있고 JSON으로 객체를 선언하는 자바 스크립트 코드를 사용하여 검색한 영화 정보를 출력한다.

 

Level (Low)

입력란에 123을 입력했다.

그림 1-1 데이터 입력

소스코드를 열어 입력한 값을 확인했다.

그림 1-2 소스코드

</script>로 닫아주고 <script>alert(1)</script>를 입력했다.

그림 1-3 JSON

 그림 1-3처럼 입력 해 스크립트가 동작하는 것을 알 수 있다.

그림 1-4 스크립트 동작

대응방안

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

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

 

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

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