전체 글 23

CTF: 어드민은 내 것이다.

/4/ 인덱스 페이지 요청     ->    응답 코드 200, js코드로 login.php 리디렉션                                 ->   로그인 페이지 요청   ->   응답 코드 200, 로그인 페이지 보여줌 ->   로그인 정보 입력, 제출   ->   제출하면 /4/js/login.js 에서 입력값 받아서 onLogin 함수 실행 ->   onLogin함수에서 입력값으로 url을 만들고 loginProc.php로 GET요청    ->  loginProc.php에서 받은 인자들로 로그인 검증, 인정되면 login.js로 ok 신호 보냄 ->   loginProc.php로 부터 받은 응답이 ok면 login.js가 사용자를 index.php로 리디렉션 (에러메시지는 숨김)..

자습 2024.11.23

모의해킹 스터디 5주차 과제: CTF - 로그인, 인증 우회

못 푼 게 많다.그런 문제는 정답은 못 맞춰도 데이터 오고가는 흐름을 정리하고할 수 있는 건 내 나름의 로직을 짜서 비슷한 걸 만들어보려고 했다.(지다못해 쳐발렸지만 이거라도 하면 점점 강해지겠지....)     ♨ ADMIN IS MINE ♨admin 계정으로 로그인하자!(얘는 풀긴 함.... 얻어 걸림!!!!!)(문제 하단 접은글에 정석 풀이와 좀 더 공들인 구현이 있습니다.) 나는 지금 doldol / dol1234 /4/ 인덱스 페이지 요청     ->    응답 코드 200, js코드로 login.php 리디렉션                                       (js로 location.hret = login.php; 할 경우                             ..

모의해킹 스터디 5주차: 로그인, 인증 우회 복습

☎ 웹 서버의 이해1. 정적 페이지/동적 페이지  Web server - WAS - DB2. SQL3. 로그인 과정, 로직에 따른 케이스    쿠키, 세션, 세션ID, JWT4. 웹 프록시 툴  Burp Suite     ◈  SQL Injection         (맛보기) injection : 주입하다, 넣다 → SQL문을 넣어서 인증을 우회하기도 하고 데이터베이스에서 원하는 정보를 추출할 수도 있는 해킹 기법    사이트의 검색창이나 로그인 폼 등과 같이 SQL문을 사용해야하는 곳에서 써먹음.    이런 SQL문이 있다고 해보자. SELECT * FROM user_table WHERE id = '____'; 빈칸에 들어가는 값이 있는 행의 데이터를 DB의 테이블에서 찾는 문장이다.저 빈칸에는 어떤 ..

웹 개발: 게시판 - 글 작성

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius    (수정될 수 있음) 1. idx2. 제목3. 내 서버에 저장한 이미지 url4. 글 내용5. 작성자명6. 작성날짜  컬럼 자료형에 대한 자료https://devdhjo.github.io/mysql/2020/01/30/database-mysql-003.html Data Types" data-og-host="devdhjo.github.io" data-og-source-url="https://devdhjo.github.io/mysql/2020/01/30/database-mysql-..

자습 2024.11.13

모의해킹 스터디 4주차: 웹 프록시 툴 - Burp Suite

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius  순서웹 프록시 툴버프 스위트버프 스위트를 활용한 CTF 풀이   ◈ 웹 프록시 툴 웹 프록시 툴이란?클라이언트(브라우저)와 웹 서버 사이에 껴서 요청과 응답을 대신 전달하는 역할(proxy)을 하는 프로그램.  이전에 공부한 바로는 우리가 브라우저를 이용하여 웹 서버에 어떤 파일을 요청하면웹 서버는 그 파일에서 필요한 동적, 정적 처리를 완료한 후 우리가 사용 중인 브라우저에게 보낸다.  하지만 꼭 이런 식으로 직접 소통하는 방법만 있는 것은 아니다. 나와 웹 서버 사이에 오고 ..

내가 만든 사이트에 세션, 로그아웃, DB 연동 파일 분리 적용하기

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius   충격적인 사실!!!!!!!!!! phpsessid가 사용자의 로그인상태를 알려주는 척도가 아니란다.너무 충격적이다.. 이제껏 로그인한 후에 개발자도구를 이용해서 phpsessid가 생긴 거 보고 음~ 잘 로그인 되었군 허허 했는데지금 확인해보니 login.php 페이지만 가도 phpsessid값이 발급된다...!!!!!!!!! 으악!! phpsessid는 그냥 session_start(); 가 포함된 페이지에 접근한 사용자들에게 다 주는 거라고 한다..일단 일련번호를 붙이는 느..

자습 2024.11.12

모의해킹 스터디 4주차 과제(1): 자바 스크립트

※ 4주차 과제 (1)≫ 자바스크립트 공부하기자바스크립트로 키로거 코드 짜기자바스크립트 기본  ◈ 자바스크립트로 키로거 코드 짜기키로거 : 사용자가 키보드에 입력한 모든 내용을 기록.              반드시 악의적으로 사용되는 것은 아니지만 그런 목적으로 사용되는 경우가 많음. 1) 로직이벤트 리스너로 입력 감지   ->   입력한 문자 공격자 서버에 보내기   ->   입력한 문자 서버에 저장   ->   문자 확인 *감지하자마자 서버에 데이터를 보내야 ㄹㅇ 찐 키로거가 될 수 있을 것 같다.  2) 결과 코드 html 코드 : 키보드 입력 받기, 데이터 가지고 GET요청 보내기 입력받을 input box와키보드가 눌릴 때 처리할 자바스크립트 코드가 적혀 있다. 인풋 박스에 키보드가..

