pwnable.kr 풀이
-
pwnable.kr passcodePwnable/Pwnable.kr 2017. 1. 23. 02:42
passcode의 소스코드이다. 이 소스코드에서 가장 문제점이 될곳은 바로 scanf("%d", passcode1), scanf("%d", passcode2) 이 부분이다. C언어에서 입력받을 떄 %s 뺴고는 scanf("%d",&변수이름) 이런식으로 변수에 해당되는 주소에다가 값을 넣는다. 하지만 &를 쓰지않는다면 ? 변수에 해당되는 주소에 값을넣는게 아니라 변수가 가르키고있는 주소의 값에 입력을 한다는 뜻이다. 여기 사진에서는 짤렷지만 passcode1,2 를 선언만하고 초기화를 하지않았기 때문에 이상한 쓰레기 주소에 입력을 받게된다. 우리는 이것을 이용해 flag를 얻어낼것이다. passcode가 가르키고있는 주소값을 어떻게 바꿀 수 있냐하면 welcome에서 이름을 입력하는부분이 ebp-0x70,..
-
pwnable.kr flagPwnable/Pwnable.kr 2017. 1. 23. 01:04
64BIT ELF파일이다. 처음 IDA로 봣을떄 뭐가뭔지몰라서 엄청 어려운 건줄 알았다. SHIFT + F12를 눌러 스트링을 보면여기서 2번쨰줄인 upx가 upx언패킹을 뜻한다. 패킹 언패킹 자세한 설명은 구글링을 하길 바란다. 언패킹하는 방법으로는 여러방법이 있겠지만 글쓴이는 엄청 쉬운방법으로 하였다. 내가 쓰고있는 칼리 리눅스에 upx가 있었어서 따로 아무것도 안하고 바로 사용하여서 풀었다. 그래서 플래그는 ? 아이다로 스트링을 보면 flag가 있다 ! flag를 숨기기위해서 사진첨부 X !