Reflected XSS
Low
Step 1) 입력 폼에 스크립트 구문 삽입
Step 2) 스크립트 구문으로 인식된 것을 확인
view source)
Get방식으로 name의 값을 받아 그대로 전달
Medium
view source)
str_replace 함수를 통해 '<script>'를 공백처리
Step 1) 대소문자를 섞어 필터링을 우회
Step 2) 스크립트 구문으로 인식된 것을 확인
High
view source)
preg_replace 함수를 통해 필터링
(*str_replcae와 preg_replace의 다른 점은? preg_replace는 정규표현식을 사용!)
i옵션 -> 대소문자를 구별하지 않음
. -> 줄바꿈 문자 외에 모든 문자와 매치됨
* -> 반복
<, s, c, r, i, p, t 각 사이에 다른 문자가 들어오는 것을 필터링
Step 1) 'script'가 아닌 img 태그를 사용
Step 2) 스크립트 구문으로 인식된 것을 확인
Impossible
checkToken을 통해 토큰을 확인
Htmlspecialchars()를 통해 스크립트 구문 필터링
*Anti-CSRF token: 사용자 브라우저에 정보(토큰)를 제공하고 웹 브라우저가 다시 전송하는지 확인하는 것
*Htmlspecialchars(): HTML의 코드로 인식될 수 있는 문자열의 일부 내용을 HTML entities형태로 변환하여 출력해주는 함수
'Study > Web' 카테고리의 다른 글
[DVWA] DOM Based XSS (0) | 2021.06.13 |
---|---|
[DVWA] Stored XSS (0) | 2021.06.13 |
XSS(Cross Site Scripting) (0) | 2021.06.13 |
[Web]robots.txt (0) | 2021.01.03 |
[Web][beebox]HTML Injection - Reflected (GET) (0) | 2020.12.21 |