Pwnable.kr 을 풀어보겠다.

접속방법은 Xshell5로 하였고, 접속은 ssh pwnable.kr 2222를 입력한다.


그리고 ID/PW를 각각 fd/guest를 입력한다.


들어가자마자 ls -l 입력


위와같이 확인되었고 flag파일을 접근해야하는데 권한이 fd2권한이다..


즉 fd2로 권한상승 해야한다.


저기서는 fd파일이 fd2유저의 권한하에 있으며, 저기서 /bin/bash를 실행하면 fd2권한으로 /bash셸이 실행되게 된다는 것이다.


그럼 소스코드를 보도록하자



확인결과 문자열배열 32바이트가 주어졌고..

실행인자는 2개여야 하고, 두 번째 인자에서 정수를 추출하여 fd변수에 삽입한다.

그리고 len=read(.... 함수가 보이는데, 여기서는 fd배열에서 32을 읽어서 buf에 넣는다. 그리고 이것을 len과 일치한지 확인.


그리고 LETMEWIN\n과 buf값이 같다면 "good job :)"이라는 메시지와 flag파일을 열람하게 해준다.


그렇다면 문제를 풀어보자



0x1234를 우선 10진수변환 하면 4660이므로


두 번째 인자에서는 4660을 넣어주면 buf에는 0이 들어갈 것이다.

4660-4660=0 이기때문에. 그리고 argv[1]이 존재하게 되어 첫번째 if문에 걸리지 않는다.


결국은 아래와 같이 공격하면된다.

클리어..


모자이크처리한 부분을 키값으로 제출하면 된다.


'Pwnable > Pwnable.kr' 카테고리의 다른 글

Pwnable.kr random 풀이  (1) 2016.09.23
Pwnable.kr passcode 풀이  (0) 2016.09.23
Pwnable.kr flag 풀이  (0) 2016.09.22
Pwnable.kr bof 풀이  (0) 2016.09.22
Pwnable.kr collision 풀이  (0) 2016.09.12

+ Recent posts