set disassembly-flavor [명령어 형식]- intel과 at&t가 있음 disas [함수이름]- 함수의 어셈블리 코드를 보는 명령어 b * [메모리주소]- breakpoint를 거는 명령어- 메모리 주소나 함수의 이름 혹은 offset+O으로 걸어도 됌 info b- breakpoint 정보를 열람 할 수 있는 명령어 d (breakpoint 번호)- breakpoint를 삭제할 수 있는 명령어 run [매개변수]- gdb 내부에서 프로그램 실행 ni- 다음 인스트럭션 실행 메모리 출력 방식- x/b : 1바이트 출력- x/h : 2바이트 출력- x/w : 4바이트 출력 - x/x : 16진수로 출력- x/u : 10진수로 출력 intel CPU는 바이트를 배열할 때 거꾸로 씀 -> 리틀..
[pwnable.kr] Toddler's Bottle - shellshock (1 pt) write-up 폰케알 shellshock문제 입니다. 먼저 shellshock취약점에 대해서 알아볼까요?:) shellshock취약점은 친구들과 발표를 준비한 적이 있어서 나름 연구를 많이 했는데요! 먼저 shellshock 취약점은 2014년 9월 24일 발견된 취약점이고, cve-2014-6271로 등록되어 있습니다. shellshock취약점은 bash shell에서 임의의 환경변수에 특정 코드를 삽입하여 실행할 수 있는 취약점입니다. bash shell은 서버 os인 유닉스 및 리눅스에서 많은 역할을 하고 있다는 점에서 매우 위험한 취약점이였습니다. 공격자는 해당 취약점을 이용해 악의적인 명령이 포함된 환경변..
shellshock취약점은 친구들과 발표를 준비한 적이 있어서공부를 조금 했는데요! 먼저 shellshock 취약점은 2014년 9월 24일 발견된 취약점이고, cve-2014-6271로 등록되어 있습니다. shellshock취약점은 bash shell에서 임의의 환경변수에 특정 코드를 삽입하여 실행할 수 있는 취약점입니다. bash shell은 서버 os인 유닉스 및 리눅스에서 많은 역할을 하고 있다는 점에서 매우 위험한 취약점이였습니다. 공격자는 해당 취약점을 이용해 악의적인 명령이 포함된 환경변수를 사용하여 악의적인 행위를 수행 할 수 있습니다. 대략 이 취약점은 40년 정도 존재해 왔다고 합니다. 지금은 패치가 되어있고 이 취약점은 bash버전 4.3이하에서 발생한다고 합니다 ㅎ! 먼저 Shell..
FTZ level7pw : come together level7입니다. hint를 확인해보겠습니다. 일단 /bin/level7를 실행해보겠습니다. 이러한 문구와 함께 아무 문자열을 대입해보니 ?? 인터넷을 찾아보니 개인이 ftz서버를 열었다면 wrong.txt가 안나온다고 합니다. ㅠ아마 핵심적인 힌트가 있는 파일일텐데요. 해결법은 root계정으로 /bin/wrong.txt를 만들어줘야 한다고 합니다. 그래서 wrong.txt의 내용을 인터넷에서 긁어왔는데요. password값을 무작위 대입하니, password를 찾을 수 없다면서 밑에 이상한 문자열을 주는데요. 아까 힌트에 있던 이진법을 십진법으로 바꾸는 것을 생각 해보고, -를 1로 대입하고_를 0으로 대입해보면 될 것 같습니다. 그렇게 대입을 해보..
FTZ level5pw : what is your name? Level5입니다. ls명령으로 hint를 확인해보겠습니다. /usr/bin/level5 프로그램은 임시파일을 만든다고 합니다. 이 프로그램이 실행되면, /tmp디렉토리에 level5.tmp라는 임시파일을 생성한다고 하네요. 함 실행시켜보겠습니다. /tmp엔 아무 파일이 없군요. 아마도 프로그램을 실행하면 임시파일을 생성하고 다시 지우는 것 같은데요. 하지만 원래 tmp파일에 level5.tmp라는 파일이 있으면 임시파일을 생성할 때 내용이 덮어쓰이지 않을까요? 아무내용이 적힌 level5.tmp를 만들었습니다. 그리고 level5를 실행해보겠습니다. 실행 후 tmp 파일의 level5.tmp를 실행해보니, 예상과 같았습니다. Level6 pa..
FTZ level4pw : suck my brain level4 입니다. 힌트를 보니, 누군가가 백도어를 심어놓았다고 합니다. Xinetd는 리눅스의 네트워크 데몬을 가동하는 슈퍼 데몬입니다.네트워크 데몬이란, FTP, 텔넷, SSH, 아파치 등과 같은 네트워크 통신을 위한 데몬을 의미합니다. Xinetd의 역할은 네트워크서비스에 대한 접근제어, login에 대한 접근제어 등을 합니다. cd명령어로 저 디렉토리에 가보겠습니다. backdoor라는 파일이 있습니다. backdoor파일을 열어보니 이런 내용이 있습니다. finger 서비스에는 다양한 속성들과 속성 값들이 있는데요, 그 중에서 server부분은 해당서비스를 실행할 데몬프로그램을 지정한다고 합니다. 또, user부분을 보면 level5로 되어있..
프로그램 제작 원리 .c -> [complie] -> .obj -> [link] -> .exe decompiler는 .exe -> .c 해주는 프로그램이다. 완벽하게 재구성될 수 없으며, 결과가 매우 다양할 수 있다.disassembler는 기계어 -> 어셈블리어로 변환 해주는 프로그램이다. IA32 - 인텔 cpu 구조 크게 4가지로 나누어져 있음. ALU : 전기적인 신호를 계산하는 회로 Register : cpu에 있는 임시 기억 공간가장 빠른 메모리 공간임 Control unit : pc가 연산할때 상태, 결과를 알 수 있음 (EIP, IR, Eflags) I/O unit : 다른 버스들과 입출력하는 통로 역할. *Register 에 대해 자세하게: 범용 레지스터 EAX 연산의 결과를 저장하기 위..
- HackCTF
- FSB
- oob
- fastbindup
- shellcoding
- tcache
- hacking
- overflow
- fsop
- fastbin
- SQLi
- pwnable
- ebp change
- 해킹
- heap
- srop
- glibc
- codegate
- exit
- rt_sigreturn
- TLS
- pwable
- pwnable.tw
- 본선가고싶다
- stack reusing
- Total
- Today
- Yesterday