일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- radare2
- 드론
- 알고리즘
- 리눅스 커널
- px4
- pwn.college
- 시스템프로그래밍
- kernel
- css
- 컴퓨터구조
- Bandit
- write up
- 시스템해킹
- 시스템 프로그래밍
- 취약점
- 시스템
- pwncollege
- Leviathan
- 어셈블리어
- Pwnable.kr
- 워게임
- 커널
- 시그널
- 리눅스
- wargame
- 리눅스커널
- 프로그래밍
- 리버싱
- C++
- C언어
- Today
- Total
목록워게임 (5)
Computer Security

알아야 할 기본 상식! UPX(Ultimate Packer for eXecutables) 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램이다. GNU 일반 공중 사용 허가서를 통해 공개된 자유 소프트웨어이다. 압축, 압축 해제의 기능을 모두 담당한다. 파일의 크기를 줄일 수 있다.(전 후 3~4배의 차이가 있다) 크래커의 리버싱으로부터 보호할 수 있다. 1. flag 파일을 분석하려 gdb를 돌려봤는데, 제대로 메인함수가 안잡혀서 혹시 하고, Exeinfo를 통해 파일 상태를 확인 해봤다. 2.패킹이 되어있다는 사실을 확인 했고, upx -d flag를 진행해 언패킹을 실행 해줬다. 3. gdb flag를 통해 분석하고, disass main으로 메인함수를 살펴보니, f..

일단 7월30일 12시간동안의 해킹랜드가 끝이 났다! 1. 바이너리 첫번째로 풀었던 문제였는데, 이 문제는 그냥 간단하게 strings 명령어를 이용해 segfault 를 찾아내면 되는 문제였다. 그리고 거의 1분? 만에 정답에 도달 했다. 하지만 정답인 segfault 는 나왔는데 그게 정답인지 모르고 이 다음 스텝에 이용하는 힌트로 알아 들었다. 결국 5시간동안 그 다음 스텝을 생각하느라 시간을 날리다가 에이 설마,, 라는 생각으로 계속 봤는데,,, 그게 정답이 맞았다... 2. 패스워드 찾기 이 문제 같은경우는 그냥 간단하게 수 많은 문자열들중 segfault 를 찾는 거였는데, grep명령어를 이용해 seg 로 잡고 처음엔 했었는데, segfault가 끊겨져 있었다. 그래서 cat challthr..

알아야 할 기본지식! 해시 충돌이란? 해시 함수가 서로 다른 두 개의 입력값에 대해 동일한 출력값을 내는 상황을 의미한다. 해시 함수가 무한한 가짓수의 입력값을 받아 유한한 가짓수의 출력값을 생성하는 경우, 비둘기집 원리에 의해 해시 충돌은 항상 존재한다. 해시 충돌은 해시 함수를 이용한 자료구조나 알고리즘의 효율성을 떨어뜨리며, 따라서 해시 함수는 해시 충돌이 자주 발생하지 않도록 구성되어야 한다. 암호학적 해시 함수의 경우 해시 함수의 안전성을 깨뜨리는 충돌 공격이 가능할 수 있기 때문에 의도적인 해시 충돌을 만드는 것이 어렵도록 만들어야 한다. Message-Digest algorithm 5 (MD5) 임의의 길이의 값을 입력받아서 128비트 길이의 해시값을 출력하는 알고리즘이다. 1991년 설계되..

알아야 할 기본지식! argc(argument count) - 인자의 개수 argv(argument vecotr) - 인자의 벡터 즉 문자열의 배열이므로 백터의 테이블 형태 파일 디스크립터란? 시스템으로부터 할당받은 파일을 대표하는 0이 아닌 정수의 값이다. 프로세스에서 실행되는 파일들의 목록을 관리해주는 테이블의 인덱스 값이다. 리눅스/유닉스는 모든 장치를 파일로 관리하는데, 일반 파일과 내부/외부 모든 장치도 파일로 취급한다. 이 파일을 관리하는 것이 파일 디스크립터라고 부른다. atoi(ascii to int) 함수 atoi 함수는 10진 정수 문자열을 정수로 변환하는 함수다. read 함수 read함수는 open() 함수로 열기를 한 파일의 내용을 읽는 것이다. 형태는 ssize_t read (i..