IT
-
게시판 페이지 만들기_2(write)IT/웹 개발 2024. 2. 29. 09:29
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 글쓰기 페이지 코드(1) 코드 설명 코드(2) 코드 설명 1. 글쓰기 페이지 글쓰기 페이지는 스켈레톤 코드를 만들 때 제목, 내용, 비밀번호를 입력받고 확인을 눌렀을 때 userboad_db에 그대로 저장되는지 아이디는 세션으로 받아 disabled로 표시하고 db에 저장되는지 확인한다. 그리고 추후 파일 업로드 기능을 업데이트해줬는데 이미 웹 서버를 다 만들고 포스팅하는 거라 파일 업로드 기능이 있는 것을 볼 수 있겠다. 2. 코드(1) 3. 코드 설명 1) session.php 와 userboard_db.php 파일을 include 함수로 호출 2) POST method로 ..
-
게시판 페이지 만들기_1(list, paging, searching)IT/웹 개발 2024. 2. 27. 16:55
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 게시판 페이지 화면 코드(1) 코드 설명 코드(2) 코드 설명 코드(3) 코드 설명 1. 게시판 페이지 화면 우선 게시판 페이지를 만든다고 생각해 보면 내가 쓴 게시글이 어딘가에 저장이 되고 그걸 다시 불러올 때 저장된 곳을 찾아 불러오는 메커니즘을 떠올린다. 그럼 이때 저장되는 곳은 db서버를 떠올리게 된다. 그럼 db서버에 게시판을 위한 테이블을 하나 더 만들어야 된다. 그리고 페이지에 출력할 정보들을 테이블 컬럼에 추가하도록 한다. (번호, 제목, 글쓴이, 날짜, 조회수) 2. 코드(1) 3. 코드 설명 1) session.php 와 userboard_db.php 파일을 ..
-
마이페이지 만들기_2(update)IT/웹 개발 2024. 2. 27. 14:54
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 코드 코드 설명 실제 웹 페이지에서 처리 과정 및 수정 db결과 1. 코드 2. 코드 설명 5번 코드 세션아이디를 userid 변수로 담기 4~8번 코드 유저에게 입력받은 비밀번호, email, 전화번호를 변수에 저장 10~11번 코드 세션아이디를 변수로 담은 userid로 조건을 잡아 변경될 컬럼을 지정하고 입력받은 정보를 db에 업데이트해준다. 13~17번 코드 finish 함수가 잘 실행 되었으면 개인정보가 수정되었다는 메시지를 띄우며 login3.php로 이동시킨다. 3. 실제 웹 페이지에서 처리 과정 및 수정 db결과 1) 마이페이지 접근 시 화면 2) 변경할 비밀번호..
-
마이페이지 만들기_1IT/웹 개발 2024. 2. 27. 14:24
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 마이페이지 화면 코드(1) 코드 설명 코드(2) 코드 설명 코드(3) 코드 설명 1. 마이페이지 화면 이름과 생년월일은 비활성화시켜 정보만 나타내는 칸으로 만들었고, 나머지는 placeholder에 기존 db정보를 표시해 뒀다. 비밀번호는 입력값을 받고 입력값이 없으면 수정하기가 완료되지 않게 만들었다. 2. 코드(1) 3. 코드설명 2~3번 코드 페이지마다 session 시작 함수와 db 연결 함수를 써주는 것, 그리고 db의 정보(ex phpmyadmin 비밀번호값 변경 시)가 바뀌면 모든 페이지에 정보를 일일이 변경해 주어야 하는 번거로움으로 include 함수를 이용했다..
-
메인페이지 만들기IT/웹 개발 2024. 2. 27. 13:54
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 메인페이지 화면 코드(1) 코드 설명 코드(2) 코드 설명 코드(3) 코드 설명 1. 메인페이지 화면 내비게이션 바를 만들어 각 페이지의 링크 버튼 만들기, 로그인이 성공 시 세션을 시작되게 만들기 및 로그인 시 입력받은 id로 환영 인사 멘트 표시, 그리고 밋밋하기 때문에 귀여운 픽셀 그림을 받아 화면을 채워보았다. 2. 코드(1) 3. 코드 설명 2번 코드 세션을 시작 3번 코드는 세션에 변수를 빈 문자열을 할당한다. 빈 문자열을 우선 할당하는 이유는 로그아웃과 같은 세션을 초기화할 때 필요하기 때문에 넣어주었다. 그리고 주의할 점은 세션 시작 코드를 맨 윗 줄에 넣어주어야..
-
인가(Authorization) 취약점 실습(1~5)IT/웹 해킹 2024. 2. 22. 19:25
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 CTF 1번 시나리오 실습 CTF 2번 시나리오 실습 CTF 3번 시나리오 실습 CTF 4번 시나리오 실습 CTF 5번 시나리오 실습 1. CTF 1번 시나리오 계정 정보를 입력하여 미사일 발사를 할 수 있는 화면으로 접근 후 버튼을 클릭하여 발사하는 구조이다. 그러나 버튼이 없다?! 이때 HTML코드를 확인하여 혹시 숨겨진 코드가 있는지, 주석 처리가된 코드가 있는지 확인해서 파라미터 응답 값을 변조하여 문제를 해결해 보자. 2.실습 1) 로그인 화면에서 전달받은 계정 정보를 입력하여 로그인 시도를 한다. 2) 버튼이 없는 핵미사일 발사 페이지가 나온다. 관리자만 이용 가능하..
-
인증(Authentication) 취약점 실습(1~4)IT/웹 해킹 2024. 2. 22. 16:07
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 CTF 1번 시나리오 실습 CTF 2번 시나리오 실습 CTF 3번 시나리오 실습 CTF 4번 시나리오 실습 1. CTF 1번 시나리오 기존의 유저 아이디는 주어졌고 관리자 계정인 admin으로 클라이언트 측에서 정보를 인증하는 취약점(cookie값 변조)을 이용해 접속하여 플래그를 얻을 계획이다. 2. 실습 1) doldol / dol124로 접속 시도를 해본다. 2) User Name이 doldol로 나오는 것을 볼 수 있다. 3) burp suite의 패킷을 보면 doldol로 접속을 하였을 때 클라이언트 요청 쪽에서 쿠키 값을 doldol로 요청하여 보냈고 응답 쪽의 쿠키..
-
인증과 인가(Authentication and Authorization)IT/웹 해킹 2024. 2. 22. 00:33
[이 블로그는 해킹 공부하면서 가볍게 정리용으로 기록 및 내 생각을 끄적여 두기 위한 블로그(라 쓰고 일기라 읽는)이다.] 목차 인증(Authentication)이란 인가(Authorization)란 인증과 인가의 차이 인증 취약점 케이스 인가 취약점 케이스 1. 인증(Authentication)이란 이 전 게시물(https://lockinghacking.tistory.com/11)에도 설명했듯이 수많은 데이터 중에서 특정 데이터를 찾아내는 작업이다. 즉 많은 데이터 중에서 본인이 맞는지 확인하는 작업으로 보면 된다. ex) 본인인증, 비밀번호, OTP 등 2. 인가(Authorization)란 권한을 부여하거나 제한하는 것으로 생각하면 된다. 예를 들어 이 게시물을 내가 작성하고, 수정하고, 삭제하는 ..