[1] λ¬Έμ νμ
λ¬Έμ νλ©΄μ΄λ€.
λ΄ λ―Έμ μ λ¬Έμ μμ μ 곡νλ μΉνμ΄μ§μμ μ 곡νλ μ λ ₯ μΉΈμ, <script>alert(1);</script> λ₯Ό μ½μ νλ κ²μ΄λ€.
κ·Έλ¬λ μ½κ² λμ§ μμΌλκΉ λ¬Έμ μΌ κ²μ΄κ³ , μλ§ μ λ ₯λ°μ μ€ν¬λ¦½νΈ νκ·Έλ₯Ό νν°λ§νλ λ±μ λ°©λ²μ μ¬μ©νμ§ μμκΉ μΆλ€.
λ€λ₯Έ μ·¨μ½μ μ μ°Ύμλ΄λ κ²μ΄ λ¬Έμ μ ν΅μ¬μΌ κ² κ°λ€.
# λ¬Έμ νμ΄μ§ μμ€μ½λ λΆμ
λΆμ (1)
<form> μμμ method μμ±μ μ¬μ©μκ° μ λ ₯ν λ°μ΄ν°λ₯Ό μλ²μ μ μ‘νλ λ°©λ²μ μ§μ νλλ°, μ΅μ μ€ νλλ‘ GET λ°©μμ΄ μλ€.
GET λ°©μμ μ λ ₯ν λ°μ΄ν°λ₯Ό URLμ μΌλΆλ‘ λΆμ¬μ μλ²μ 보λΈλ€. μ¦, μ¬μ©μκ° μ λ ₯ν λ°μ΄ν°κ° URLμ λ ΈμΆμ΄ λλ κ²μ΄λ€.
λΆμ (2)
action μμ±μ <form> μμμμ λ°μ΄ν°λ₯Ό μ μΆν λ μ΄λ€ κ²½λ‘λ‘ λ°μ΄ν°λ₯Ό 보λΌμ§λ₯Ό μ§μ νλ€.
μ΄ κ²½λ‘λ μλ² μΈ‘μμ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ μ€ν¬λ¦½νΈμ κ²½λ‘λ₯Ό λνλΈλ€.
μ΄ λ¬Έμ μμλ actionμ΄ index.phpλ‘ μ€μ λμ΄ μκ³ , μ¬μ©μκ° νΌμ μ μΆνλ©΄ λ°μ΄ν°κ° index.php νμΌλ‘ μ μ‘λλ€.
λΆμ (3)
<input> μμμλ name μμ±μ΄ μλ€.
μ΄ μμ±μ μλ²λ‘ λ°μ΄ν°λ₯Ό μ μ‘ν λ ν΄λΉ μ λ ₯ νλμ μ΄λ¦μ μ§μ νλ μν μ νλ€.
μ΄ μ΄λ¦μ μλ²μμ μ μ‘λ λ°μ΄ν°λ₯Ό μλ³νλ λ° μ¬μ©λλ€.
<input name="code">
μλ₯Ό λ€μ΄ μ΄μ κ°μ μ½λμμ,
name μμ±μ΄ "code"λ‘ μ€μ λμ΄ μλ€.
μ΄ κ²½μ° μ¬μ©μκ° μ λ ₯ν λ°μ΄ν°λ μλ²λ‘ μ μ‘λ λ "code"λΌλ μ΄λ¦μΌλ‘ μλ³λλ€.
μλ² μΈ‘μμλ μ΄ μ΄λ¦μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ²λ¦¬νκ±°λ κ²μν μ μλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° "1234"λΌλ κ°μ μ λ ₯νκ³ νΌμ μ μΆνλ©΄, μλ²μμλ "code"λΌλ μ΄λ¦μΌλ‘ μ μ‘λ λ°μ΄ν°λ₯Ό μ½μ μ μλ€.
PHPμμλ $_GET['code']λ $_POST['code']μ κ°μ λ°©λ²μΌλ‘ μ΄ κ°μ μ½μ΄μ¬ μ μλ€.
# 곡격 μ€ν ν λΆμ
μ°μ <script>alert(1);</script> λ₯Ό κ·Έλλ‘ μ λ ₯νκ³ μ μΆν κ²°κ³Ό,
ν΄νΉνμ§ λ§λΌλ 문ꡬμ ν¨κ» μμμ λΆμνλλ‘ URLμμ μΉνμ΄μ§κ° μλνλ λ°©μμ μ μ μμλ€.
'(', ')', ';', '/' κ° URL μΈμ½λ©λμ΄ λ°μλλ κ²μ νμΈν μ μμλ€.
μ¬κΈ°μ λλ index.phpκ° νΉμ λ¬Έμλ₯Ό URLμΈμ½λ©νλ κ²μ΄ μλκΉ νλ μκ°μ΄ λ€μλ€.
μ΄λ΄ λλ μ΄λ»κ² ν΄μΌν κΉ?
μ°μ 첫 λ°μ΄νΈμ NULLμ λ£μ΄ λ¬Έμμ΄ κ²μ¬λ₯Ό νμ§ λͺ»νλ λ°©μμ μ¬μ©νλλ,
νν°λ§ μ°νλ κ°λ₯νμ§λ§ 곡격μ λΆκ°λ₯νλ€.
'sc', 'on', 'im', 'ri', 'pt' μ μ λ ₯νκ³ μ μΆνλ©΄ "no hack"μ΄λΌλ λ¬Έκ΅¬κ° μΆλ ₯μ΄ λλ€.
κ·Έλμ NULLλ‘ μ°νν΄λ <script>, <oneerror>, <img> νκ·Έλ₯Ό μ¬μ©ν μ μμκ³ , (μΆκ°λ‘ hrefλ μ λλ€.)
κ°μ΄λ°μ λΌμλ£λ λ°©μλ μ¬μ©ν μ μλ€λ κ²μ μκ² λμλ€.
νΉμλ ν΄μ λμλ¬Έμλ₯Ό μμ΄ μ¬μ©ν΄λ³΄μλλ° μ΄κ²λ μ€ν¨νλ€.
κ·Έλ¬λκΉ 'sc'μ κ°μ λ¬Έμλ₯Ό μ λ ₯νλ©΄ 곡격μ μ€ν¨νλ μν©μΈ κ²μ΄λ€...
μ¬κΈ°μλΆν° λ°©λ²μ λ μ΄μ μ°Ύμ μ μμ΄ λ€λ₯Έ νμ΄ κΈμ μ°Ύμ보며 λ¬Έμ λ₯Ό νμλ€.
[3] μ¬λ°λ₯Έ λ¬Έμ νμ΄
λ€λ₯Έ μ¬λλ€μ λ¬Έμ νμ΄ κΈμ 보λ λ΄κ° μλͺ» μκ°ν λΆλΆμ΄ μλ€.
scriptλ oneerrorμ 'sc', 'on' μ΄λΌμκ° μλλΌ,
κ·Έλ₯ μ λ ₯λ μλ¬Έμκ° 2κ° μ΄μμ΄λ©΄ "no hack"μ΄λΌλ λ©μΈμ§λ₯Ό μΆλ ₯νλ κ²μ΄μλ€...
μ΄ λ¬Έμ λ μ£Όμμ°½μ μνλ λ¬Έμ μ¬μ΄μ¬μ΄μ NULLμ μ λ ₯νμ¬ μ°νν΄μ£Όλ©΄ λλ λ°©μμ΄λ€.
(μ λ ₯νκ³ μ μΆνλ μΉΈμ λ£μΌλ©΄ μ λλ μ΄μ λ κ·Έλ κ² νλ©΄ %κ° νν°λ§μ΄ λλ€.)
<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>
μμ λ¬Έμλ₯Ό code= λ€μ μ λ ₯ν΄μ£Όλ©΄ λλ€.
λ¬Έμ νμ΄ μλ£!
[4] μ°Έκ³
https://intunknown.tistory.com/535
[5] λλ μ
λ κ° μ΄μμ λ¬Έμμ΄μ μ λ ₯λ°λ κ²μ λ§λ λ°©μλ μλ€λ κ²μ μ ν΄λ³΄μκ³ , GET λ°©μμ λν΄ μ°Ύμλ³Ό μ μλ κΈ°νμλ€.
'SWLUG > μΉ ν΄νΉ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Dreamhack/λλ¦Όν΅] csrf-1 (0) | 2023.11.10 |
---|---|
[Dreamhack/λλ¦Όν΅] XSS Filtering Bypass (0) | 2023.11.10 |
[Dreamhack/λλ¦Όν΅] xss-2 (0) | 2023.11.06 |
[xss-game] Level 5: Breaking protocol (3) | 2023.11.06 |
[Dreamhack/λλ¦Όν΅] xss-1 (0) | 2023.11.05 |