ν°μ€ν 리 λ·°
μ€λͺ (λ²μ)
μ΄μ μμ€μμ 보μ λ―μ΄ μΌλ°μ μΈ JS ν¨μ μ€ μΌλΆλ μ€ν μ±ν¬λ‘ λΈλΌμ°μ κ° μ
λ ₯μ λνλλ λͺ¨λ μ€ν¬λ¦½νΈλ₯Ό μ€ννλλ‘ ν©λλ€. μ¬μ€μ λ΄λΆμ μΌλ‘ μ΄λ¬ν κΈ°λ₯ μ€ νλλ₯Ό μ¬μ©νλ μμ μμ€ APIμ μν΄ μ¨κ²¨μ§λλ€. μ΄ μμ€μ μμ© νλ‘κ·Έλ¨μ μ΄λ¬ν μ¨κ²¨μ§ μ±ν¬λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
μ무 λͺ©ν : μ΄μ κ³Ό λ§μ°¬κ°μ§λ‘ μ€ν¬λ¦½νΈλ₯Ό μ½μ
alert() νμ¬ μ±μμ JavaScriptλ₯Ό νμ
ν©λλ€.
μ ν리μΌμ΄μ
μ μ΄λ κ³³μλ νμ΄λ‘λλ₯Ό μ
λ ₯ν μ μμΌλ―λ‘ μλ URL νμ μ€μμ μ£Όμλ₯Ό μλμΌλ‘ μμ ν΄μΌ ν©λλ€.
ν΄λΉ νμ΄μ§λ λ³λ€λ₯Έ 컨ν μΈ λ μ΄λ²€νΈμ μΈ μμκ° λ³΄μ΄μ§ μλ μ μ μΈ νμ΄μ§μ λλ€. μ΄λ¬ν νμ΄μ§μ κ²½μ° " Reflected " κ°μ λ°μ¬ν 곡격μ μλν΄μΌ ν©λλ€.
λ³΄ν΅ μ΄λ΄κ²½μ° μλ¨ URLμ μ£Όμ κ°μ μ μμ μΈ μ€ν¬λ¦½νΈ λ¬Έμ΄ μ½μ λμ΄μΌ νλλ°, " νμ΄μ§ μμ€ " λΆμμ ν΅ν΄ μ·¨μ½ν κ²μ¦ λλ hiddenμΌλ‘ λ ΈμΆλμ§ μμ 맀κ°λ³μλ₯Ό μ°Ύμμ ν΄λΉ λλ©μΈμ " GET " λ°©μμΌλ‘ μ½μ ν΄μ μ€νμν€λ©΄ λ©λλ€.
* λν νΉμλ¬Έμ κ΄λ ¨νμ¬ μ΄λ€ λ¬Έμλ₯Ό νν°λ§νλμ§ μ¬λΆμ λ°λΌμλ μ¬μ©λλ κ΅¬λ¬Έμ΄ λ¬λΌμ§λλ€
..
..
window.onload = function() {
chooseTab(unescape(self.location.hash.substr(1)) || "1");
}
<script>
function chooseTab(num) {
// Dynamically load the appropriate image.
var html = "Image " + parseInt(num) + "<br>";
html += "<img src='/static/level3/cloud" + num + ".jpg' />";
$('#tabContent').html(html);
..
..
ν΄λΉ νμ΄μ§μ μμ€μ½λλ URL μΌλΆλΆμ κ°μ Έμμ Choosetab ν¨μλ‘ μ λ¬νκ³ μλ κ² μ νμΈν μ μμ΅λλ€. λν μ£ΌμλΆλΆμ "μ΄λ―Έμ§ νκ·Έ κ°μ "html" μ½λ ν¨κ» μ¬μ©λλ κ²μ νμΈν μ μμΌλ μ λ¨κ³μ λ§μ°¬κ°μ§λ‘ <img srcλ₯Ό μ¬μ©νμ¬ κ³΅κ²©ν μ μμ΅λλ€.
ννΈ
1. λ²κ·Έμ μμΈμ μ°ΎμΌλ €λ©΄ JavaScriptλ₯Ό κ²ν νμ¬ μ¬μ©μ μ 곡 μ λ ₯μ μ²λ¦¬νλ μμΉλ₯Ό νμΈνμμμ€2.window.locationκ°μ²΄μ λ°μ΄ν° λ 곡격μμ μν₯μ λ°μ μ μμ΅λλ€.
3. μ£Όμ μ§μ μ μλ³νμΌλ©΄ μ HTML μμλ₯Ό λͺ°λ λ€μ΄κ°κΈ° μν΄ν΄μΌ ββν μΌμ λν΄ μκ°ν΄λ³΄μμμ€.
4. μ΄μ κ³Ό λ§μ°¬κ°μ§λ‘ <script> ...νμ΄μ§κ°λ‘λ λ νμ μΆκ°λ μ€ν¬λ¦½νΈλ₯Ό λΈλΌμ°μ κ° μ€ννμ§ μκΈ° λλ¬Έμ νμ΄λ‘λλ‘ μ¬μ© νλ κ²μ μλνμ§ μμ΅λλ€.
Exploit Code
<img src='x' onerror=alert(1)> # Success
&<img src='x' onerror=prompt("xss")> # Success(Not Complete)
ꡬλΆμλ₯Ό μ¬μ©νλ "&"λ₯Ό μ¬μ©νμ¬ μ€ν¬λ¦½νΈ λ¬Έμ μ°κ³ν΄λ΄€λλ° μ±κ³΅μ μΌλ‘ μ€ν¬λ¦½νΈλ μ€νμ΄ λλ μΆμ μμ μλμλ μ‘°κΈ νλ¦¬κ² μ κ·Όν΄μ κ·Έλ°μ§ λ¬Έμ μ±κ³΅μ΄λΌλ 문ꡬλ λμ€μ§ μλ€μ.
'CHALLENGE' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
XSS-Game Level 6 (0) | 2020.12.01 |
---|---|
XSS-Game Level 5 (0) | 2020.11.30 |
XSS-Game Level 4 (0) | 2020.11.29 |
XSS-Game Level 2 (0) | 2020.11.27 |
XSS-Game Level 1 (2) | 2020.11.26 |