Information Security ˗ˋˏ ♡ ˎˊ˗
반응형

분류 전체보기 202

[WebGoat] String SQL injection 풀이

실행환경: burf suite, WebGoat 문제 SQL injection attacks은 모든 데이터베이스 기반 사이트에 심각한 위협이 된다. 해당 문제는 사용자가 자신의 신용 카드 번호를 확인할 수 있다. 모든 신용 카드 번호가 표시되도록 SQL 문자열을 삽입한다. 풀이 이름을 입력하는 부분에 먼저 Smith만 검색하여 어떻게 SQL 질의문이 작동되는지 살펴보았다. Smith 뿐만 아니라 모든 사용자의 정보를 알기 위해서 해당 질의문에 Where절이 항상 참이 되도록 문자열을 삽입해보았다. Smith'or'1'='1 그 결과 모든 사용자의 카드번호를 확인할 수 있었다.

Security/WebHacking 2020.09.10

[Attack] CSRF(사이트 간 요청 위조, Cross-site request forgery)

CSRF(사이트 간 요청 위조, Cross-site request forgery) 1. CSRF 정의 웹 애플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법 조작된 요청정보가 삽입된 게시글을 클릭하면 사용자의 권한으로 의도하지 않은 조작된 요청을 웹 서버에 전송하도록 하여 게시판 설정 변경, 회원 정보 변경, 패스워드 변경 등의 행위가 발생 XSS CSRF 발생위치 클라이언트에서 발생 서버에서 발생 차이점 사용자가 특정 사이트를 신뢰한다는 점을 공격 특정 사이트가 사용자의 브라우저를 신뢰한다는 점을 공격 XSS는 사용자가 특정 사이트를 신뢰한다는 점을 공격하는 거라면, CSRF는..

Security/WebHacking 2020.09.09

[WebGoat] Stored XSS Attacks 정의 및 문제 풀이

Stroed XSS Attacks 정의 및 문제 풀이 풀이 Title과 Message에 입력 Title: test Message: 결과 test라는 이름의 버튼이 생긴 것을 볼 수 있다. 그 후에 버튼을 클릭했을 때, XSS라는 alert 창이 뜨면서 성공!! 자세한 설명 Cross-Site Scripting (XSS) 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되도록 유도할 수 있다. 사용자 측 언어: HTML, JavaScript, CSS 등 ex) 해당 구문은 자바스크립트 구문으로 XSS라는 문구를 경고창으로 띄우라는 내용이다. 종류 - Stored XSS: DB에 저장이 되고 그것을 가지고 보내는 역할 - Reflact XSS 막는 방법 - 필터링 - 모든 것을 다 문자열로 받는다..

Security/WebHacking 2020.09.09

[Network] Ethernet/TCP/IP Header 구조

Ethernet/TCP/IP Header 구조 살펴보기 1. Ethernet Header(IEEE 802.3) DA(Destination Address) 목적지의 2 계층 주소를 나타내며 6byte(48bit), 주소의 첫 번째 비트가 1이면 멀티캐스트, 모든 비트가 1이면 브로드캐스트 SA(Source Address) 출발지의 2계층 주소를 나타내며 6byte(48bit) Ethernet Type MAC 프레임 데이터 부분에 있는 상위계층의 프로토콜 종류 표시, 0x0800이면 IPv4 패킷, 0x0806이면 ARP, 0x8100이면 VLAN Tag가 Ethernet 헤더와 L3 패킷 사이에 붙는다는 의미 Length 데이터 영역의 길이를 표시 Data 상위 계층으로부터 받은 데이터 또는 상위 계층에 ..

Security/Network 2020.09.07

[Network] Router IGP와 EGP(=> BGP+AS)

