분류 전체보기 28

CTF - SQL Injection 포인트 찾기

SQL Injection서버에서 준비한 쿼리문에 악의적인 의도를 가진 SQL구문을 주입하는 해킹 기법.   1. Union SQL Injection  SQL 질의 결과가 사이트 화면에 출력될 때  2. Error-Based SQL Injection  사이트에 질의문의 결과는 안 나와도 SQL 에러문이 출력될 때 3. Blind SQL Injection  질의문 결과나 에러문이 화면에 출력되지 않지만 쿼리의 참/거짓 결과를 구분할 수 있을 때       ▶ 검색, 인증 뿐만 아니라 쿠키, 동적으로 할당되는 컬럼명, order by 절 등 쿼리가 사용되는 곳에서 SQL Injection이 일어날 수 있기 때문에 버프 스위트 등의 프록시 툴을 이용하여 요청에 어떤 파라미터를 가져가는지 확인해야함. ▶가져가는 ..

자습 2025.01.08

웹 개발: 게시글 읽기 페이지

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius6. 디자인은 부트스트랩 ...  그림판으로 그린 그림 자랑하는 사이트   이라기엔 민망하지만 암튼.. 중요한 부분1) index.php(글목록)에서 post.php(글읽기)로 파라미터 전송 및 이동2) 파라미터를 기준으로  DB연동하여 데이터 불러오는 부분3) 불러온 데이터 출력  게시글의 idx값을 파라미터로 받아서 DB데이터를 가져오기 때문에 위 세 부분이 포인트    ▶ index.php에서 게시글 읽기 페이지로 이동"> ..게시물 요소.. a태그로 게시물 요소(카드 요소)를..

웹 개발(초보) 2025.01.03

웹 개발: 게시판 - 글 목록

※ 여기선 단순 목록 나열만 다룸  1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius   그림판으로 그린 그림 자랑하는 사이트  이라기엔 민망하지만 암튼.. 중요한 부분 1) DB연동하여 데이터 불러오는 부분2) 반복 출력할 게시물 부분  ▶ DB 연동 및 데이터 불러오기   ▶ 게시물 반복 출력 (while문) 0) :?> "> ..

웹 개발(초보) 2025.01.01

모의해킹 스터디 11주차 과제: CTF - XSS로 데이터 추출

XSS개념:   공격자가 삽입한 임의의 스크립트가 피해자의 브라우저에서 실행되게 하는 해킹 기법종류:   Stored XSS, Reflected XSS, DOM Based XSS공격 시나리오:   세션 탈취, 페이지 이동, HTML Overwrite, 키로거, 데이터 추출 등대응:   특수문자 HTML Entity 치환, 태그 화이트리스트 필터링, 이벤트핸들러 블랙리스트 필터링 목차1) CTF 1   - XSS 포인트 찾기   - DOM 객체 확인   - 스크립트 작성 및 관리자 봇에게 링크 공유2) CTF 2   - 제시된 사이트 탐색   - XSS 포인트 찾기   - DOM 객체 확인   - 스크립트 작성 및 관리자 봇에게 링크 공유3) CTF 3   - XSS 포인트 찾기   - DOM 객체 확인 ..

모의해킹 스터디 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): 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 포인트 찾기  우선 에러 메시지를 출력하는..