일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- #picoCTF2018
- write up
- 리버싱
- WEB
- 해킹 공부
- cryptography
- picoCTF
- Smashing The Stack For Fun And Profit
- 카이사르
- 버퍼오버플로우
- 시스템
- 스택
- 해설
- KOISTUDY
- writeup
- picoCTF2018
- dreamhack
- CTF
- 시스템해킹
- reversing
- 리눅스
- Aleph One
- #hacking
- Protostar
- grep
- general skills
- 정답
- 번역
- Hxd
- forensics
- Today
- Total
목록Hacking&Security (17)
Security || AI
1. 3_function_definitions.ql 수정 import cpp from Function f where f.getName() = "strlen" select f, "a function named strlen" Function을 치면 IDE는 CodeQL의 C/C++ 라이브러리에서 사용 가능한 클래스들을 추천 where f.을 치면 IDE는 f 변수에서 사용 가능한 함수들을 추천 2. Query 실행 Query Editor 우클릭 후, CodeQL: Run Query 클릭 3. 결과 Panel 보기 빨간 네모 안을 보면 strlen이 하이퍼링크된 상태로 3개가 뜬 것을 확인할 수 있다. strlen에 들어가면 U-Boot 코드 내에서 strlen을 가진 코드를 모두 찾은 것을 볼 수 있다.
Environment CodeQL extension for Visual Studio Code Instroduction 아래 링크를 통해 U-Boot Challenge를 활성화 CodeQL U-Boot Challenge (C/C++) | GitHub Learning Lab Steps Detail 1. Github actions 활성화 2. Visual Studio Code IDE 설치 3. Go to CodeQL starter workspace repository https://github.com/github/vscode-codeql-starter/ CodeQL extension for Visual Studio Code 설치 CodeQL extension for Visual Studio Code 4. vs..
Dreamhack 문제를 풀다가 공부하고 넘어가야할 것 같아서 공부하게된 개념이다. FPO(Frame Pointer Overflow)란 무엇인가? ret위의 sfp영역의 1byte를 오버플로우시켜 eip를 변경시키는 기법이다. 여기서, eip를 쉘코드를 실행시키는 함수 등으로 변조시킬 수 있다. FPO의 발생 조건 1. 메인 함수 이외의 서브 함수가 필요하다. 2. SFP영역에서 1바이트 오버플로우가 일어나야한다. 원리 1. 서브함수의 스택은 메인함수의 스택 위에 쌓인다. 2. 서브함수가 종료될 때, 메인함수로 돌아가야하는 주소를 sfp가 저장한다. 이때, sfp를 변조시켜 공격하는 것이다. 알아야할 개념 함수의 에필로그는 아래의 과정을 거친다. leave ret leave의 과정: move esp, e..
리버싱 문제를 풀다가 ROL, ROR이 나왔는데, 기드라의 경우 디컴파일 결과가 단지 >>와 같이 쉬프트 연산만 수행하는 방식으로 나오는 문제를 겪었다. 따라서, 이를 해결하기 위해 파이썬으로 ROL, ROR 함수를 따로 구현하였다. ROR: 00010001이면, 10001000이 된다. def ror(x, n): shiftBit = x >> n carryBit = x 8 - n return shiftBit | carryBit
Angr는 파이썬을 활용한 바이너리 분석 도구이다. Symbolic Execution을 통해 알지 못하는 값을 심볼로 표현한 다음 실행할 수 있다. 리버싱, 시스템 해킹 등에서도 두루두루 사용하기 좋은 툴이다. 설치하기 python3가 설치되어 있다면 설치 가능하다. ※ Z3-solver, angr를 사용하면 서로 부딪히는 현상이 발생할 수 있으므로, 파이썬 가상환경으로 분리하는 것이 좋다. angr 설치 과정 pip3 install pyvex pip3 install unicorn pip3 install simuvex pip3 install angr 사용 예제 풀어볼 예시 문제 github.com/wizleysw/CTF/tree/master/defcamp_r100 wizleysw/CTF What I ha..
python3 pwntool 링크 github.com/arthaud/python3-pwntools arthaud/python3-pwntools CTF framework and exploit development library in python3 (pwntools and binjitsu fork) - arthaud/python3-pwntools github.com 설치 과정 git clone https://github.com/arthaud/python3-pwntools cd python3-pwntools pip3 install -e . git clone https://github.com/arthaud/python3-pwntools cd python3-pwntools pip3 install -e . pyth..