ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Pwnkr] Fd Write-up
    표튜터와 함께하는 Pwnable/Pwnable.kr Write-up 2019. 3. 25. 23:55

    이제부터는 pwnable.kr을 풀어보도록 하겠다~ 새로운 시작!!ㅎㅎ

    그 첫 번째 문제는 fd이다

    fd.c의 소스코드를 보도록 하겠다.

     

     

     

    코드를 보면 atoi함수를 이용해서 argv[1] 값을 인자로 넘겨준다.

    이 코드의 의미는 즉, string을 숫자형태로 바꾸겠다는 의미이다.

    그 값을 fd에 저장하고 이 fd는 read함수의 인자로 넘겨준다.

    read함수의 첫번째인자는 fd = file descriptor를 의미하며

    파이프 ,FIFO, 소켓, 터미널 디바이스, 파일 등 종류에 상관없이 

    모든 열려있는 파일을 참조할 때 사용한다고한다.

     

     

    이 코드에서는 read함수를 이용해서 buf에 입력을 진행하기 때문에 

    fd값이 stdin을 의미하는 0이 되어야한다. 그러므로 argv[1]은 0x1234가

    되어야하며 이는 10진수로 4660이다. 그러므로 4660을 argv[1]로 넘기면

    buf에 입력을 할 수는 read함수가 실행된다. 다음으로는 strcmp가 있는

    if문을 만나게 되는데 거짓이 되어야 if문이 진행되면서 "/bin/cat flag"가 실행되어

    flag값을 볼 수 있도록 되어있다. 그러므로 우리는 strcmp의

     return값을 0으로 되게만들어야 하므로 "LETMEWIN"을 입력해주자!

     

     

    깔끔하게 flag를 볼 수 있었다.

    반응형

    '표튜터와 함께하는 Pwnable > Pwnable.kr Write-up' 카테고리의 다른 글

    [Pwnkr] Passcode Write-up  (0) 2019.03.31
    [Pwnkr] Horcruxes -> Write-up  (0) 2019.03.29
    [Pwnkr] Flag Write-up  (0) 2019.03.28
    [Pwnkr] Bof Write-up  (0) 2019.03.26
    [Pwnkr] Collision Write-up  (0) 2019.03.26

    댓글

Designed by Tistory.