모의해킹 스터디 복습 12

모의해킹 스터디 11주차: XSS - 데이터 추출, 대응 방안

XXSCross-Site Scriptinga.k.a 크사, 크스스, 크싸    XSS는 클라이언트 측 스크립트를 사이트에 삽입하여 이용자 브라우저에서 그 스크립트가 동작하게 만드는 해킹 기법으로, 여기서 클라이언트 측 스크립트란 html, css, javascript 등과 같이 이용자들의 브라우저에서 실행되는 코드를 의미한다. 보통 javascript를 활용한 XSS 공격이 많다.  11주차 목표자바스크립트 활용1) 자바스크립트를 활용하여 클라이언트의 현재 페이지를 바꿀 수 있다. (Page Redirect)2) 자바스크립트를 활용하여 DOM 객체에 접근할 수 있다. (document)3) 자바스크립트를 활용하여 접근한 객체의 데이터를 추출할 수 있다.대응 방안1) XSS 공격의 대응 방법을 설명할 수 ..

모의해킹 스터디 9-10주차: XSS

XXS (Cross-Site Scripting attack)기본 개념종류:                - Stored XXS (저장!)                - Reflected XXS (반사!)                - DOM Based XSS (생성!)Stored XSS + 취약점 찾기Reflected XSS + 취약점 찾기DOM Based XSSXSS 공격 대응 방법정리   XXSCross-Site Scriptinga.k.a 크사, 크스스, 크싸   기본 개념   XSS는 클라이언트 측 스크립트를 사이트에 삽입하여 이용자 브라우저에서 그 스크립트가 동작하게 만드는 해킹 기법으로, 여기서 클라이언트 측 스크립트란 html, css, javascript 등과 같이 이용자들의 브라우저에서 실행..

모의해킹 스터디 8주차(2): SQL Injection 대응 방법

SQL Injection서버에서 준비한 쿼리문에 악의적인 의도를 가진 SQL구문을 주입하는 해킹 기법.    SQL Injection이 SQL구문을 주입하는 해킹 기법이기 때문에 SQL Injection에 대한 보편적이고 확실한 대응은 서버에서 동적으로 할당되는 데이터를 어떻게 처리할 것인지에 달려있다. 여기서는 SQL Injection에 대응하는 방법 중 prepared statement와 whitelist filtering에 대해 다뤄볼 것이다.  Prepared Statement prepared statement의 가장 큰 특징은 준비된 쿼리문을 미리 컴파일 시켜둔다는 것이다.가장 많이 접했던 select문을 예시로 살펴보자. select id, pass, email from member where..

모의해킹 스터디 8주차(1): SQL Injection 포인트 찾기

SQL Injection서버에서 준비한 쿼리문에 악의적인 의도를 가진 SQL구문을 주입하는 해킹 기법.   1. Union SQL Injection  SQL 질의 결과가 사이트 화면에 출력될 때  2. Error-Based SQL Injection  사이트에 질의문의 결과는 안 나와도 SQL 에러문이 출력될 때 3. Blind SQL Injection  질의문 결과나 에러문이 화면에 출력되지 않지만 쿼리의 참/거짓 결과를 구분할 수 있을 때       핵심 1) SQL Injection의 기본 조건SQL 쿼리가 사용되는 곳을 중심으로 찾아야 함. -> 서버에서 쿼리가 사용 중인 곳이어야 SQL구문을 주입할 수 있음. __ ___ __ 2) SQL Injection 가능 범위SQL 쿼리가 사용되는 곳이라면..

모의해킹 스터디 7주차(2): Blind SQL Injection

SQL InjectionDB에서 준비한 쿼리문에 SQL 구문을 주입하여 로그인, 인증을 우회하거나DB의 데이터를 추출할 수 있는 해킹 기법.    SQL Injection 주구장창 하는 이유더보기1. 위험도가 높다.2. 다른 위험도 높은 취약점에 비해 공부할 양이 많다. mysql과 다른 sql언어는 세부적으로 다른 점이 있어서추가로 공부해야할 내용도 있음.   DB 데이터가 화면에 출력됨=> UNION SQL Injection이 가장 적합 DB 데이터가 화면에 출력되지 않지만 SQL 에러가 출력됨=> Error-Based SQL Injection이 가장 적합 DB 데이터가 화면에 출력되지 않지만 입력값에 대한 참/거짓을 구분할 수 있음=> Blind SQL Injection이 가장 적합       ◈ ..

