분류 전체보기(139)
-
시스템해킹_3주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 3주차 (9/19 ~ 9/25) : STAGE 5 STAGE 5 : Stack Buffer Overflow 1. Calling Convention [Background : Calling Convention] 1. 서론 1) 함수 호출 규약 -함수 호출 규약 : 함수의 호출 및 반환에 대한 약속이다. 함수를 호출할 때는 반환된 이후를 위해 호출자(caller)의 상태(stack frame) 및 반환 주소(return address)를 저장해야 한다. 또한, 호출자는 피호출자(callee)가 요구하는 인자를 전달해줘야 하며, 피호출자의 실행이 종..
2022.09.23 -
시스템해킹_2주차
https://dreamhack.io/lecture/roadmaps/2 System Hacking 시스템 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 2주차 (9/12 ~ 9/18) : STAGE 3, 4 STAGE 3 : Tool Installation [Tool : gdb] 1. 서론 컴퓨터 과학에서는 실수로 발생한 프로그램의 결함을 버그 (bug)라고 한다. 그런데 이미 완성된 코드에서 버그를 찾는 것은 어렵다. 그래서 이런 어려움을 해소하고자 디버거 (Debugger)라는 도구가 개발되었다. 디버거는 버그를 없애기 위해 사용되는 도구로, 프로그램을 어셈블리 코드 단위로 실행하면서, 실행결과를 사용자에게 보여준다. 그런데 이러한 디버거의 효용을 개발자만 얻는 것이 아니라, 해커, 리버..
2022.09.22 -
1550: 16진수
https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net -결과 -코드 #include int main() { int input; scanf("%X", &input); printf("%d", input); return 0; } -풀이 16진수를 입력받아서 10진수로 출력하기 위해서 먼저 scanf로 16잔수를 입력받아야 한다. 입력받을 때 int로 받으면, 자연스레 10진수 정수로 변환되어 출력할 수 있다.
2022.09.21 -
웹해킹_3주차
https://dreamhack.io/lecture/roadmaps/1 Web Hacking 웹 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 3주차 (9/19~9/25) : Stage 4 STAGE 4 : Cross-Site-Scripting (XSS) 1. Cross-Site-Scripting (XSS) [ClientSide : XSS] 1. 들어가며 클라이언트 사이드 취약점의 대표적인 공격인 Cross Site Scripting(XSS)의 종류와 어떠한 상황에서 발생할 수 있는지, 해당 공격이 어떻게 활용되는지를 알아보기 2. XSS 1) XSS XSS는 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 ..
2022.09.20 -
웹해킹_2주차
https://dreamhack.io/lecture/roadmaps/1 Web Hacking 웹 해킹을 공부하기 위한 로드맵입니다. dreamhack.io 2주차 (9/12~9/18) : Stage 3 STAGE 3 : Cookie & Session 1. Cookie & Session [Background : Cookie & Session] 1. 들어가면 현대의 웹 서비스는 대부분 로그인을 통해 마이페이지, 유료 서비스 등 개인만의 서비스를 이용할 수 있게 된다. 웹 서버는 수많은 클라이언트와 HTTP 프로토콜을 사용해 통신한다. 손님 계정으로 로그인 했다면 손님이 이용할 수 있는 서비스를 제공하고, 관리자 계정으로 로그인 했다면 데이터베이스, 회원 관리 등의 관리자 페이지를 제공한다. 그렇다면 웹 서버..
2022.09.12 -
17608: 막대기
자료구조 브론즈 2 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net -결과 -코드 #include int main(){ int N, hist[100001]; int max=0, cnt=0; scanf("%d", &N); for (int i = 0; i = 0; i--){ if (max < hist[i]){ max = hist[i]; cnt++; } ..
2022.09.11