전체 글 23

모의해킹 스터디 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): CTF - Blind SQLi

순서CTF 풀이 (1문제)파이썬 자동화 코드  ◈  CTF: Blind SQL Injection   1) SQL Injection 포인트 찾기∽2) SELECT 문 사용 가능한지 체크∽3) 공격 포맷 만들기∽4) DB 이름 찾기∽5) 테이블 이름 찾기∽6) 컬럼 이름 찾기∽7) 데이터 추출하기   ♨ SQL Injection 6 ♨Flag Find제공된 계정: normaltic / 1234    sqli_3 페이지 요청-> 응답 코드 301 영구 이동, 인덱스 페이지 리다이렉트-> 인덱스 페이지 요청-> 응답 코드 302, 로그인 페이지로 리다이렉트하면서 세션아이디 발급-> 로그인 페이지 요청 -> 응답 코드 200, 로그인 페이지 줌-> POST 로그인 데이터 전달 -> 성공 시 응답코드 302, 인덱..

모의해킹 스터디 7주차 과제(1): CTF - Error-Based SQLi

순서CTF 풀이 (3문제)파이썬 자동화 코드  ◈  CTF: Error-Based SQL Injection  1) SQLi 포인트 찾기∽2) 에러를 출력할 함수 선택∽3) 공격 포맷 만들기∽4) DB 이름 출력∽5) 테이블 이름 출력∽6) 컬럼 이름∽7) 데이터 추출   ♨ SQL Injection 3 ♨이 세상은 에러 천지야..ㅠㅜ (문제에 써있었음)제공된 계정: normaltic / 1234  login.php에 접속 -> 로그인 데이터를 POST방식으로 login.php에 전달-> 로그인 성공 시 302 코드로 index.php에 리다이렉션-> index.php 페이지 접근 -> 200코드로 index.php 페이지 응답.   ㉮  SQL Injection 포인트 찾기  우선 에러 메시지를 출력하는..

모의해킹 스터디 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주차 과제: CTF - UNION SQL Injection

기분 굿.  ♨ SQL Injection 1 ♨ 비밀 데이터를 찾아내라!    1) 검색 기능 이해, SQL Injection 가능한지 확인 2) 서버 사용 컬럼 개수 3) 화면에 노출되는 컬럼 위치 찾기 4) DB 명 찾기 5) 테이블 명 찾기 6) 컬럼 명 찾기 7) 데이터 추출    1) 사이트 검색 기능 이해, SQL Injection 가능성 확인    a만 검색해도 a가 포함된 id를 모두 색출함LIKE 구문을 사용 중이란 것을 알 수 있음. SELECT _________ FROM _______ WHERE id LIKE '%___%';  저 구문에 맞는 SQL Injection 확인 코드는a%' and '1%'='1 위의 코드를 검색할 시,결과적으로 이런 구문을 완성시키게 된다.WHERE id ..

웹 개발: 마이페이지

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius    ☎  기능  ☎ 1) 현재 계정 회원의 아이디, 닉네임, 이메일을 form의 placeholder 방식으로 보여줌. 2) 셋 중 하나라도 수정한 정보를 입력한 뒤 제출하면 DB 데이터가 수정되고      즉시 화면의 데이터도 수정됨. 3) 비밀번호 입력란과 비밀번호 확인란에 입력한 정보가 다르거나     비밀번호 입력란의 데이터와 DB의 비밀번호(평문 비번)가 다르면  alert 표시.   ☎  구현 화면  ☎ 1) 성공 시 panda 회원의 기존 정보를 placeholder..

자습 2024.11.25

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

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