11

    [LOB] Level11: skeleton → golem

    [LOB] Level11: skeleton → golem

    golem /* The Lord of the BOF : The Fellowship of the BOF - golem - stack destroyer */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); // stack destroyer! memset(buffer, 0, ..

    webhacking.kr Level 11 문제풀이

    webhacking.kr Level 11 문제풀이

    Level 11 $pat에 이상한 정규 표현식들이 들어있고, if문을 살펴보면 pat와 val값이 같으면 풀리는 것 같다. 먼저 php 정규포현식에 대해 알아보았다. 대괄호 안에 있는 패턴의 일부를 "캐릭터 클래스"라고 하는데, '캐릭터 클래스'에서 사용할 수 있는 메타 문자는 다음과 같다. 다음은 이스퀘이프 시퀀스에 대한 정규식이다, 위 내용들을 종합하여 문제의 정규식을 해석하면, 참고 "/[1-3][a-f]{5}_.\*223.52.120.172.*\tp\ta\ts\ts/" / : 구분기호[1-3] : 1부터 3까지 중 하나[a-f]{5}_ : a부터 f까지 중 하나의 문자를 5번 반복하는 문자를 찾음, 마지막에 '_'를 붙임 ( x{n} : 'x'를 n 번 반복 )\t : tab을 의미함. (url ..

    [해커스쿨] FTZ level11 풀이과정

    [해커스쿨] FTZ level11 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level10 풀이과정 힌트!!! 보자고~ attackme 라는 파일이 보이고, 힌트에는 어떤 소스코드가 들어있다. attackme 를 실행시켜 보니. 역시 소스코드데로 실행된다. 즉, 힌트가 attackme의 소스코드 인것이다. 그러면 이 문제는 어떻게 풀어야 될까... 소스 코드를 보니 단순히 256byte의 str배열을 선언하고 setreuid를 실행하고 argv[1]의 인자값을 str에 복사하고 str를 출력하는게 끝이다. 그런데.. strcpy를 사용하는 것을 보니 이또한 버퍼 오버플로우에 취약하다. level9 풀이(http://eunice513.tistory.com/54)를 보면 Buffer Overflow에 대한 설명..