모의해킹 스터디 7주차(1): Error-Based SQL Injection

SQL InjectionDB에서 준비한 쿼리문에 SQL 구문을 주입하여 로그인, 인증을 우회하거나DB의 데이터를 추출할 수 있는 해킹 기법.    SQL Injection 주구장창 하는 이유더보기1. 위험도가 높다.2. 다른 위험도 높은 취약점에 비해 공부할 양이 많다. mysql과 다른 sql언어는 세부적으로 다른 점이 있어서추가로 공부해야할 내용도 있음.   DB 데이터가 화면에 출력됨=> UNION SQL Injection이 가장 적합 DB 데이터가 화면에 출력되지 않지만 SQL 에러가 출력됨=> Error-Based SQL Injection이 가장 적합 DB 데이터가 화면에 출력되지 않지만 입력값에 대한 참/거짓을 구분할 수 있음=> Blind SQL Injection이 가장 적합       ◈ ..

모의해킹 스터디 6주차: UNION SQL Injection

SQL InjectionDB에서 준비한 쿼리문에 SQL 구문을 주입하여 로그인, 인증을 우회하거나DB의 데이터를 추출할 수 있는 해킹 기법.   ◈  UNION SQL Injection  지난주에 배운 것SQL Injection으로 로그인, 인증을 우회하는 법. 이번주에 배울 것SQL Injection으로 DB 데이터를 추출하는 방법.  로그인, 인증 우회는 대부분 로그인 페이지에서 이루어진다.DB 데이터 추출은 어디서 이루어질까? DB 데이터가 쓰이는 부분에서 이루어진다!!  하나의 웹 사이트에서 DB 데이터가 쓰이는 곳은 많음. 그 중 쿼리문의 결과(DB에 저장된 데이터)가화면에 나오는 곳이 있고 나오지 않는 곳이 있음. 화면에 나오는 곳 예시1) 게시판 검색2) 마이페이지  화면에 나오지 않는 곳 ..

모의해킹 스터디 5주차: 로그인, 인증 우회 복습

☎ 웹 서버의 이해1. 정적 페이지/동적 페이지  Web server - WAS - DB2. SQL3. 로그인 과정, 로직에 따른 케이스    쿠키, 세션, 세션ID, JWT4. 웹 프록시 툴  Burp Suite     ◈  SQL Injection         (맛보기) injection : 주입하다, 넣다 → SQL문을 넣어서 인증을 우회하기도 하고 데이터베이스에서 원하는 정보를 추출할 수도 있는 해킹 기법    사이트의 검색창이나 로그인 폼 등과 같이 SQL문을 사용해야하는 곳에서 써먹음.    이런 SQL문이 있다고 해보자. SELECT * FROM user_table WHERE id = '____'; 빈칸에 들어가는 값이 있는 행의 데이터를 DB의 테이블에서 찾는 문장이다.저 빈칸에는 어떤 ..

모의해킹 스터디 4주차: 웹 프록시 툴 - Burp Suite

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius  순서웹 프록시 툴버프 스위트버프 스위트를 활용한 CTF 풀이   ◈ 웹 프록시 툴 웹 프록시 툴이란?클라이언트(브라우저)와 웹 서버 사이에 껴서 요청과 응답을 대신 전달하는 역할(proxy)을 하는 프로그램.  이전에 공부한 바로는 우리가 브라우저를 이용하여 웹 서버에 어떤 파일을 요청하면웹 서버는 그 파일에서 필요한 동적, 정적 처리를 완료한 후 우리가 사용 중인 브라우저에게 보낸다.  하지만 꼭 이런 식으로 직접 소통하는 방법만 있는 것은 아니다. 나와 웹 서버 사이에 오고 ..

모의해킹 스터디 3주차: 로그인, 쿠키, 세션, 세션ID

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius   ※ 제대로 복습하기 전에 백지 복습해보기아래는 제대로 복습하기 전 강의 내용 중 기억에 남은 내용을 이해한대로 써내려간 것입니다. 근데 이제 코딱지와 껌을 곁들인..더보기서론    우린 여러 사이트를 이용할 때 회원가입이란 것을 한다. 그래야 서버가 나를 알아보고 서비스에 접근할 권한을 주기 때문이다. 나를 알아보는 것이 "식별"이고 내가 맞다고 확인하는 것이 "인증"이다. 이 일련의 과정은 회원가입과 로그인 시에 처리된다. 여기까진 그렇다 치는데 문제는 서비스의 이용에 있다...