이번에는 비밀번호를 변경하는 부분에서 XSS 공격을 수행해보겠다.
bee-box 환경에서 실습해보자!
Level - low
새로운 비밀번호를 설정한 뒤, SQL Injection (Login Form/User) 페이지로 가서 로그인을 시도해보았다.
그 결과, 위와 같이 비밀번호 정보가 출력되는 것을 볼 수 있다.
이제 이를 이용해서 xss 공격을 시도해보자.
위와 같이 비밀번호를 변경한 뒤, 다시 SQL Injection (Login Form/User) 페이지로 가서 로그인을 시도해보았다.
그 결과, 입력한 스크립트 문이 수행되어 저장된 것을 볼 수 있었다.
Level - medium, high
medium, high level 에서는 스크립트 문이 태그 그대로 출력되었다.
소스코드 분석
medium, high level 에서는 mysqli_real_escape_string() 함수와 htmlspecialchars() 함수를 통해 필터링하고 있다. 때문에 <> 이 필터링되어 일반적인 XSS 공격이 불가능하다.
대응 방안
htmlspecialchars() 함수 사용
'웹 취약점(bee-box)' 카테고리의 다른 글
Broken Authentication - Forgotten Function (0) | 2020.04.14 |
---|---|
Broken Authentication - CAPTCHA Bypassing (0) | 2020.04.14 |
XSS - Stored(Blog) (0) | 2020.04.13 |
XSS - Reflected(User-Agent) (0) | 2020.04.13 |
XSS - Reflected(Referer) (0) | 2020.04.10 |