level18
-
LEVEL 18 nightmare write-upSystem hacking training/Hackerschool LOB 2018. 6. 27. 09:03
succubus -> nightmare nightmare문제를 풀었으니 LOB도 얼마 남지 않았네요 ㅎ 생각해보면 꽤 오래 끌었군요...! FTZ 는 6개월 정도가 걸린것 같은데 LOB도 3개월 정도 걸리겠네요 ㅎㅎ (언제 갓되는지..) 암튼 문제는 이렇습니다. 코드 분석부터 하겠습니다. 1. 인자에 바이너리명 빼고 한개 더 줘야한다. 2. check address에서 char 형 포인터 변수 addr에 strcpy()의 PLT를 받아와서 argv[1]+44 즉 ret 공간의 주소값과 memcmp()를 통해 비교를 하여 다르다면 예외처리를 하며 바이너리를 종료한다. 3. overflow! 부분에서 strcpy()를 이용하여 buffer에 argv[1]의 값을 때려박는다. 4. dangerous water..
-
level 18. 풀이System hacking training/Hackerschool F.T.Z 2017. 12. 24. 20:40
안녕하세요 살충제입니다. 오랜만에 f.t.z를 풀어보네요.. 시험기간+프로젝트+발표준비로 너무 바쁜 하루를 보내왔습니다.ㅎㅎ 시험은 끝났지만 여전히 바쁘네요..ㅠ_ㅠ 아무튼 오늘 level 18을 풀이해보았는데요. 풀이를 시작합니다. ^____________^ 로그인 후 hint 파일을 열어보시면.. 소스코드가 아주 길게 나옵니다.....ㅎ #include #include #include #include void shellout(void);int main(){ char string[100]; int check; int x = 0; int count = 0; fd_set fds;-> 구조체/FD == 파일 디스크립터의 줄임 표현 printf("Enter your command: "); fflush(stdo..