웹 모의해킹 스터디 (33) 썸네일형 리스트형 [php/mysql] 게시판 글 작성 구현하기 게시글을 저장하기 위한 board 테이블이다. [write.php] 게시글 작성 작성자 제목 내용 [php/mysql] 게시판 리스트 구현하기 (메인 페이지) 페이징 처리는 하지 않고 게시글만 역순으로 출력되게 하였다. [index.php] 게시판 님, 환영합니다. 글쓰기 [index.css] .btn { border: none; background-color: lightgray; border-radius: 5px; height: 25px; color: black; } .column { margin-bottom: 300px; } .search { text-align: center; margin-bottom: 30px; } table { /* border-top: 1px solid #444444; */ border-collapse: collapse; width: 1200px; margin-bottom: 30px; } tr { border-bottom: 1px s.. 모의해킹의 꽃 Burp Suite (버프슈트)와 proxy에 대해 알아보자 1. Proxy 서버란? 클라이언트와 서버가 중간에 거쳐 가는 서버 프록시를 사용하지 않는 경우 클라이언트의 요청 브라우저 -> 서버 프록시를 사용하는 경우 클라이언트의 요청 브라우저 -> 프록시 -> 서버 응답도 마찬가지로 프록시 서버를 거쳐간다. 위 과정과 방향만 반대로 거쳐간다. 2. Burp Suite burp suite를 부르는 방식은 버프슈트, 버프 스위트, 버프 스윗 등 다양한데 나는 보통 버프슈트라고 부른다. 버프슈트는 프록시 서버를 제공하고, 모의해킹에 사용되는 다양한 기능들을 제공하기 때문에 모의해킹에 필수적이다. 아마 모의해킹을 공부 한다면 알 수 밖에 없을 것이다. 아직은 나도 공부를 하고 있는 과정이기 때문에 공부하며 익힌 기능들을 정리해본다. Proxy : web browser와.. [php / mysql] 세션(session)을 이용한 로그인 / 로그아웃 구현 2023.11.13 - [모의해킹 스터디/과제] - [2주차] [php / mysql] 로그인 / 회원가입 페이지 만들기 [2주차] [php / mysql] 로그인 / 회원가입 페이지 만들기 2주차 과제 회원가입 페이지 만들기 (기능 구현) 로그인 페이지 ( DB 연동하기) 1주차 과제가 아무리 봐도 마음에 안들어서 코드를 거의 다 바꿨다. 그냥 새로 시작했다고 해도 무방하당ㅎ 회원가 studysteadily.tistory.com 위 글에서 구현한 로그인 관련 코드에 세션을 추가하였다. (세션의 의미와 장단점은 아래 글에서 확인할 수 있다.) 2023.11.14 - [모의해킹 스터디/수업 정리] - 쿠키 vs 세션 vs 토큰(JWT) | 서버가 로그인 상태를 유지하는 방법 [login_proc.php] .. [3주차] [php / mysql] 4가지 로그인 과정 구현 3주차 과제 식별 / 인증 동시 식별 / 인증 분리 식별 / 인증 동시 (+ 비밀번호 HASH) 식별 / 인증 분리 (+ 비밀번호 HASH) 로그인에 대해 작성된 아래 글의 로그인 로직을 좀 더 자세히 구현할 것이다. 로그인은 식별과 인증으로 나뉜다 로그인이란? 시스템에 자기 자신을 증명하는 것 로그인 과정은 크게 식별과 인증으로 나뉜다. > 식별 시스템 내 수많은 사용자 중에서 특정한 사용자를 찾아내는 작업 사용자가 로그인할 때 식 studysteadily.tistory.com 로그인 로직은 2주차에 구현해놓은 login_proc.php을 수정하여 작성했다. [2주차] 로그인 / 회원가입 페이지 만들기 | php, mysql 2주차 과제 회원가입 페이지 만들기 (기능 구현) 로그인 페이지 ( DB 연동.. 쿠키 vs 세션 vs 토큰(JWT) | 서버가 로그인 상태를 유지하는 방법 우리가 웹사이트에 로그인을 하면 카페나 블로그로 이동해도 로그인 상태는 유지되어 있다. 다른 페이지로 이동하더라도 로그인이 풀리지 않아 굳이 다시 인증할 필요가 없다는 것이다. 그렇다면 서버는 어떻게 새로운 요청을 해도 인증 상태를 유지하는걸까? 우선 웹 표준 프로토콜인 HTTP의 특징을 알아보자. HTTP의 특징: Stateless: 서버는 클라이언트의 상태를 저장하지 않는다. 따라서 이전에 클라이언트가 어떤 요청을 보냈는지 기억하지 못한다. Connectionless: 서버는 하나의 요청에 하나의 응답을 보내고 연결을 끊는다. 두가지 특징을 통해 서버는 비용과 부담을 줄일 수 있다. 하지만 서버는 클라이언트의 상태를 저장하지 않기 때문에 사용자가 로그인을 통해 인증을 거쳐도, 이후 요청에 대해서는 인.. [php / mysql] 로그인 / 회원가입 페이지 만들기 2주차 과제 회원가입 페이지 만들기 (기능 구현) 로그인 페이지 ( DB 연동하기) 메인 폴더 안에 member 폴더를 생성해서 코드를 작성했다. (CSS 파일은 메인 폴더 안에 CSS 폴더 생성해서 저장) 회원 정보를 저장할 memeber 테이블 로그인 페이지 login.php Login // 경고문 출력 // 경고문 출력 회원가입 자바스크립트로 아이디나 비밀번호 입력폼이 공백일 때 입력하라는 경고문을 출력하고, 커서가 가도록 하였다. style.css 회원가입 화면이랑 같이 쓰는 파일이라 정리가 좀 안돼있어 보기 어렵다 (...나도 헷갈림) /* style.css */ * { padding: 0; margin: 0; } a { text-decoration: none; color: #000; } /* .. 로그인은 식별과 인증으로 나뉜다 로그인이란? 시스템에 자기 자신을 증명하는 것 로그인 과정은 크게 식별과 인증으로 나뉜다. > 식별 시스템 내 수많은 사용자 중에서 특정한 사용자를 찾아내는 작업 사용자가 로그인할 때 식별정보를 입력하면 서버는 DB에 일치하는 식별정보가 존재하는지 확인한다. 하지만 만약 중복된 식별정보가 존재한다면? 서버는 특정한 사용자를 가려낼 수 없으므로 식별이 불가능하다. 따라서 식별정보는 중복될 수 없다는 특징이 있다. 시스템에 로그인할 때 흔히 사용하는 ID, Email이 대표적인 식별정보이다. 이러한 식별정보는 DB에 PK로 저장되기 때문에 실제로 중복체크를 우회해서 회원가입을 시도해도 DB 자체에서 거부되어 회원가입이 불가능하다. > 인증 식별된 사용자가 본인이 맞는지 확인하는 작업 시스템은 사용자에게 식별.. 이전 1 2 3 4 5 다음