본문 바로가기

FTZ level 1 +)find명령어 옵션 중 –perm -perm옵션은 특정 실행 권한을 찾을 수 있게 해준다. find /-perm –770 : 770을 포함하는 퍼미션을 찾아라 find / -perm +770 : 770의 일부만이라도 포함하는 퍼미션을 찾아라 find / -perm 770 :770과 똑같은 퍼미션을 찾아라 +)2>/dev/null? /dev/null = 1>/dev/null : STDOUT(표준출력, 정상적인 메시지를 null로) 2>/dev/null : STRERR(표준에러, 에러메시지를 null로) /dev/null은 쉽게말해 블랙홀 my-pass와 chmod는 제외한 명령어를 쳐서 level2의 권한을 유지해야하는데 LOB를 계속 풀어와서 그런지 /bin/bash 쉘을 획득하면 된다는 생각이 든다.. 더보기
[pwnable.kr] PASSCODE pwnable.kr passcode 풀이 2016.08.15. passcode 코드 +) fflush(stdin)? 잔류한 입력 버퍼를 지울 때 사용한다. 예를 들어 무언가를 입력하고 엔터를 쳤으면 이 엔터는 어디 가지 않고 버퍼에 남게 된다. 이런 것들을 청소할 때 쓰는 명령어 여기서는 passcode1을 입력하면 fflush로 stdin에 passcode1에 들어갔던 입력값을 지운다. 일단 코드를 실행시켜 passcode1과 passcode2에 각각 338150, 13371337을 입력해보자 코드대로라면 cat flag를 실행시켜야하지만 세그멘테이션 폴트가 떴다. 그런데 코드를 자세히보니 scanf함수에 &가 없다. ‘&변수’형태가 변수가 들어있는 주소이고 scanf가 이 주소에 들어있는 값을 가지고.. 더보기
[pwnable.kr] FD pwnable.kr fd풀이 2016.08.31. vi fd.c atoi()는 ()안의 문자열에서 정수만 받는건데 예를들어 atoi(2007)이면 2007, atoi(2007start)이면 2007이지만 atoi(start2007)이면 0이다. 문자열에 정수까지만 받는 함수라고 이해하면 될 거 같다. read(fd,buf,32)는 fd 즉 파일디스트립트 값을 읽어서 32byte만큼 읽어 buf에 데이터를 저장한다는 건데 buf와 LETMEWIN을 비교해서 맞아야한다. 우선 0x1234를 십진수로 바꾸면 4660이 나온다. 그래서 일단은 그냥 생각나는대로 페이로드를 작성해서 때려봤는데 이렇게 하는 건 아닌가 싶어서 우선 fd에 대한 정확한 개념이 없어 찾아보았다. fd는 0,1,2로 반환하는데 0은 std.. 더보기