Skeleton
-
Level11 (skeleton -> golem)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:31
위의 소스코드를 확인해 보면 egghunter 였었던 환경변수를 못쓰게 하는 구문이 사라져 있습니다. 하지만 stack destroyer이 새로 생겻는데 buffer부터 0xbfffffff까지 RET를 제외한 모든 부분을 0으로 초기화를 해버리는 역할을 합니다. 이런 상황에서 사용할수 있는 것은 라이브러리인데, 정적 라이브러리는 .a 로 끝나는 파일이며, 빌드를 할때 실행파일에 포함되는 파일입니다. 동적 라이브러리는 .so 로 끝나는 파일이며, 여러 프로그램에 공유 되는 라이브러리 입니다. 동적 라이브러리가 정적 라이브러리 보다 더 우선시 되기 때문에 -fPID 옵션과함께 해당 라이브러리 이름을 NOP 과 쉘코드로 하나 생성을 합니다. attack.c 는 임의의 함수 하나를 만들었습니다. 그리고 생성한 ..
-
Level10 (vampire -> skeleton)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:27
이번 문제는 ultra argv hunter 라는게 추가가 되었는데... 버퍼의 전범위를 초기화 하는 강력한 기능이다.. 이번에는 쉘코드를 어디다가 넣어야 할까.. 위와 같이 똑같은 실행파일을 하나 만들어주고 gdb -q 옵션으로 디버깅을 한번 해봐야 겠다. $esp 값을 문자열로 한번 확인해 보자. 혹시 쉘코드를 가지고 있는 주소가 있을 수도 있으니까? x/2000s $esp 로 확인하다가 거의 끝쪽에 현재 gdb로 열고있는 파일명이 들어가 있는 변수를 찾았다. 변수 명에 쉘코드를 넣어서 문제를 해결해야 할것 같다. 원본 파일의 파일명을 변경하면 위험할 수 있기 때문에 ln -sf 명령어를 이용해서 원본 파일에 심볼릭링크를 걸어서 문제를 해결하면 될것 같습니다. 해당 심볼릭 링크 파일에 core dum..
-
[Lord of SQL_injection] #10 skeleton$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:12
이문제를 보면서.. 이 CTF를 소개해준 친한 형의 말이 떠올랐다. los를 전부 다 풀면 sql injection을 잘하게 될거야! 그럴수 밖에 없는거 같다 ㅋㅋㅋ 그냥 모든 경우의 필터링이 하나씩 추가되는 모습이다.. 과연 맨 마지막 문제엔 얼마나 무시무시한 문제가 기다리고 있을까 떨리고 변태스럽게 설레기도 한다 ㅋㅋ 이번 문제는 id의 값을 admin을 만들어야 하는데 and 뒤에 있는 1=0의 False 값을 우회 해야한다. ?pw=' or id='admin' or '1=1 일단 and 1=0를 우회하기 위해서는 앞에 or 1=1를 이용해서 그냥 or 뒤를 거짓으로 만들 생각을 했다. 그렇게 나온 결과가 or '1=1 이것이였다. 그리고 id의 값이 admin이여야 하기 때문에 ?pw=' or i..