ν°μ€ν 리 λ·°
μ€ν 리λ€μ΄λ νΈ κ°μ
κ³Όκ±° 2013λ λ OWASP top 10μ λΉλμκ° λμ 곡격 μ€ νλλ‘ μ μ λμμμ΅λλ€. μΉ μ ν리μΌμ΄μ μμ μ λ’°ν μ μλ μ λ ₯κ°μ νμ©νκ² λ κ²½μ° μ μμ μΈ λͺ©μ μ΄ λ΄κΈ΄ URLλ‘ λ¦¬λ€μ΄λ μ μμΌ κ°μΈμ 보 λ μ μ±μ½λκ° ν¬ν¨λμ΄μλ μ¬μ΄νΈλ‘ μ΄λμν¬ μ μμ΅λλ€.
곡격 λ°©λ²μ λ¨μν©λλ€. λ‘κ·ΈμΈ μ±κ³΅ μ λλ ν μ¬μ μ νμ νμΈνλ €κ³ ν΄λ¦νμμ λ 리λ€μ΄λ νΈ μμΌ μνλ νμ΄μ§λ₯Ό νλ©΄μ λμ°κ² ν©λλ€. μ¬κΈ°μ 곡격μλ 리λ€μ΄λ νΈ μμΌμ£Όλ λ³μμ κ°μ μμ μ΄ μνλ νΌμ±μ¬μ΄νΈ λ μ μ±μ½λκ° ν¬ν¨λ νμ΄μ§λ‘ μ΄λμν¬ μ μλ μ μ± URLμ μμ±μμΌ λ°°ν¬ν©λλ€.
URLμ ννκ° μ μμ μΈ μ£Όμ + μ μμ μΈ μ£Όμκ° μμ¬ μκΈ° λλ¬Έμ μΌλ° μ¬μ©μλ€μ μ μμ μΈ μ£Όμλ‘ μ°©κ°ν κ°λ₯μ±μ΄ μμ΅λλ€.
μμ νμ§ μμ μ½λ
<java>
response.sendRedirect(request.getParameter("url"));
μνλ λ€μ νμ΄μ§λ‘ 리λ€μ΄λ νΈ μμΌμ£Όλ "URL" λ§€κ° λ³μμμ μ λ ₯λ μ£Όμλ₯Ό μμ νκ³ ν΄λΉ URLλ‘ κ²½λ‘λ₯Ό 리λ€μ΄λ νΈ μν€κ² λ©λλ€.
<php>
$redirect_url = $_GET['url'];
header("Location: " . $redirect_url);
ν΄λ¦ν μ¬μ©μλ "URL"μ΄λΌλ 맀κ°λ³μλ₯Ό ν΅ν΄ 곡격μκ° λ―Έλ¦¬ μ§μ ν΄λ μ£Όμλ‘ λ¦¬λ€μ΄λ νΈ νκ² λ©λλ€.
<Attack>
http://www.Guleum.com/view.html?redirect_url=http://evil.com
<Attack and Double Encoding>
http://www.Guleum.com/view.html?redirect_url=http%253A%252F%252F192.168.0.20%252Fhakc.php
<Attack and IP Obfuscation>
http://www.Guleum.com/view.html?redirect_url=http://3627730372
http://www.Guleum.com/view.html?redirect_url=http://0xd83ac5c4
Guleum.comμ΄λΌλ μ μμ μΈ μ¬μ΄νΈμμ κ²μ¦λμ§ μμ 리λ€μ΄λ μ μ·¨μ½μ μ΄ λ°μν μ μ± URL μμμ λλ€. μ μͺ½μ μ μμ μΈ μ£Όμμ λμΌνκΈ° λλ¬Έμ ν¬κ² μ κ²½μ μ μ°μ§λ§ λ μͺ½μ μ΄ν΄λ³΄λ©΄ μ£Όμκ° μ‘°κΈ μ΄μν κ²μ μ μ μμ΅λλ€. Double Encodingμ ν΅ν΄ μ½κ² νμΈνμ§ λͺ»νλλ‘ μ¨κΈΈ μλ μμ΅λλ€.
ν΄λΉ νμ΄μ§μμ μ¬μ§μ ν΄λ¦ μ ν μ¬μ΄νΈλ‘ 리λ€μ΄λ μ μμΌμ£Όλ μ΄λ²€νΈκ° μ‘΄μ¬ν κ²½μ° κ³΅κ²©μλ 맀κ°λ³μ κ²μ¦μ ν΅ν΄ μ½κ² νμΈν΄ λ³Ό μ μμ΅λλ€.
GET λ°©μμ λ©μλλ₯Ό μ¬μ©νκ³ μμΌλ©° urlμ΄λΌλ 맀κ°λ³μ κ°μ ν μ¬μ΄νΈμ μ£Όμκ° μ ν μμ΅λλ€. μμ ν 보μμ μ± μ΄ μ μ© λμ΄ μλ€λ©΄ μ ν¨νμ§ μμ μ£Όμλ‘ κ°μ 리λ€μ΄λ νΈ λ°μμν¬ μ " μμ νμ§ μμ νμ΄μ§μ λλ€. " κ°μ 문ꡬλ₯Ό λμμ£Όλ νΈμ΄ λ°λμ§ν©λλ€.
url 맀κ°λ³μ κ°μ μ μμ μΈ νμ΄μ§κ° μ‘΄μ¬νλ hacked.php μμΉλ‘ λ³κ²½νμ¬ μ μ± urlμ λ§λ ν ν΄λ¦ν΄λ³΄λ©΄ μ μμ μΈ μ¬μ΄νΈλ‘ λμ΄κ° λ€ λ¦¬ν΄λλ μ£Όμλ‘ λ°λ‘ λμ΄κ°κ² λ©λλ€.
μ±κ³΅μ μΌλ‘ 리λ€μ΄λ νΈκ° λ κ²μ νμΈν μκ° μμ΅λλ€. ν μ€νΈλ₯Ό μν΄ κ°λ¨ν alert(" ") κ΅¬λ¬Έλ§ μΆλ ₯λλλ‘ νμμ§λ§ μ£Όλ‘ μ κ΅νκ² λ§λ€μ΄μ§ νΌμ± νμ΄μ§λ‘ μ΄λμμΌ λ‘κ·ΈμΈ, κ°μΈμ 보 μ λ ₯ λ±μΌλ‘ μ μΈνλ κ²½μ°κ° λλ€μμ λλ€.
μ€μκ° λ‘κ·Έ κΈ°λ₯μ ν΅ν΄ μ΄λ μ¬μ©μκ° μ μ± urlμ ν΄λ¦νμ¬ λ€μ΄μλμ§ νμΈνμ¬ μνλ μ 보λ₯Ό νλ ν μΆκ° μ μμ μΈ νμλ₯Ό ν μκ° μμ΅λλ€. λ§μ½ μ λ‘λ°μ΄ μ·¨μ½μ μ 곡λ΅ν΄ μ격μ½λλ₯Ό μ€νν μ μλ νμ΄μ§λ‘ λμ΄κ°κ² λλ€λ©΄, μ¬μ©μμ PCμ μλμΌλ‘ μνλ μ μ±νλ‘κ·Έλ¨μ κΉκ³ μ€νν μ μλλ‘ νλ Drive by Download ννμ 곡격μΌλ‘ μ°κ³κ° κ°λ₯ν΄μ§ μ μμ΅λλ€.
μλν ν μ€νΈ
μ½ν μΈ κ° λ€μν μ¬μ΄νΈμμ 리λ€μ΄λ νΈ λλ μμ±μ κ°μ§ 맀κ°λ³μλ₯Ό μ°Ύμ νλμ© κ°μ λμ νμ¬ ν μ€νΈνλ κ²μ μ΄μ° 보면 κ΅μ₯ν κΈ΄ μκ°μ΄ μμλ μ μμ΅λλ€. μ΄λ΄ λ κ°νΈνκ² Surface Test ν μ μλ λꡬλ₯Ό μκ°ν΄λ립λλ€.
Python3.x λ²μ μΌλ‘ μμ±λ μλν λꡬλ₯Ό ν΅ν΄μλ μ§λ¨μ΄ κ°λ₯ν©λλ€. μ¬μ©λ°©λ²μ λ§€μ° κ°λ¨νλ―λ‘ κΉνλΈ νμ΄μ§λ μ΅μ μ νμΈνμ¬ μ¬μ©ν΄λ³΄μκΈΈ λ°λλλ€.
νκ°μ§ μμλμ μΌ ν κ²μ μΆλ ₯ κ²°κ³Όκ° HTTP μλ΅ μ½λλ₯Ό ν΅ν΄ μ½μμ λνλλ―λ‘ μ€νμΈμ§ μλμ§ μΆκ°μ μΌλ‘ μ¬κ²μ¦μ΄ νμν©λλ€.(μ¦ HTTP 200 μ½λλΌ νλλΌλ λͺ¨λ μ±κ³΅ν κ²μ΄ μλλ λ§μ΄λ€.)
νΉμ λλ©μΈ μ£Όμλ₯Ό μ λ ₯νμ¬ ν μ€νΈκ° κ°λ₯νμ§λ§ λ€μμ 맀κ°λ³μλ₯Ό νΌμ§ν λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ€λ©΄. txt νμΌ κΈ°μ€μΌλ‘ μΌκ΄ ν μ€νΈλ κ°λ₯ν©λλ€.
Open Redirect Trick
https://0xsp.com/storageCenter/1589119678.txt
νΉμ 맀κ°λ³μμ Open Redirectλ₯Ό ν μ€νΈν λ μλ₯Ό λ€μ΄ "μλͺ»λ μμ²μ λλ€" λ± κ°μ μ€ν¨κ° λ°μν κ²½μ° URL Parserμ νΉμ§μ μ΄μ©νμ¬ μ°νν κ°λ₯μ±μ΄ μ‘΄μ¬ν©λλ€.
μλ₯Ό λ€μ΄ μ§μ λ λλ©μΈμ΄ ν¬ν¨λμ΄μΌ μ μμ μΈ μμ²μ΄λΌ νλ³ν κ²½μ° νΉμ κΈ°νΈ @λ₯Ό μ΄μ©ν΄μ μ΄λ₯Ό μ°νν μ μμ΅λλ€. μμΈν Payloadλ μλ¨μ λ§ν¬λ₯Ό ν΅ν΄ λΆμν΄λ³΄μκΈΈ λ°λλλ€.
λμλ°©μ
<java>
response.sendRedirect("http://www.mysite.com");
<?php
/* Redirect browser */
header("Location: http://www.mysite.com");
/* Exit to prevent the rest of the code from executing */
exit;
?>
url μ΄λΌλ 맀κ°λ³μμ λ€μ΄μ¨ κ°μ λ°νμΌλ‘ 리λ€μ΄λ μ μν€μ§ μκ³ μμ μ½λμ²λΌ 리λ€μ΄λ νΈ μμΌμ€ μ£Όμλ₯Ό νμ΄νΈλ¦¬μ€νΈ ννλ‘ μμ±ν΄ λ¬μΌ νλ©° μ΄μΈμ μ λ ₯λ μ½λκ° μμΌλ©΄ μ€νλμ§ μκ³ λΉ μ Έλκ°λλ‘ κ΅¬ννκ±°λ alert(" ") κ²½κ³ μ°½μ λμ μμ ν λ§ν¬κ° μλλΌλ κ²μ μλ €μΌ μ¬μ©μλ μΈμ§νκ³ μ μνκ² λ κ²μ λλ€.
'WEB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ShellShock(CVE-2014-6271) μ·¨μ½μ (0) | 2020.10.23 |
---|---|
SNMP μ·¨μ½μ 곡격 (0) | 2020.10.22 |
SSL Strip μ·¨μ½μ (0) | 2020.10.21 |
λ‘컬 κΆν μμΉ μ·¨μ½μ (udev) (0) | 2020.10.20 |
XST(Cross Site Tracing) μ·¨μ½μ (0) | 2020.10.19 |