분류 전체보기 97

Command Injection

Command Injection 공격어플리케이션에 운영체제 명령어(Shell Script)를 실행하는 기능이 존재하는 경우, 외부 입력값을 검증, 제한하지 않고 운영체제 명령어 또는 운영체제 명령어의 일부로 사용하는 경우 발생한다. 이 경우 어플리케이션이 올라간 운영체제를 공격자가 직접적으로 제어할 수 있게 된다. 동작 방식1단계악의적인 운영 체제 명령을 실행할 수 있는 애플리케이션 취약점 찾기 2단계응용 프로그램이 호스트 운영 체제에서 원하는 작업을 실행하도록 명령을 설계일반적으로 HTML 코드, 쿠키 등의 입력 매커니즘을 사용해 애플리케이션에 삽입 3단계브라우저는 명령을 해석하고 호스트의 운영체제 명령으로 변환위협 행위자는 호스트 시스템과 감염된 시스템의 네트워크에서 특정 명령 실행 가능 유형1. 직..

SQL Injection

SQL Injection 공격SQL이란?관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다.  SQL Injection이란?웹 애플리케이션과 데이터베이스 간의 연동에서 발생하는 취약점으로, 공격자가 입력 폼에 악의적으로 조작된 쿼리를 삽입하여 데이터베이스 정보를 불법적으로 열람하거나 조작할 수 있는 취약점  공격 유형1. Error based SQL Injection: 논리적 에러를 활용한 SQL 인젝션인증 우회를 위해 논리적 에러를 유도하는 방식의 공격 기법이다.  2. Union SQL Injection: UNION 명령어를 활용한 SQL 인젝션공격자가 추가적인 쿼리를 삽입하여 정보를 획득하는 기법으로, UNION 명령어를 이용하여 여러 쿼리를 합치는 방식을 이용한다. 3. Bli..

2주차_웹해킹 수업 실습

2주차 SQL Injection WebGoat 문제 중 11~13번 실습이다. ※참고로 나는 WebGoat 접속 시 Docker Desktop을 먼저 켜야 명령어로 접근이 가능했다...   11번SQL 문자열 삽입(SQL Injection) 공격으로 employees 테이블의 모든 employee들의 대한 정보를 꺼내와야 하는 문제이다. 우선 공격을 시도하기 전에 Smith와 3SL99A를 입력해보았다.일단 테이블이 이렇게 생겼음을 알 수 있고...이제 공격을 해보겠다."SELECT * FROM employees WHERE last_name = '" + name + "' AND auth_tan = '" + auth_tan + "'";SQL 쿼리문은 위와 같다. 사용자가 입력한 last_name과 auth..

백준 - 유기농 배추

▶문제   ▶풀이이 문제는 연속된 배추 영역의 개수를 구하면 되는 문제이다.연속된 영역의 개수는 자료구조 시간에 이미 BFS, DFS 방식으로 배웠다. 나는 두 방식 중 BFS(너비 우선 탐색) 방식으로 문제를 풀었다. 방문한 배추는 더 이상 탐색되지 않도록 0으로 변경해 처리배추가 있는 위치(matrix[a][b] == 1)에서 BFS를 수행해 하나의 배추 그룹을 탐색하고 그룹의 개수를 증가즉, 배추밭을 모두 순회하며 배추가 있는 새로운 그룹을 발견할 때마다 BFS로 해당 그룹을 모두 탐색하고, 그룹 카운트를 증가시킨다.  전체 코드T = int(input()) # 테스트 케이스 수 입력dx = [-1, 1, 0, 0] # 상하 이동dy = [0, 0, -1, 1] # 좌우 이동def BFS(x,..

백준 2024.10.01

백준 - Fly me to the Alpha Centauri

▶문제   ▶풀이이동 시 전에 이동한 거리보다 같거나, 1씩 크거나 작다.이동해야할 거리 = y지점 - x지점처음 이동 시와 마지막 도착 지점까지의 이동은 무조건 1이다. 우선 문제를 읽고 이 정도로 간략히 정리 해보았다. 일단 규칙성을 파악해야한다. 공간이동 장치 작동 횟수는 1, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7...의 규칙을 보이고 있다.홀수가 될 때마다 숫자의 반복 횟수가 늘어난다. (3일 때 2번으로, 5일 때 3번으로, 7일 때 4번으로 늘어남) 전체 코드t = int(input()) #테스트 케이스 개수 입력 받기for _ in range(t): #t만큼 반복하면서, 각 테스트 케이스마다 두 정수 x(출발점)와 y(도착점)를 입력 x, y =..

백준 2024.10.01

Stored XSS

Stored XSS(저장 XSS, 영구적 XSS)공격자가 공격 스크립트를 웹사이트에 저장해두거나 게시판 등의 게시글 등에 저장해둔 후 사용자가 해당 페이지에 접속하거나 게시글을 클릭하였을 경우 실행되도록 하는 공격이다. 공격자가 페이로드를 전송한 뒤 다수의 피해자가 해당 페이지에 접속하면 XSS 공격에 노출일대다 공격 가능반사 XSS와 영구 XSS 모두 위험하고 두 공격이 동시에 일어날 수 있음 특정 페이지에 삽입된 페이로드를 통한 XSS도 가능1. 공격자가 게시물에 악성 스크립트를 삽입2. 피해자가 게시물을 클릭하면 공격자의 자바스크립트가 포함된 응답이 전송3. 브라우저에서 공격 스크립트가 실행되면 공격자는 피해자의 쿠키, 세션 등의 정보를 얻을 수 있음   Stored XSS 공격 실습DVWA 에 접..