일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Los
- Error based sql injection
- file upload
- Reflected Xss
- cookie 탈취
- csrf
- 로그인페이지
- CTF
- 게시판 만들기
- cors
- MySQL
- 모의해킹
- Python
- php
- lord of sqli
- sql injection point
- lord of sql injection
- XSS
- 웹개발
- JWT
- blind sql injection
- css
- 로그인
- JS
- sql injection
- union sql injection
- 쿠키
- 세션
- Cross Site Request Forgery
- 과제
- Today
- Total
목록모의해킹 (86)
Almon Dev

4주 차 강의Burp Suite버프스위트는 웹 프록시 툴입니다.=> 클라이언트가 서버에 요청을 보낼 때 버프스위트를 통해서 보내고 응답받습니다.=> 클라이언트의 요청과 서버의 응답을 확인하고 수정할 수 있습니다. 버프 스위트 다운로드https://portswigger.net/burp/communitydownload Download Burp Suite Community Edition - PortSwiggerBurp Suite Community Edition is PortSwigger's essential manual toolkit for learning about web security testing. Free download.portswigger.net 버프 스위트 기능버프 스위트를 처음 실행하면 나오는..

로그인 로직 구현하기 사전작업비밀번호에 해쉬를 저장하기 위해서 varchar(512)로 최대 512바이트까지 저장하도록 변경했습니다.alter table users modify column password varchar(512) not null; 식별 - 인증 동시sql문에서 식별과 인증을 동시에 하는 로직입니다.login1_proc.php $sql = "select nickname from users where id='$id' and password='$pass';";이 코드처럼 where과 and를 이용해 식별과 인증을 동시에 처리합니다. 식별 - 인증 분리login2_proc.php $sql = "select nickname,password from users where id='$id..

JWT로 로그인 구현하기 php에서 jwt를 사용하기 위해서는 firebase/php-jwt라는 패키지를 사용해야 합니다.php-jwt를 설치하기 위해서는 php의 패키지 관리 툴인 composer를 사용해야 합니다.composer 설치하기php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } el..
JWTJWT(JSON Web Token)은 인증에 필요한 모든 정보(아이디, 이메일 등)를 암호화해서 JSON 토큰으로 만든 것을 말합니다. JSONJSON은 JavaScript Object Notation의 약자로 자바스크립트의 객체를 표현하는 방식을 흉내 내어 웹에서 정보를 주고받을 때 자주 사용하는 경량 데이터 형식입니다.JSON의 특징키와 값으로 이루어져 있습니다.문자열 값을 " 큰 따옴표로 묶어야 합니다.객체, 배열, 문자열, 숫자, true, false, null만 포함할 수 있습니다. JWT 구조JWT는 헤더(Header), 페이로드(Payload), 서명(Signature) 세 가지로 이루어져 있습니다.==> 헤더 . 페이로드 . 서명의 구조로 만들어집니다. 헤더(Header)토큰에 사용된..

세션(Session)으로 로그인 구현하기 인덱스 페이지index.php수정 전 수정 후 session_start();사용자의 쿠키에 세션 ID가 있는지 확인하고, 없으면 세션 ID를 생성해 사용자의 쿠키에 저장합니다.세션 ID가 있는 경우 세션 ID와 일치하는 파일을 찾아서 내용을 읽어 $_SESSION 배열에 저장합니다. if (isset($_SESSION["user_id"])) { header("Location: login_successful.php"); exit;세션에 user_id가 있는 경우 프로필 페이지로 이동합니다. }else { header("Location: login2.php"); exit;세션에 user_id가 없는 경우 로그인 페이지로 이동합니다. 세션 파일..

쿠키(Cookie)로 로그인 구현하기 인덱스 페이지index.php if (isset($_COOKIE['user_id'])){isset() 함수를 이용해서 요청에 같이 온 쿠키 중에 user_id라는 이름의 값이 세팅되어 있는지 확인합니다. header("Location: login_successful.php"); exit;쿠키가 존재한다면 프로필 페이지로 리다이렉션 시킵니다. exit를 이용해서 코드를 바로 종료합니다. }else { header("Location: login2.php");}만일 쿠키가 없다면 로그인 페이지로 리다이렉션 시킵니다.로그인 페이지login2.php ..
로그인 식별과 인증식별 : 많은 사용자들 중에 한 사람을 구분하는 것입니다=> 외부에 노출되어도 크게 지장이 없습니다.ex) 아이디, 이메일, 휴대폰 번호인증 : 사용자가 제공한 식별정보가 사실인지 확인하는 것입니다=> 외부에 노출이 되어서는 안 됩니다.ex) 비밀번호, 지문, 얼굴인식고유 식별 정보 : 개인마다 하나씩 부여되는 고유한 식별 정보입니다.=> 식별 정보지만 외부에 노출되어서는 안 됩니다.ex) 주민등록번호, 여권번호, 운전면허번호 로그인 로직식별 - 인증 동시 : sql 쿼리문에서 조건문을 이용해 식별과 인증을 한 번에 처리합니다.ex) select * from users where id='admin' and password='admin1234';식별 - 인증 분리 : sql 쿼리문으로 식..

쿠키(Cookie)쿠키는 유저의 정보를 브라우저에 저장하기 위해서 사용되는 파일입니다.브라우저가 종료되어도 파일상태로 남아있으며 만료날짜를 지정할 수 있습니다.쿠키는 장바구니 목록이나 로그인 상태 정보를 브라우저에 저장해 둘 수 있습니다. 쿠키 생성 방법서버는 클라이언트의 요청에 응답할 때 set-cookie 헤더를 전송해서 쿠키를 생성할 수 있습니다.set-cookie 헤더 구조 : set-cookie: name = value; expires=만료날짜; domain=도메인; path=경로응답을 받은 브라우저가 쿠키를 생성하고 관리합니다. name : 이름과 값으로 이루어진 쿠키의 정보입니다. ex)id=admin expires : 쿠키의 만료 날짜를 지정할 수 있습니다. 지정된 날짜가 지나면 자동으로 ..