분류 전체보기 7

WebGoat A3, A5, A7

1. A3 SQL Injection (intro) 풀이처음 문제는 간단한 것을 물어본다. 위의 Employees Table에서 Bob Franco라는 직원의 부서를 가져오면 된다. 다음과 같이 간단한 sql 문을 작성해 employees 테이블에서 first name이 Bob인 사람의 department를 가져오니 성공했다. 다음 페이지로 넘어가니 DML 관련 설명이 있었다. DML (Data Manipulation Language)은 데이터 조작 언어로, 데이터베이스 안의 데이터를 조작(추가, 조회, 수정, 삭제) 하는 명령어이다.대표적인 DML 명령어는 다음과 같다.SELECT → 데이터 조회 | INSERT → 데이터 추가 | UPDATE → 데이터 수정 | DELETE → 데이터 삭제..

web 2025.09.03

웹 기본 ~ CSRF

Building a Web Service1. 웹 기본상식웹- 웹은 인터넷을 기반으로 구현된 서비스 중 HTTP를 이용해 정보를 공유하는 서비스- 웹 서버- 정보 제공 주체, 웹 클라이언트- 정보 받는 이용자- 웹 리소스란 웹에 갖춰진 정보 자산, 모든 웹 리소스는 고유의 URI를 가짐. 인코딩- 컴퓨터의 모든 데이터는 0과 1로 구성되는데 이 0과 1로 우리가 사용하는 문자를 표현함- 문자를 표현하는 약속들을 인코딩 표준이라고 부르는데, 대표적으로 아스키와 유니코드가 있음.- 초기에는 각 문자권마다 고유의 인코딩 표준을 사용해 영어: 아스키, 한글: CP-949, EUC-KR 등을 사용했지만 호환성 측면에서 어려움이 있어 하나의 표준으로 모든 언어의 문자를 표현하기 위해 유니코드가 만들어짐. HTTP(H..

web 2025.07.16

5주차

What i did1. Flask 실습2. Github 사용 What I learn1. Flask는 웹 어플리케이션 개발을 지원하는 Python API로, 웹 애플리케이션을 쉽게 만들 수 있도록 도와주는 도구이다.low level 코드를 작성하지 않고도 어플리케이션 개발을 할 수 있도록 필요한 모든 라이브러리를 제공한다.장점으로는 처음 배우기 쉽고 코드가 짧아 가볍고 단순하다는 점, 정해진 틀이 없어 자유롭다는 점, 장고에 비해 내장기능이 많이 없다는 점, 숙련자에게는 확장 모듈을 지원해 초보자부터 숙련자까지 쉬운 사용이 가능하다는 점 등이 있다. 가장 대표적인 장점은 구조가 단순해 초보자도 쉽게 학습하고 커스터마이징 할 수 있다는 점인 것 같다. Flask 실습나는 이미 파이썬이 설치되어 있어서 설치..

과제 2025.05.11

4주차

What i did1. 포너블에 대해 배웠다.2. 우분투를 통해 관련 문제들을 풀었다. What I learn-포너블이란 운영체제나 소프트웨어, 하드웨어에 내재된 보안 취약점을 해킹하는 것이다. 포너블의 목표는 관리자 권한을 탈취해 그 프로그램의 쉘을 따내는 것이다. -어셈블리어를 통해 취약적이 있는 공격 대상을 리버싱을 분석해 기계어를 의사코드 형태로 복원하고 메모리 레벨이서 이해할 수 있다. x86-64 는 64비트 컴퓨터에서 사용하는 CPU 아키텍처이다. 기존 32비트(x86) 아키텍처를 기반으로 64비트 확장한 것이다. 같은 명령어라도 x86-64 에서만 쓰이는 것이 있어 실제로 사용할 때는 찾아보고 사용해야할 것 같다.스택은 임시 기억 공간, 함수 호출/리턴과 지역변수 저장소이다. 스택의 구조..

과제 2025.04.10

3주차

What i did1. 리버싱에 대해 알아보았다.2. 실행 파일들의 어셈블리 코드를 보며 분석하는 실습을 진행했다. 3.오픈 소스 메모리 스캐너 및 디버거 도구인 cheat engine을 활용하여 과제를 했다. What I learn리버싱이란 완성된 프로그램을 분석해 소스 구조를 파악하는 과정으로, 내부 구조나 동작 방식, 데이터 흐름 등을 역으로 추적하는 과정이다. 리버싱은 각종 프로그램의 보안성을 평가하거나 악성코드를 분석하는 등 다양하게 활용된다. 어셈블리어는 사람이 이해할 수 있는 형태의 기계어에 가까운 언어이다. 0과 1로 구성된 기계어를 사람이 좀 더 읽기 쉽게 바꾼 언어로, 기계어보다는 이해하기 낫지만 여전히 복잡한 Low-Level Language이다.C/C++ 프로그램을 기계어로 변환하는..

과제 2025.04.06

2주차

What i did1. 디지털 포렌식에 대해 알아보았다.2. 네트워크 패킷을 캡처 및 분석하는 오픈소스 LAN 분석 툴인 wireshark를 이용해 패킷을 분석하고 숨은 정보를 알아내 보았다.3. FTK Imager를 이용해 데이터를 분석해보았다.4. Volatility를 통해 프로세스를 분석해보았다. What I learn디지털 포렌식이란 디지털과 포렌식의 합성어로 디지털 증거물을 수집, 분석하여 범죄의 단서와 증거를 찾아내는 과학수사 기법이다. 디제털 포렌식의 대상은 디스크, 메모리, 네트워크, 모바일 등 다양한 분야를 포렌식한다. 1. 네트워크 포렌식단어들의 정의- 네트워크는 연결하는 선이나 장치 같은 물리적인 측면부터 데이터를 주고받는 데에 필요한 메시지나 규약과 같은 물리적이지 않은 측면까지 모..

과제 2025.03.31

1주차

What i did웹 해킹에 대해 알아보았다. What I learn웹은 HTTP를 이용해 정보를 공유하는 서비스 이고, HTTP는 서로 통신을 하기 위해 정해둔 일종의 규칙이다. 중요한 것은 XSS 였는데 Cross Site Scripting을 가르키는 말이다. 악의적인 스크립트를 페이지에 삽입해 해당 스크립트를 실행하게 만드는 공격이다. 공격기법에는 DOM-based XSS, Reflected XSS, Stored XSS 가 있다. 이에 대한 대응이 다양하게 필요한 것 같다. step 1에서는 getget과 rerequest를 넣으면 2로 넘어가고, 2 에서는 pooost와 requeeest를 넣는다. burpsuite를 이용한 문제 1번에서는 프록시를 끈 채로 사이트에 들어가는 과정에서 in..

과제 2025.03.24