Stored XSS
Low
view source)
*stripslashes(): 백슬래시를 제거
*mysqli_real_escape_string(): 특수문자 이스케이프
XSS를 막기 위한 코드는 보이지 않음
Step 1-1)Name에 스크립트 구문 삽입
Step 1-2) 스크립트 구문으로 인식된 것을 확인
Step 2-1) Message에 스크립트 구문 삽입
Step 2-2) 스크립트 구문으로 인식된 것을 확인
Medium
view source)
message에서 strip_tags()와 htmlspecialchars()를 통해 태그를 필터링
name에서는 str_replace()를 통해 '<script>'를 공백으로 필터링
Step 1) 스크립트 태그안에 태그를 넣어 필터링을 우회
Step 2) 스크립트 구문으로 인식된 것을 확인
High
view source)
name에서 preg_replace()를 통해 정규표현식으로 필터링
Step 1) 'script'가 아닌 img 태그를 사용
Step 2) 스크립트 구문으로 인식된 것을 확인
Impossible
checkToken을 통해 토큰을 확인
Htmlspecialchars()를 통해 스크립트 구문 필터링
*Anti-CSRF token: 사용자 브라우저에 정보(토큰)를 제공하고 웹 브라우저가 다시 전송하는지 확인하는 것
*Htmlspecialchars(): HTML의 코드로 인식될 수 있는 문자열의 일부 내용을 HTML entities형태로 변환하여 출력해주는 함수
'Study > Web' 카테고리의 다른 글
CSRF(Cross Site Request Forgery) (0) | 2021.06.13 |
---|---|
[DVWA] DOM Based XSS (0) | 2021.06.13 |
[DVWA] Reflected XSS (0) | 2021.06.13 |
XSS(Cross Site Scripting) (0) | 2021.06.13 |
[Web]robots.txt (0) | 2021.01.03 |