| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- stack buffer overflow
- Git
- Little Endian
- NX
- ASLR
- pwnable
- zb
- zbhack
- c언어
- linux
- pwnable.kr
- sfp
- 배열
- 2차원 배열
- pwntools
- shellcode
- Stack Canary
- Bandit
- Dreamhack
- buffer
- ssh
- 포인터
- C
- Crypto
- plt
- c 언어
- 혼공C
- CTF
- strcpy
- 혼공 c
- Today
- Total
목록C (3)
zerobean's archive
pwnable.kr이라는 pwnable 워게임 중 collision이라는 문제의 풀이입니다.오류가 있다면 댓글로 알려주시면 감사하겠습니다. 이번에도 c언어로 된 코드가 들어있다.입력을 받을 때 20byte여야 하고 20byte를 5로 나눠서 입력받는다고 한다.입력받은 값이 hashcode와 같으면 flag가 나온다고 한다.근데 0x21DD09EC는 5로 나누어 떨어지지 않는다.그래서 4를 뺀 후 5를 나눠주고 마지막에 하나 더하든 1을 더한 후 5를 나눠주고 마지막에 하나 빼주는 두 가지 방법이 있다.이번 풀이에선 전자로 하겠다.0x06C5CEC8을 4번 마지막에 0x06C5CECC를 더해주면 된다.그냥 입력하면 16진수 인 것을 알수가 없어 C를 알파벳 C로 알기 때문에 20byte가 아니라고 해버린다..
오류가 있다면 댓글로 알려주시면 감사하겠습니다. pwnable.kr이라는 pwnable 워게임을 해볼 예정이다.하지만 여기가 처음 몇 문제 말고는 많이 어렵다고 해서 몇 문제만 풀고 다른 데로 넘어갈 생각이다.일단 pwnable.kr이라고 검색하면 이런 사이트가 나온다.여기서 왼쪽 상단에 play를 누르면 문제가 있는 페이지로 이동한다.여기서 하나씩 문제를 풀어보면 된다.오늘은 fd를 풀어볼 것이다.문제가 있고 들어가는 방법과 비밀번호가 있다.들어가서 뭐가 있나보니깐 flag도 있고 볼 수 있는 건 fd와 fd.c이다.먼저 소스코드가 있을 거같은 fd.c를 보자. (fd는 그냥 실행파일 같다.)예상대로 c언어로 작성된 코드가 있다.main 함수에 명령행 인수가 있는 것을 볼 수 있다.fd를 실행시킬때 뒤..
저번엔 c 공부할 때 빠트린 건데 pwnable 할 때 많이 사용하는 거 같아서 정리했다.오류나 추가 설명 등은 댓글로 알려주시면 감사하겠습니다. 처음 c언어를 배울 때부터 main 함수엔 매개변수로 void만 사용했었다.하지만 사실 main 함수도 매개변수를 가질 수 있다.int main(int argc, int **argv) 로 사용한다.다른 매개변수를 사용해도 되지만 관례적으로 argc, argv를 사용한다.argc는 argument count의 약자이며 명령행의 개수를 의미한다.argv는 argument vector의 약자이며 명령행의 메모리 목록을 의미한다.**argv는 *argv []로 사용할 수도 있다.옆에 int **env 도 붙을 수 있는데 이건 그냥 환경을 의미한다.argv는 띄어쓰기 ..