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

알아야 할 기본 상식! 버퍼 오버플로( buffer overflow) 또는 버퍼 오버런(buffer overrun)이란? 메모리를 다루는 데에 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점이다. 컴퓨터 보안과 프로그래밍에서는 프로세스가 데이터를 버퍼에 저장할 때 프로그래머가 지정한 곳 바깥에 저장하는 것을 의미한다. 벗어난 데이터는 인접 메모리를 덮어 쓰게 되며 이때 다른 데이터가 포함되어 있을 수도 있는데, 손상을 받을 수 있는 데이터는 프로그램 변수와 프로그램 흐름 제어 데이터도 포함된다. 이로 인해 잘못된 프로그램 거동이 나타날 수 있으며, 메모리 접근 오류, 잘못된 결과, 프로그램 종료, 또는 시스템 보안 누설이 발생할 수 있다. 버퍼 오버플로가 코드를 실행시키도록 설계되거나 프로그램 작동을..

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