π 보μ,μ 보보νΈ/π [STYDY] 리λ²μ±
[ DoPwn ] Week1 - "system" Write Up
shell νλ‘κ·Έλ¨μ μ΄λ€ λ¬Έμμ΄μ μ λ ₯νλ©΄ μμ ls -al λͺ λ Ήκ³Ό κ°μ μλ΅μ μΆλ ₯νλ νλ‘κ·Έλ¨μ΄λ€. ν΄λΉ νμΌμ΄ μλ λλ ν 리μ μλ΅κ³Ό μΌμΉνκΈ° λλ¬Έμ λΆλͺ νλ‘κ·Έλ¨ μμμ ls -al λͺ λ Ήμ μ€ννλ μμ€ν ν¨μλ₯Ό νΈμΆν κ²μμ μ μΆν μ μλ€. μ΄ νλ‘κ·Έλ¨μμ μ λ ₯μ gets ν¨μλ‘ μ²λ¦¬λλ€. cμΈμ΄μμ getsλ μ λ ₯λ°κΈ° μν΄ μ¬μ©λλ ν¨μμΈλ°, κ°ν μ λΆλΆκΉμ§ μλΌ char* νμ μΌλ‘ λ§μ§λ§μ NULLμ λΆμ¬ μ μ₯ν΄μ£Όλ ν¨μλΌκ³ νλ€. νλ λ²νΌ μ€λ²νλ‘μ°λ₯Ό λ°μμν¬ μ μλ λ¬Έμ κ° μ‘΄μ¬ν΄ gets_s ν¨μμ μ¬μ©μ κΆμ₯νλ€κ³ νλ€. +) μ°Έμ‘° λ보기 https://blockdmask.tistory.com/343 [CμΈμ΄/C++] gets, puts λ¬Έμμ΄ μ μΆλ ₯ ν¨μμ λν΄μ. μλ νμΈμ..
[ DoPwn ] Week1 - "Magic Spell" Write Up
Magic Spell νλ‘κ·Έλ¨μ μ£Όλ¬Έμ μ λ ₯λ°μΌλ©΄ ν΄λΉ μ£Όλ¬Έμ λ°λΌ μ ν΄μ§ λͺ λ Ήμ μ€ννλ νλ‘κ·Έλ¨μ΄λ€. λ°λΌμ νλ‘κ·Έλ¨ μμλ μ£Όλ¬Έμ λΉκ΅νλ cmp λͺ λ Ήμ΄ μ‘΄μ¬ν κ² μ΄λΌ μ μΆν λ€ μ κ·Όνλ€. main ν¨μμ λ΄μ©μ spell1 ν¨μλ₯Ό μ€ννλ κ²μ μ μΈνκ³ λ λ³ λ΄μ©μ΄ μμλ€. λ°λΌμ spell1 ν¨μμ λ΄μ©μ ν¨κ» νμΈνλ€. spell1 ν¨μμ μμν λ°μ κ°μ΄ λΉκ΅νλ λΆλΆμ΄ μ‘΄μ¬νλ€. 0x4dμ λΉκ΅νλ κ²μΌλ‘ 보μ, λ¬Έμμ΄ "M"μ΄ μ λ ₯λλ©΄ κ°μ κ²μΌλ‘ μΈμλμ΄ μλμ jumpκ° λμ§ μκ³ spell2λ‘ λμ΄κ° μ μμμ μ μ μλ€. λ¬Έμμ΄ μ λ ₯ μ§μ μ 보면, 0x7fffffffe4c0 μμΉ, μ¦ rsiμ μ λ ₯λ°λ λ¬Έμμ΄μ λ€μ΄κ°μ μ μ μλ€. λΉκ΅νλ λΆλΆμ rbp-1, μ¦ μ λ ₯λ°λ곳보..
[ DoPwn ] Week1 - "Student ID" Write Up
student νλ‘κ·Έλ¨μ μ΄λ¦μ μ λ ₯λ°μ λ€ μΈμ¬νκ³ νλ²μ μΆλ ₯νλ νλ‘κ·Έλ¨μμ μ€νκ³Όμ μ ν΅ν΄ μμλΌ μ μμλ€. λ°λΌμ μ λ ₯λ μ΄λ¦μ λΆμνλ μ½λκ° μ‘΄μ¬ν κ²μμ μμΈ‘ν μ μμλ€. μ°μ νλ‘κ·Έλ¨μ μ νν ꡬ쑰λ₯Ό νμΈνκΈ° μν΄ gdbλ‘ λΆμμ μλνλ€. pd mainμ μ€νν κ²°κ³Όμ΄λ€. mainν¨μλ μμ κ°μ΄ ꡬμ±λμ΄μμΌλ©°, μμ μμΈ‘ν λ°μ κ°μ΄ 0x401205 μμ μ λ ₯λ°μ κ°μ λΉκ΅νλ μ½λκ° μ‘΄μ¬ν¨μ νμΈν μ μμλ€. μ°μ λΉκ΅λμμ κ°μ μμλ΄λ©΄ μ½κ² ν μ μμ κ² κ°μ, λΉκ΅νλ λμμ μ£Όμκ°μ μλ λ¬Έμμ΄μ νμΈνλ μλλ₯Ό νλ€. gdbκ° λ©λͺ¨λ¦¬μ μ κ·Όνμ§ λͺ»νλ€λ λ©μΈμ§μ ν¨κ» λ°μ΄ν° μ‘°νμ μ€ν¨νλ€. μ‘°κΈ κ³ λ―Όν λ€, μ§μ κ°μ νμΈνλ λμ return λλ μμΉλ₯Ό λ³κ²½νλ..
[Whois-Internal] "EasyReverseMe" Write-Up
νλ‘κ·Έλ¨μ λ°λ‘ μ€νν νλ©΄μ΄λ€. νΉμ μ«μλ₯Ό λ¬Όμ΄λ³΄κ³ , μ΄μ λ°λ₯Έ μ λ ₯μ λ°λλ€ μ¬μ©μμ μ λ ₯μ λ°μΌλ©΄ μμ½λ€μ.. λΌλ ν μ€νΈλ₯Ό μΆλ ₯νλ€. μ΄λ₯Ό ν΅ν΄ λλ λ€μ 2κ°μ§λ₯Ό μ μΆνλ€: 1) 첫λ²μ§Έ ν μ€νΈκ° μ°νλ κ³³μ΄ main ν¨μμΌ κ²μ΄λ€ 2) μ λ ₯κ°κ³Ό νΉμ μ«μ or λμλ₯Ό λΉκ΅νλ λΆλΆμ΄ λΆλͺ μ‘΄μ¬ν κ²μ΄λ€ EasyReverseMe.exe νμΌμ x64dbgλ‘ μ° νλ©΄μ΄λ€. μμμ μκ°ν λ°μ κ°μ΄ νμΈνκΈ° μν΄, μ°μ μ 체 ν μ€νΈλ₯Ό μ‘°ννλ€. νλ‘κ·Έλ¨ λ΄μ μ 체 λ¬Έμμ΄λ€μ νμΈν κ²°κ³Όμ΄λ€. μκΉ νμΈν μ§μλ¬Έκ³Ό λ°μ κ°λ°μκ° μ λ ₯ν κ²μΌλ‘ 보μ΄λ λ€μν λ¬Έμμ΄μ΄ μ‘΄μ¬νλ€. μ°μ main ν¨μλΆν° νμΈνκ³ μ μ§μλ¬ΈμΌλ‘ λ€μ΄κ° 보μλ€. μ§μλ¬Έμ λ°λΌ λ€μ΄κ° κ²°κ³Ό μμλλ‘ cmpλ₯Ό ν΅ν΄ κ°μ λΉκ΅νλ ..
[root-me.org] "reversing - PE x86 -0 protection" Write Up
μ°μ νμΌλΆν° μ΄μλ€. λκ° λ§λ€. κ°μ«λ¦°λ€ μ°μ main ν¨μλ₯Ό μ°ΎμμΌ νκΈ° λλ¬Έμ νλ‘κ·Έλ¨μμ μ¬μ©λλ λͺ¨λ ν μ€νΈλ₯Ό κ²μνλ€ λκ°λ΄λ μ¬λμ΄ μ΄ κ² κ°μ μμ΄λ¬Έμ₯μ΄ λ°κ²¨μ€λ€. νκΈμ΄ μλλΌ λΉν©νμ§λ§ μΈκ΅λ¬Έμ λ κ·Έλ¬λ €λ νλ€. μμ¬μ€λ¬μ΄ λ¬Έμ₯λ€μ΄ λͺ¨μ¬μλ μμΉλ‘ μ΄λνκΈ° μν΄ 6λ²μ§Έ νλͺ©μ λλΈν΄λ¦ νλ€. μ½λ μλ₯Ό 보λ push ebp; move ebp esp;κ° μλ κ²μ 보λ μ€ννλ μμ΄ μ μ©λ κ² κ°λ€. λ€μ λ§ν΄ μ΄λ€ ν¨μμ μ€νμ΄ μμλλ λΆλΆμ΄λ, μ μ°Ύμ λ€μ΄μ¨ λ― νλ€. μ¬κΈ°λΆν° νμ°Έ ν΄λ§Έλ€. μ°μ F8μ λλ₯΄λ©΄μ μ μ€νμ νλλ°, κ°μκΈ° μ€κ°μ λνκ³ κΊΌμ Έλ²λ Έλ€. λΉν©νμ¬ ν¨μ μμλΆλΆμ Breakpoint κ±Έκ³ κ³μ μ€νμ νκ³ , λμ€μλ μ°½μ΄ μλμ κ°μ΄ λ°λμλ€: λͺλ² λλ €..