라우팅(Routing) 라우팅(Routing)이란 Internetwork를 통하여 근원지에서 목적지로 데이터가 전달될 수 있도록 하는 기능, 수많은 경로 중 하나를 선택하여 이동하는 것 라우터들끼리 경로 정보를 교환하는 프로토콜 1. IGP(Internal Gateway Protocol) - 네트워크 집합을 몇 개로 그룹으로 나누었을 때, 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜 - 같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 이 때 도메인 내부 경로 설정에 대한 프로토콜이 ISP(Internet Service Provider) - 종류 => 거리벡터 알고리즘: RIP(Routing Informat..

Security/Network 2020.09.07

[Network] NAC(Network Access Control, 네트워크 접근제어)

NAC의 정의와 어떻게 대응할 수 있는지? 왜 필요한가? 1. NAC 정의 - Network Access Control, 네트워크 접근제어 - 일련의 프로토콜들을 사용하여 엔드포인트(Endpoint)가 처음 내부 네트워크에 접근시도를 할 때, 기존 내부망에 피해를 끼치지 않도록 접속하는 엔드포인트에 일련의 보안 정책을 적용할 수 있도록 하는 컴퓨터 네트워킹 솔루션 => 엔드포인트: 노트북, 컴퓨터, 스마트폰 등 네트워크에 접속하는 모든 유무선 단말을 일컫는다. - 엔드포인트 자동 검역 과정(접근 허용하기 전에 보안정책을 따르지 않은 기기들을 검역)을 네트워크 시스템에 통합시켜서 라우터, 스위치 그리고 방화벽 같은 네트워크 기반 시설과 맞물려서 작동한다. 2. NAC의 주요 기능 - 접근 제어/인증: 네트..

Security/Network 2020.09.07

[WebGoat] WebGoat7.1 설치 및 실행

1. 필요한 파일 - WebGoat7.1 - jdk 7 version 2. 다운로드 2.1 WebGoat https://github.com/WebGoat/WebGoat/releases/download/7.1/webgoat-container-7.1-exec.jar 2.2 JDK 설치 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 3.3 환경변수 설정하기 시스템 속성 -> 환경 변수 -> path에 추가하기 3. 실행 CMD 창 -> java -jar webgoat-container-7.1-exec.jar 접속하기 http://localhost:8080/WebGoat/login..

Security/WebHacking 2020.08.26

[C#자료구조와알고리즘] 선형자료기초(배열, 연결 리스트)

선형 자료 구조 VS 비선형 구조 선형구조 - 자료를 순차적으로 나열한 형태 - 종류: 배열, 연결 리스트, 스택/큐 비선형 구조 - 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 - 종류: 트리, 그래프 선형 자료 구조 배열 public int[] _data = new int[25]; - 개념: 사용할 방 개수를 고정해서 계약하고 연속된 방으로 배정받아 사용한다. - 장점: 연속 - 단점: 추가, 제거 불가, 유동적으로 상황에 맞춰서 사용할 수 없다. 동적 배열 public List _data2 = new List(); - 개념: 사용할 방 개수를 유동적으로 가능, 연속된 방으로 배정받아 사용한다. - 할당 정책: 실제로 사용할 공간보다 많이, 여유분을 두고 사용한다. 이동 횟수를 최소화한다. - ..

Programming/C# 2020.08.04

[C#자료구조와알고리즘] 환경설정

환경설정 게임은 무한루프 안에서 대부분 동작이 된다. 3가지 단계로 진행 - 입력: 사용자가 키보드나 마우스로 입력하는 INPUT을 감지하는 단계 - 로직 - 렌더링: 게임 그래픽을 이용하여 화면에 출력하는 단계 프레임 고정, 프레임 관리 - FPS 프레임: 1초에 몇 번 수행되고 있는가? - 60프레임 OK, 30 프레임 이하로 NO 코드 using System; namespace CSharpAlgorithm { class Program { static void Main(string[] args) { Console.CursorVisible = false; const int WAIT_TICK = 1000 / 30; const char CIRCLE = '\u25cf'; int lastTick = 0; wh..

Programming/C# 2020.08.04
반응형