XSS game
Welcome, recruit! Cross-site scripting (XSS) bugs are one of the most common and dangerous types of vulnerabilities in Web applications. These nasty buggers can allow your enemies to steal or modify user data in your apps and you must learn to dispatch the
xss-game.appspot.com
[1] λ¬Έμ νμ
λ¬Έμ νλ©΄μ΄λ€.
ν΄μμ ν΄λ³΄λ©΄,
μ무 μ€λͺ
ν¬λ‘μ€ μ¬μ΄νΈ μ€ν¬λ¦½ν μ λ¨μν λ°μ΄ν°λ₯Ό μ¬λ°λ₯΄κ² μ΄μ€μΌμ΄ννλ κ²μ΄ μλλλ€. λλ‘λ 곡격μκ° DOMμ μλ‘μ΄ μμλ₯Ό μ½μ νμ§ μκ³ λ λμ μΌμ ν μ μμ΅λλ€.
μ무 λͺ©ν
alert()μ ν리μΌμ΄μ 컨ν μ€νΈμμ νμ μ νμνλ μ€ν¬λ¦½νΈλ₯Ό μ½μ ν©λλ€ .
λΌκ³ νλ€.
μ€λ μλ‘μ΄ λ² ν groovy 2.0μ λ°ννλ€κ³ νλ€.
sign up μ λλ¬λ³΄μ.
e-mailμ μ λ ₯ν λ€ nextλ²νΌμ λλ₯Ό μ μλλ‘ λμ΄μλ€.
μμ URLμ 보μμ λ, /signup νμ΄μ§μ next νλΌλ―Έν°λ‘ confirmμ μ μ‘νλ κ²μΌλ‘ 보μ,
μ λ ₯νκ² λλ e-mailκ°μ ν΅ν΄ xss 곡격μ νλ κ²μ΄ μλμ§... μμν΄λ³΄μλ€.
κ·Έλμ μΌλ¨ μ΄λ©μΌ μ λ ₯ μΉΈμ μ λ κ² μ λ ₯μ ν΄λ΄€λλ...
λ€μ μ΄κΈ° νλ©΄μΌλ‘ λμμ€κ³ μ무 λ³νλ μκΈ°μ§ μμλ€.
κ°μ μ‘μ μ μμ΄μ ννΈ 4κ°λ₯Ό λ€ νμΈνλ€.
1. μ΄ λ 벨μ μ λͺ©μ΄ ννΈ
2. signup frameμ μμ€λ₯Ό 보λ κ²κ³Ό URL νλΌλ―Έν°κ° μ¬μ©λλ κ²μ 보λ κ²μ΄ μ μ©νλ€.
3. onclick νΈλ€λ¬λ₯Ό μ¬μ©νμ§ μκ³ λ§ν¬λ₯Ό ν΄λ¦νλ©΄ Javascriptκ° μ€νλλλ‘ νλ €λ©΄ μ΄λ»κ² ν΄μΌ νλ?
4. μ§μ§ λ§νλ©΄, https://datatracker.ietf.org/doc/html/draft-hoehrmann-javascript-scheme-00 μ¬κΈ°λ₯Ό 보λΌλλ°...
μ°μ μ΄ λ 벨μ μ λͺ©μ "Breaking protocol" μ΄λ€.
λμκ² λμμ΄ λμ§ μμλ€.
κ·Έ λ€μμΌλ‘ signup frameμ μμ€λ₯Ό 보λΌκ³ νλλ°,
μλ§ signup.htmlμ 보λΌλ λ»μΈ κ² κ°μ νμΈν΄λ³΄λλ‘ νκ² λ€.
signup.html
<!doctype html>
<html>
<head>
<!-- Internal game scripts/styles, mostly boring stuff -->
<script src="/static/game-frame.js"></script>
<link rel="stylesheet" href="/static/game-frame-styles.css" />
</head>
<body id="level5">
<img src="/static/logos/level5.png" /><br><br>
<!-- We're ignoring the email, but the poor user will never know! -->
Enter email: <input id="reader-email" name="email" value="">
<br><br>
<a href="{{ next }}">Next >></a>
</body>
</html>
μ΄ λΆλΆμ 보면, Next λ₯Ό λλ μ λ next μΈμμ κ°μ κ°μ§ λ§ν¬λ‘ μ΄λνλ κ²μ μ μ μλ€.
11λ² μ€μμ μ΄λ° λ¬Έκ΅¬κ° μ νμλ κ²μ λ³΄κ³ , confirm.htmlμ νμΈν΄λ³΄μλ€.
confirm.html
μ΄μ κ°μ΄, confirm.html μ μμ€μ½λλ₯Ό 보λ email κ°μ μ λ¬λμ§ μκ³ μλ€.
λλ¬Έμ URL μμ μ λ ₯ν μ μλ next κ°μ ν΅ν΄ XSS 곡격μ μνν΄μΌ νλ€.
μμ κ°μ΄ URL λ‘ μ λ ₯λ°μ next κ°μ confirm.html μμ window.location μμ λ€μ΄κ°κ³ μλ€.
Next λ§ν¬λ₯Ό ν΄λ¦ν λ, μ‘°κ±΄λ¬Έμ΄ μ‘΄μ¬νλ€κ³ νλ€.
1. next κ°μ signup μ΄ ν¬ν¨λλ©΄ signup.html λ‘ μ΄λ
2. next κ°μ confirm μ΄ ν¬ν¨λλ©΄ confirm.html λ‘ μ΄λ
3. next κ°μ΄ 1,2 μ΄μΈμ κ°μ΄λ©΄ welcome.html λ‘ μ΄λ
2λ² μ‘°κ±΄μ κ²½μ° confirm μ ν¬ν¨ν μ΄λ€ next κ°μ μ£Όμ΄λ λͺ μ΄ λ€μ λͺ¨λ welcome.html λ‘ μ΄λνμλ€. next κ°μ welcome μΌλ‘ λ°κΏμ£Όλ λ‘μ§μ΄ μ‘΄μ¬νλ κ² κ°λ€κ³ νλ€.
λ°λΌμ signup.htmlμ μ€ν¬λ¦½νΈλ₯Ό μ£Όμ νμ¬ alert()λ₯Ό νμ ν΄μΌ νλ€.
λ§ν¬λ‘ alert() λ₯Ό μ€ννλ λ°©λ² μ€μ javascript:alert() λ₯Ό μ΄μ©νλ λ°©λ²μ΄ μλ€κ³ νλ€.
μ΄λ₯Ό μ΄μ©νμ¬ XSS λ₯Ό μνν΄λ³΄λ©΄,
next κ° : javascript:alert(1)
μ μ©λλ <a> νκ·Έ : <a href = "javascript:alert(1)">Next >></a>
μ λ΅!
[2] μ°Έκ³
https://binwalk.tistory.com/124
XSS game - Level 5
Level 5 μμ! λ³λ€λ₯Έ μ λ ₯κ° μμ΄ Sign up λ§ν¬λ§ μλ€. Sign up μ λλ₯΄λ©΄ email μ μ λ ₯νλ signup.html λ‘ μ΄λνλ€. Next λ₯Ό λλ₯΄λ©΄ λ λ€λ₯Έ νμ΄μ§λ‘ μ΄λνκ³ url λ₯Ό 보면 next μΈμλ₯Ό ν΅ν΄ μ΄λ€ κ°μ μ
binwalk.tistory.com
https://raise-meow.tistory.com/232
[level5] Breaking protocol :: XSS game
DOMμ μ€ν¬λ¦½νΈλ₯Ό μ½μ νμ§ μκ³ λ¬Έμ λ₯Ό νμ΄μΌ νλ€κ³ νλ€. DOMμ΄λ 무μμΌκΉ? λ보기 Document Object Model μΉ νμ΄μ§(HTML)μ λν μΈν°νμ΄μ€ 1. λ·° ν¬νΈμ 무μμ λ λλ§ ν μ§ κ²°μ νκΈ° μν΄ μ¬μ© 2
raise-meow.tistory.com
'SWLUG > μΉ ν΄νΉ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[webhacking.kr] Challenge old-23 (0) | 2023.11.09 |
---|---|
[Dreamhack/λλ¦Όν΅] xss-2 (0) | 2023.11.06 |
[Dreamhack/λλ¦Όν΅] xss-1 (0) | 2023.11.05 |
[Dreamhack/λλ¦Όν΅] DOM XSS (0) | 2023.11.05 |
[los.rubiya.kr] orc (1) | 2023.10.07 |