[SegFault] Authorization
authorization 3
λ―Έμ¬μΌ λ°μ¬ λ²νΌμ ν΄λ¦νμΈμ!
λ¬Έμ νμ
μμ νμ΄μ§μ λ€μ΄κ°λ©΄ μλμ κ°μ΄ λμ¨λ€.
'Fire' λ²νΌμ λλ μ λ 'κΆνμ΄ μμ΅λλ€.' λΌλ μλ¦Όμ°½λ§ λμ€κ² λλ€.
ν΄λΉ μμ²μ Burpλ₯Ό μ΄μ©νμ¬ μ΄ν΄λ³΄λ©΄ λ€μκ³Ό κ°λ€.
μμ μμ²μμ 보면 λ²νΌμ λλ μ λμ λμμ νμΈν μ μλ€.
onclick="goMenu('9999', ' ')"
ν΄λΉ λ²νΌμ λλ μ λμ goMenu μ κ²½μ° user.jsμμ λμνλ κ²μ νμΈν μ μμλ€.
user.jsμ goMenu 9999λ₯Ό μ΄ν΄λ³΄λ©΄ λ€μκ³Ό κ°λ€.
μμ κ°μ΄ ν΄λΉ λ©λ΄μ λν μ 보λ λλ νλ₯Ό ν΅ν΄ μκΈ° μ΄λ ΅κ² μ°μ¬μ Έ μμλ€.
νμ§λ§ μ€μν κ²μ ν΄μνλ κ²μ΄ μλλΌλ μκ°μ ν΄μΌνλ€.
λ¬Όλ‘ λλ νλ₯Ό νμ΄λ³΄κ³ , λ΄μ©μ μμλ΄λ κ²λ νμν μ μμ§λ§, μ΄ λ¬Έμ μμλ ν΄λΉ switch-caseλ¬Έμ΄ λ€μ΄μλ ν¨μ guMenuλ₯Ό μ΄ν΄λ³΄λ©΄ λλ€.
μκ°κ³Όμ
goMenu ν¨μκ° νλΌλ―Έν°λ‘μ code μ userLevelμ λ°κ³ μλ κ²μ νμΈν μ μλ€.
codeλ switch-caseλ¬Έμ νλΌλ―Έν°μΈ κ²μ νμΈν μ μλ€.
μμμ νμΈν λ²νΌ oncilck λΆλΆμ μ΄ν΄λ³΄λ©΄ onclick="goMenu('9999', ' ')" λ‘μ userLevel λΆλΆμ΄ λΉμ΄μ Έ μλ μνλ‘ μ λ¬ λλ κ²μ λ³Ό μ μλ€.
κ·Έλ¬λ―λ‘ κ΄λ¦¬μμΈ adminμ ν΄λΉ νλΌλ―Έν° λΆλΆμ λ£μ΄ μ£Όμ΄ goMenu('9999', 'admin') μΌλ‘ λ°κΎΈμ΄ μμ²ν΄μ£Όλ©΄ λλ€λ μκ°μ ν΄ λ³Ό μ μλ€.
νμ΄ κ³Όμ (ν΄κ²° λ°©μ)
Burp Suiteμ interceptλ₯Ό μ΄μ©νμ¬ μμ²μ λ€μκ³Ό κ°μ΄ λ³μ‘°ν΄μ€λ€.
goMenu μ userLevelμ λ£μ΄μ£Όμ΄ λ³΄λΈ ν λ²νΌμ λλ¬λ³Έλ€.
κ·ΈλΌ λ€μκ³Ό κ°μ΄ flagκ° λμ€λ μλ¦Όμ°½μ νμΈν μ μλ€.
μ·¨μ½μ μ κ΄ν κ³ μ°°
λλ νλ₯Ό ν΅ν΄ μμ보기 μ΄λ ΅κ² λ§λ μ½λ
js μ½λ λ΄λΆλ₯Ό λλ ν μν¨λ€κ³ ν΄κ²° λλ κ²μ μλλ€.
λΆλΆμ μΌλ‘ λλ ν μν€λλΌλ μ€μν ν¨μλ, νλΌλ―Έν° λ±μ΄ κ·Έλλ‘ λ ΈμΆλμ΄ μλ€λ©΄ κ·Έ λΆλΆλ§μ λ³΄κ³ λ μ°νμ λ°©ν₯μ±μ μ°Ύμ μ μλ€λ κ²μ΄λ€.
μΌλ°μ μΌλ‘ λλ νλ₯Ό νλλΌλ, λΆλΆμ μΌλ‘ μμ λ³Ό μ μλ κ²λ€μ΄ μκΈ° λλ¬Έμ κ·Έλ° λΆλΆμ νμΈν΄ λ΄μΌνλ€.
μ§λ¬Έ νμ, μμ λ° λ³΄μμ λν μ§μ νμ