반응형
시스템 해킹 공부는 DreamHack의 시스템 해킹 강의를 보며 하였다.
1. 사전 지식
이 강의를 수강하기 위해서는 C언어와 python의 기본 지식이 필요하다.
기본지식을 테스트 하기 위해 아래의 두 코드를 읽고 "Welcome Hackers :) "가 출력되는 입력값을 찾아보면 된다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int sz = 0x30; // 48 저장
char *buf = (char *)malloc(sizeof(char) * sz); // 동적할당으로 48바이트만큼 할당
puts("Hello World!");
printf("Education + Hack = ?\\n");
fgets(buf, sz, stdin); // 48만큼 buf에 입력받기
if (!strncmp(buf, "DreamHack", 9)) // 입력받은게 9글자가 DreamHack과 일치한다면
printf("Welcome Hackers :)\\n");
else
printf("No No :/n");
return 0;
}
/*
"DreamHack" 입력 시 "Welcome Hackers :)" 출력
*/
quiz = [116, 66, 85, 81, 93, 120, 81, 83, 91]
for i in range(len(quiz)):
quiz[i] ^= 0x30 #48과 xor 해서 대입
quiz = ''.join([chr(_) for _ in quiz]) # 리스트를 각각 아스키코드로 수정한 뒤 공백을 두고 합치기
answer = input() # 입력받기
if answer == quiz:
print("Welcome Hackers :)")
else:
print("No No :/")
/*
"DreamHack" 입력 시 "Welcome Hackers :)" 출력
*/
2. 환경설정
이 강의는 우분투 18.04 기준으로 작성되었기에 이에 맞게 환경을 구축해야한다.
이를 위해 가상 머신(Virtual Machie, VM)을 사용해야한다
다음과 같이 실습환경 구축을 완료하였다. 우분투가 깔려있어 귀찮지 않았다.
앞으로 두 차례정고는 환경구축과 배경지식을 공부할 것이다
반응형
'보안 > 시스템 해킹' 카테고리의 다른 글
[ 시스템해킹 ] 파이썬 모듈 : pwntools 설치 및 함수소개 (0) | 2022.07.19 |
---|---|
[ 시스템 해킹 ] gdb : pwndbg (0) | 2022.07.19 |
[ 시스템 해킹 ] Computer Science : Assembly (0) | 2022.07.14 |
[ 시스템 해킹 ] Computer Science: 리눅스 메모리 구조 (0) | 2022.07.14 |
[ 시스템 해킹 ] Computer Science : 컴퓨터구조 (0) | 2022.07.11 |