전체 글(29)
-
[LOB] LEVEL1 (gate -> gremlin)
[ Level1(gate) Login ] ID : gate PW : gate 로그인 후, bash2를 입력하여 준다. 그 이유는 0xff를 0x00으로 인식하는 오류를 피하기 위해서이다. ls로 디렉터리와 파일들을 확인해보면, gremlin 실행파일과 gremlin.c 파일이 존재한다. cat 명령어로 gremlin.c를 확인하면 BufferOverflow에 취약한 strcpy함수를 사용하는 것이 보인다. 또한, ls -la명령어로 파일들의 권한을 확인해보니, gremlin 실행파일에 setuid 비트가 있는 것을 볼 수 있다. ( 파일의 소유자는 다음 level인 gremlin이다. ) ※ setuid 비트 8진수 : 4000 setuid 비트를 실행파일에 적용하면 실 사용자에서 프로그램 소유자의 ID..
2021.03.06 -
[LOB] Settings
LOB는 The Lord Of Bufferoverflow의 약자로 모의해킹을 하기 위해 해커스쿨에서 만든 시스템이다. ( FTZ와 유사한 방식으로 문제를 해결하며 FTZ보다 난이도가 있다. ) [ Install ] 아래의 링크로 접속하여 다운로드한다. https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 [BOF-BufferOverflow- 원정대란?] 비교적 쉬운 BOF 공략 환경인 Redhat 6.2에서부터 궁극의 Fedora 14까지 수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실..
2021.03.05 -
[pwnable.kr] bof
Download에 적힌 링크에 접속하여 bof와 bof.c 파일을 다운로드하여준다. ( Linux 운영체제에서 다운로드한다. ) cat 명령어를 이용하여 bof.c의 코드를 확인한다. bof.c 코드에서 gets함수를 사용하고 있다. gets함수는 Buffer Overflow 취약점을 갖고 있으므로, 이를 통해 key값을 0xcafebabe로 바꾸어 주면 될 것이다. Buffer Overflow 공격을 하기 위해 key의 위치와 입력받는 overflowme의 위치를 알아내야 한다. gdb를 사용하여 bof를 실행시킨다. disass func를 입력하여 func함수를 어셈블리 코드로 확인한다. 어셈블리 코드를 확인해보면, cmp 명령어를 확인해 볼 수 있다. cmp명령어로 [ebp+0x8]과 0xcafeb..
2021.03.03