Study/Web

[DVWA] Stored XSS

seomj 2021. 6. 13. 13:31

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