모의해킹 스터디 3주차 과제: 로그인, 쿠키, 세션, 세션ID

1. Virtual Box 7.1.4 + 우분투 리눅스 20.042. 우분투 APM (Apache2 + PHP + MySQL)3. 기본 웹 루트 경로 /var/www/html4. VScode SSH5. 사진 등은 termius   ※ 제대로 복습하기 전에 백지 복습해보기아래는 제대로 복습하기 전 강의 내용 중 기억에 남은 내용을 이해한대로 써내려간 것입니다. 근데 이제 코딱지와 껌을 곁들인..더보기서론    우린 여러 사이트를 이용할 때 회원가입이란 것을 한다. 그래야 서버가 나를 알아보고 서비스에 접근할 권한을 주기 때문이다. 나를 알아보는 것이 "식별"이고 내가 맞다고 확인하는 것이 "인증"이다. 이 일련의 과정은 회원가입과 로그인 시에 처리된다. 여기까진 그렇다 치는데 문제는 서비스의 이용에 있다...

모의해킹 스터디 3주차 과제: 로그인 케이스

※ 3주차 과제≫ 사전 작업DB 정리하기케이스 나눌 파일 만들고 로그인 페이지랑 연결시키기≫ 로그인 케이스 네 가지 만들기3주차의 완성본겪은 문제들≫ 회원가입 insert문에 hash 데이터 추가하기3주차의 완성본겪은 문제들   ♨ 사전 작업 DB 정리하기로그인 케이스 4가지를 만들어야 한다. 1. 식별 (아이디), 인증(비번) 동시에 검증2. 식별, 인증 따로 검증3. 동시에 검증하면서 인증 데이터 해싱 적용4. 따로 검증하면서 인증 데이터에 해싱 적용     => 기존 평문 비밀번호만 있던 DB에 해시화된 비밀번호 컬럼 필요 ㉮  컬럼 추가ALTER TABLE registration_list ADD pass1 varchar(20);ALTER TABLE [테이블명] ADD [컬럼명] [자료형(길이)];..

모의해킹 스터디 2주차 과제: 회원가입 페이지, 로그인 DB 연동

※ 2주차 과제≫ 회원가입 페이지 만들기2주차의 완성본로직겪은 문제들≫ 로그인 페이지에 DB 연동시키기2주차의 완성본로직겪은 문제들  ♨ 회원가입 페이지 만들기파일은 총 4개가 만들어졌다     1) registration.php : 가입 페이지, 오류문 출력    2) regi_style.css : 가입 페이지 디자인    3) regi_proc.php : DB연동, INSERT    4) vali_check.php : 유효성 검사 결과 반환  2주차 완성본1) registration.php : 가입 페이지, 유효성 검사 통과 못한 데이터에 오류문 출력 ` ..