All
Forensic
[SKS! ์ฐํฉ์คํฐ๋] 1์ฃผ์ฐจ. steganography
· Steganography ๊ฐ๋
๋ฐ ํด ์ ๋ฆฌ์คํ
๊ฐ๋
ธ๊ทธ๋ํผ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ธฐ๋ฒ์ ๋ณด์ด๋ ๊ณณ์ ๋ฉ์ธ์ง๋ฅผ ์จ๊ธฐ๋ ์๋๋ฒ์ ์๋ฏธํ๋ค. ์ ๋ณด๋ฅผ ๊ฐ์ถ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ ์ค ํ๋๋ผ๊ณ ํ๋ค.์ฌ์ง, ์์
, ๋์์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ํ์ผ ์์ ๋ฐ์ดํฐ๋ฅผ ์จ๊ธฐ๋ ๊ธฐ์ ๋ก ๊ฒ์ผ๋ก๋ ํฐ๊ฐ ์ ๋์ง๋ง ํน์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์จ๊ฒจ์ง ๋ฐ์ดํฐ๊ฐ ๋ณด์ฌ์ง๊ฒ ๋๋ค. - ์ฝ์
JPEG, PNG, GIP ์๊ทธ๋์ฒ ๋ค์ ๋ฐ์ดํฐ๋ ๋ฌด์๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์จ๊ธธ ์ ์๋ค.์๋ณธ ์ด๋ฏธ์ง์ ๋ฐ์ดํฐ๋ฅผ ์จ๊ธด ์ด๋ฏธ์ง๋ ์ฐจ์ด๊ฐ ์๋ค.ํ์ผ ํค๋์๋ ์ํฅ์ ์ฃผ์ง ์๋ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ ์ ์๋ค.- ๋ณ์กฐ์ด๋ฏธ์ง๋ฅผ ๋ณ์กฐํด์ ๋ฐ์ดํฐ๋ฅผ ์จ๊ธฐ๋ ๋ฐฉ๋ฒ์ด๋ค.์ฃผ๋ก JPEG, BMP ๊ฐ์ 24 Bit (๋นจ๊ฐ 8, ์ด๋ก 8, ํ๋ 8) ์ด๋ฏธ์ง ํ์ผ์ ์ ์ฉํ๋ค.์๋ฅผ ๋ค์ด ํฐ..
Forensic
[SKS! ์ฐํฉ์คํฐ๋] 1์ฃผ์ฐจ. broken-png / forensics 101 / png ํ์ผ ๊ตฌ์กฐ ์ ๋ฆฌ
· broken-png์คํฐ๋์์ ์๊ฒ๋ 010 Editor๋ก ์ฌ์ง์ ์ด์ด๋ดค๋ค. ์ค๋ช
์์ ์ ์ฌ๊ฐํ์ผ๋ก ์์ผ ํ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋ฐ์ ์์๋ค๊ณ ํ๋ค. ์ฌ์ง๋ ๋ณด๋๊น ๋ฐ์ฏค ์๋ ค์์ด์ ์ด ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ค. sig๋ chunk0, 1, 2, 3 ์ผ๋ก ์ด๋ฏธ์ง๊ฐ ๋ถ๋ฅ๋ ๊ฒ ๊ฐ์๊ณ ์ด๊ฒ ์ ๊ฒ ๋๋ฌ๋ณด๋ค๊ฐ ์ด๋ฆ ์์ ์๋ > ๋ฅผ ๋๋ฅด๋ ์ด๋ฆ ๋ณ๋ก ์ค์ ํ๋ ์นธ์ด ๋์๋ค. ๊ทธ ์ค์์ ํ์ผ ํฌ๊ธฐ? ํด์๋ ๊ฐ์ ๊ฑธ ์กฐ์ ํ ์ ์๋ ๋ถ๋ถ์ด chunk 0์ ์๋ ihdr ์ธ๊ฑฐ ๊ฐ์์ ์กฐ์ ์ ํด์คฌ๋ค. ์๊น ์ ์ฌ๊ฐํ์ผ๋ก ์์ผ ํ๋ค๊ณ ํ์ผ๋ ๊ฐ๋ก ์ธ๋ก ๋ชจ๋ 512๋ก ์ค์ ํ๊ณ ์ ์ฅํ ํ ๋ค์ ์ด๋ฏธ์ง ํ์ผ์ ์ด์ด๋ดค๋๋ ํ๋๊ทธ ์ ์ฒด๊ฐ ๋์๋ค. DH{image_height_property} · Forensics 101์ค๋ช
์ ..
Python
[Django] 7์ฃผ์ฐจ. ์ฅ๊ณ ์คํฐ๋
# Djangoํ์ด์ฌ์ผ๋ก ๋ง๋ค์ด์ง ๋ฌด๋ฃ ์คํ์์ค ์น ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ # ์ฅ๊ณ ํ๋ก์ ํธ ๊ฒฐ๊ณผ๋ฌผ # ์ฅ๊ณ ํ๋ก์ ํธ ์ค๋ช
urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ path('', views.index, name='index'), path('result/', views.result, name='result'),]Django ํ์ผ์์ main ํด๋ ์์ ์๋ urls.py ์ด ๊ณณ์์ result/ ํจํด์ผ๋ก URL ๋งํฌ ํจํด์ ์ค์ ํด์ค๋ค. ์๊น ๊ฒฐ๊ณผ๋ฌผ์์ ๋ดค๋ ๊ฒฐ๊ณผ์ฐฝ ๋งํฌ๊ฐ result/ ์ธ๊ฑธ ํ์ธํ ์ ์๋ค. views.pyfrom django.shortcuts import render, redirectfro..
C
[Cํ๋ก๊ทธ๋๋ฐ] 13์ฃผ์ฐจ. ํ์ผ
# ์คํธ๋ฆผ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ฐ์ดํธ(byte)๋ค์ ํ๋ฆ์ผ๋ก ์๊ฐํ๋ ๊ฒ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฒํผ๊ฐ ํฌํจ๋์ด ์๋ค.๊ธฐ๋ณธ์ ์ธ ์คํธ๋ฆผ์ ์๋ ์์ฑ๋๋ค.ํ์ค ์คํธ๋ฆผgetchar()putchar()gets()puts()printf()scanf()# ์คํธ๋ฆผ๊ณผ ํ์ผ ์คํธ๋ฆผ์ ๊ตฌ์ฒด์ ์ผ๋ก FILE ๊ตฌ์กฐ์ฒด๋ฅผ ํตํ์ฌ ๊ตฌํFILE์ stdio.h์ ์ ์๋์ด ์๋ค.ํ์ผ = ์คํธ๋ฆผ # ํ์ผ์ด ํ์ํ ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๊ฒ๋ค์ ์ ์์ด ๊บผ์ง๋ฉด ์ฌ๋ผ์ง๋ค. ํ์ผ ํํ๋ก ์ ์ฅ ์ ์ ์์ด ๊บผ์ ธ๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์กด๋๋ค.# ํ์ผ์ ๊ฐ๋
์ผ๋ จ์ ์ฐ์๋ ๋ฐ์ดํธ๋ชจ๋ ํ์ผ ๋ฐ์ดํฐ ใ
ก> ๋ฐ์ดํธ๋ก ๋ฐ๋์ด ํ์ผ์ ์ ์ฅ๋ฐ์ดํธ๋ค์ ํด์ํ๋ ๊ฑด ์ ์ ์ผ๋ก ํ๋ก๊ทธ๋๋จธ ์ฑ
์ # ํ
์คํธ ํ์ผ (TEXT FILE)์ฌ๋์ด ์ฝ์ ์ ์๋ ํ
์คํธ๊ฐ ๋ค์ด์๋ ํ์ผEx) C ํ๋ก๊ทธ๋จ ์์คํ์ผ, ๋ฉ๋ชจ..
C++
[C++] 7์ฃผ์ฐจ. ์ฝ๋ ํ๋ฆ๋, ๋ฆฌ๋ทฐ
#include #include using namespace std;const int ROWS = 10;const int COLS = 6;int seats[10][6]; // 10ํ 6์ด์ ์ข์ ๋ฐฐ์ด ์ ์ธ int adultcount = 0;int childcount = 0;int changecount = 0;int totalprice = 0;// ์ข์ ๋ฐฐ์ด ์ด๊ธฐํ ํจ์ //void chogihwaseats() { for (int i = 0; i > choice; switch (choice) { case 1: displayseats(); // ํ์ฌ ์ข์ ์ํ ๋ํ๋ด๋ ํจ์ ํธ์ถ int currentadultcount, currentchildcount; cout > currentadult..
CTF
[5์/Dreamhack CTF Season 5 Round #10 (๐ฑDiv2)] EVER-igen