[Web] XSS WAF&character limitation bypass
: 다중 이미지 업로드 기능이 존재하는 곳 등 다양한 포인트에서 발생할 수 있는 XSS의 형태로,
웹방화벽의 특정 문저 필터링, 어플리케이션 단의 길이제한 로직을 무력화 시킬 수 있는 XSS의 형태에 대해 알아보자.
Case.
해당 사례는 2019년에 실 사이트에 발생한 실제 사례입니다.
웹 어플리케이션에서 사진을 업로드하는 부분에서 발생한 XSS 취약점입니다.
입력값에 따른 응답값에 맞춰 기본구문을 이용해 간단하게 테스트(Reflect XSS)를 진행해보았습니다.
xsstest ' "> {{7 * 7}} |
공격 진행 시 아래와 같은 제약사항이 존재했습니다.
- 해당 입력에는 15 개의 문자 제한이 있으므로 xsstest'">{{7*7이러한 문자 를 삽입할 수있었습니다 .
- 특정 특수 문자가 제대로 검증되고 있습니다.
- 그리고 마지막 으로 WAF로 인해 해당 앨범을 다시로드하려고 할 때 /error.aspx?code=500 으로 리디렉션되었습니다.
위의 사항들로 인해 XSS 공격으로부터 잘 보호된 것으로 보입니다.
하지만, 모든 백그라운드 요청 엔드포인트를 확인 시 추가적인 엔드 포인트를 확인했습니다.
<새로운 공격포인트> |
추가적인 공격 진행 시 확인된 바는 아래와 같습니다.
- 사용자가 입력한 특정 특수문자가 우회되고 있습니다.
- WAF 감지가 없습니다.
- 사용자 입력에 대한 15글자 제약이 존재합니다.
15자 내외로 가장 작은 페이로드 입력 시 정상적으로 수행됨을 확인할 수 있습니다.
https://image-link.com/image.jpg" title=""oncut="alert()" rel="lightbox[gallery]"> 84 ** 00000 |
해당 취약점을 실제 공격에 사용하기 위해서는 15글자 제약을 우회해야합니다.
이 때 사진 업로드 기능이지만, 여러 사진을 업로드 하는 기능을 주시해야합니다.
슬라이드 쇼 옵션을 통해 다중 사진 파일 업로드 기능 이용 시 위의 앤드포인트에서 15글자 제약을 우회하여 공격이 가능하게 됩니다.
Reference.
https://medium.com/bugbountywriteup/xss-waf-character-limitation-bypass-like-a-boss-2c788647c229
[Web/Mobile] 코로나19관련 화상회의 시 보안 고려사항(금융보안원 기준) (0) | 2020.04.12 |
---|---|
[Web] FileUpload 취약점_Inject Malicious Code to PHP-GD Image (0) | 2020.04.07 |
[Proxy] Ultrasurf Setting (0) | 2020.03.26 |
[보안이슈] OAuth Misconfiguration(4) : 취약점 사례(Convert Redirect) (0) | 2020.03.10 |
[보안이슈] OAuth Misconfiguration(3) : 취약점 사례(CSRF) (0) | 2020.03.10 |