codegate 2020 CSP 문제 풀다가 관련 우회기법 정리해야겠다 싶어서 대충 정리해서 올려봅니다.
추가로 알게되는 정보가 있으면 업데이트 할게요~~
CTFZone 2019
- Script nonce : cache poisoning
* /index.php/ 등을 이용해 cache poisoning 하여 csp script nonce를 고정
Codegate 2020
- Script none : Header Injection - Status Code 102
* Status Code 102 일때는 CSP가 동작하지 않는점을 이용
* header("HTTP/: 102");
--
* Script nonce : css injection의 정규표현식으로 attribute에 접근 할 수 있는 것을 이용, 한글자씩 searching 해서 script nonce를 가져옴
https://lbherrera.me/solver.html
http://sirdarckcat.blogspot.com/2016/12/how-to-bypass-csp-nonces-with-dom-xss.html
* chromium 74 dev
- import maps 이용 csp bypass
https://bugs.chromium.org/p/chromium/issues/detail?id=941340
https://test.shhnjk.com/imap.php
* chromium 78
@shhnjk
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>
@akita_zen
<script ?/src="data:+,\u0061lert%281%29">/</script>
@404death
* 동일 및 신뢰 도메인에서 스크립트 실행이 가능한 페이지에서 불가능한 페이지에 스크립트를 실행시켜야 할 때
- Same or Trusted domain ( script-src 'self' // script-src 'a.com' )
- script-src 'self' unsafe-inline
- nginx 400 error, favicon.ico / robots.txt 등의 404 페이지를 임베딩해서 스크립트 삽입 가능
- Request URI Too Big 에러도 활용 가능
- Cookie max size 에러도 활용 가능
https://www.slideshare.net/ssusera0a306/volgactf-2018-neatly-bypassing-csp
* Click Jacking 비슷하게 dangling markup을 이용한 csp bypass(라기보단 dom code 내 중요정보 탈취쯤 될듯)
* angular js 등 front-end framework의 cdn을 이용한 csp bypass
<script src=//ajax.googleapis.com/ajax/services/feed/find?v=1.0%26callback=alert%26 ..
ng-app"ng-csp ng-click=$event.view.alert(1337)><script src =//ajax.googleapis.com/ajax ...
etc...
'Tips > Web-Honey tips' 카테고리의 다른 글
Fiddler HTTPS 인증서 오류 시 해결방법 (0) | 2021.12.08 |
---|---|
JSP(spring) commons-fileupload WAF filtering bypass - CCE2019 - ENKI (0) | 2020.02.28 |
최신 Ecma Script 기능을 활용한 XSS Filtering Bypass 및 원리 해설 (2) | 2019.12.12 |
Web Hacking XSS Bypass WAF & Bypass Filtering (Cross Site Scripting) (1) | 2019.02.19 |
웹해킹 SQLI 우회기법 정리 - Webhacking SQL Injection Bypass Honey Tips (2) | 2018.06.08 |