이번에는 JSON 을 사용하는 페이지에서의 XSS 공격에 대해 알아보겠다.
JSON 은 웹 브라우저와 서버 간 데이터 교환에 주로 사용된다.
bee-box 환경에서 실습해보자!
Level - low
페이지의 입력폼에 아무 값이나 입력하고 소스코드를 보았다.
위와 같이 abc 가 스크립트 문 안에 들어가고 있었다. 여기서 새로운 스크립트 문을 실행해주기 위해서는 기존의 스크립트 문을 닫고 새로운 스크립트 문을 작성하면 된다. 그 결과, 아래와 같이 스크립트를 실행할 수 있었다.
Level - medium, high
medium, high level 에서는 <> 가 <, > 로 변환되고 있었다.
소스코드 분석
level medium, high 에서는 htmlspecialchars() 함수를 통해 입력값을 필터링하고 있었다.
대응 방안
htmlspecialchars() 함수 사용
'웹 취약점(bee-box)' 카테고리의 다른 글
XSS - Reflected(AJAX/XML) (0) | 2020.04.06 |
---|---|
XSS - Reflected(AJAX/JSON) (0) | 2020.04.06 |
XSS - Reflected (0) | 2020.04.03 |
XML/XPath Injection(Login Form) (0) | 2020.03.26 |
SSI (Server Side Includes) Injection (0) | 2020.03.25 |