본문 바로가기

웹해킹

WebHacking - (11)마이페이지 만들기 로그인 후에 내 정보를 확인할 수 있는 마이페이지를 만들어보자 우선 마이페이지를 확인할려면 로그인이 되어있는 상태여야 하고, 보여지는 정보는 간단하게 계정명, 비밀번호 변경, 이름이다. [mypage.php] 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 .text{ text-align:center; padding-top:20px; color:#000000 } 메인 페이지 마이페이지 계정명 : 더보기
WebHacking - (10)게시판 만들기_기간 검색 기능 게시판 검색을 할 때 지정 기간의 게시물만 나오는 기능을 추가하자. 우선적으로 제목, 작성자, 내용 카테고리를 구분해서 완성해 놓은 상태이다. 그래서 코드 몇 줄만 추가하면 되는 작업이라 그리 어렵진 않았다. [index.php] 1 2 3 4 5 6 7 8 9 10 제목 작성자 내용 검색 Colored by Color Scripter cs fontawesome 을 통해 달력 이미지를 가져오고, input type을 date로 설정하면 날짜를 선택할 수 있게 페이지에 나타난다. 카테고리와 날짜를 선택해서 검색버튼을 누르면 search.php로 해당 정보들이 전송된다. [search.php] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 query($sql); $to.. 더보기
WebHacking - (9)게시판 만들기_좋아요 기능 기본적인 게시판 출력은 완성된 상태이고, 좋아요 기능을 추가하자 개인적으로 느끼기에 게시판 만들기에서 제일 어려웠었던 기능이였다. (코드 이해하는 것도 약간 오래걸린듯?) 좋아요 기능 추가는 구글링으로 배열로 구성한 블로그를 참고해 만들었다. 해당 테이블은 게시판 테이블로 기존에 있던 칼럼들에서 likes, likes_count 칼럼을 추가했다. 좋아요 기능은 게시물을 보는 페이지에 설정해줘야 하니 view.php에 소스코드를 추가해줬다. 개인마다 테이블 칼럼명이 같아도 의미하는 바가 다를 수 있으니 좋아요 기능을 만드는 코드 위주로 설명을 하자면, number 칼럼은 게시글 번호 / id 칼럼은 유저명을 의미한다. [view.php] 1 2 3 4 5 6 Colored by Color Scripter .. 더보기
WebHacking - (8)XSS 기본 개념 정리 XSS 란? Cross Site Scripting 의 줄임말로 크로스 사이트 스크립팅이라고 한다. (모의해킹 현업쪽에선 크사 or 크사사 라고 한다.) XSS 공격은 공격자가 게시판 등에 악성 스크립트를 삽입하고, 게시판을 이용하는 피해자가 해당 게시물을 열람할 경우 악성 스크립트가 클라이언트 측(웹 브라우저) 에서 동작하여 피해를 입히는 공격이다. 공격자는 악성 스크립트를 이용해 피해자의 세션 정보를 탈취하거나 피싱 사이트로의 유도, 웹 사이트 변조등의 피해를 입힐 수 있다. XSS 종류 1. Stored XSS Stored XSS는 공격자가 게시판에 악성 스크립트가 삽입된 게시글을 작성하고, 해당 게시물을 피해자가 열람하게 되면 악성 스크립트가 피해자의 웹 브라우저에서 동작해 피해를 입히는 기법이다... 더보기
WebHacking - (7)우편번호 DB 만들기 (MySQL) 주소 검색 기능을 구현하기 위해서 일단 MySQL DB에 우편번호를 Import 시켜보자. https://www.epost.go.kr/search/zipcode/cmzcd002k01.jsp 우체국 홈페이지에 들어가서 지역별 DB를 다운받는다. 해당 파일을 다운받은 후에 압축을 풀어준다. (용량이 꽤 크다..) 파일 하나를 열어보면 칼럼명을 "|" 기준으로 나와있고 아래로 주소들이 기입되어 있다. 우편번호|시도|시도영문|시군구|시군구영문|읍면|읍면영문|도로명코드|도로명|도로명영문|지하여부|건물번호본번|건물번호부번|건물관리번호|다량배달처명|시군구용건물명|법정동코드|법정동명|리명|행정동명|산여부|지번본번|읍면동일련번호|지번부번|구우편번호|우편번호일련번호 아래 코드를 이용해서 MySQL에 zipcode 테이블을.. 더보기
WebHacking - (6)Blind SQL Injection 공격 프로세스 정리 오늘은 Blind SQL Injection 내용을 복습하겠다. 실습은 이후에 UNION/ERROR/BLIND SQL Injection을 한꺼번에 해서 글로 작성해야 할 거 같다. 우선, Blind SQL Injection을 이용해서 실무에서 가장 많이 사용된다고 한다. SQLi 가 가능한 모든 곳에서 사용이 가능하지만, 대입하는 값들을 모두 대입해보기 때문에 시간이 오래 걸린다는 단점이 있다. 하지만, 자동화 스크립트를 짜서 사용하게 되면 빠르게 확인할 수 있다. (파이썬을 배우자..) Blind SQLi 에서는 알아둬야 문법이 있다. limit [시작위치], [N개] - ex) limit 0, 1 = 첫 번째 위치에서 1개의 문자 출력 substring([문자열], [시작위치], [N개]) - ex) .. 더보기
WebHacking - (5)Union/Error Based SQL Injection 공격 프로세스 정리 공부 후 바로 복습을 해줘야 머릿 속에 잘 남는다. 오늘 배운 내용은 Union Based SQL Injection 과 Error Based SQL Injection 이다. Union Based SQL Injection 에서는 UNION을 사용할 때 두 개의 쿼리의 칼럼 수가 같아야 한다. 각각의 Injection 프로세스를 머릿속에 기억하고 실무에서도 적용해 보도록 하자 (MySQL 기준) - Union Based SQL Injection 1. SQL 인젝션 가능 여부 확인 검색창 같은 곳에서 SQL Injection 구문을 넣어도 참인 결과 값을 주는지를 확인해본다. ex) select ~~~ from ~~~ where id like '%__%' SQL 문이 예시와 같이작성되어 있다면 test' an.. 더보기
WebHacking - (4)로그인 유형별 SQL Injection을 이용한 로그인 우회 이번 내용은 로그인 유형별 SQL Injection을 이용한 로그인 우회 개념 설명이다. 로그인 유형별 종류는 따로 정의된 건 아니지만, 공부를 가르쳐 주시는 분이 분류하기 위해 쓴 표현인 듯 하다. 1. 식별 & 인증 동시 - SQL 문에서 ID와 PW를 동시에 처리하여 동작하는 방식이다. - 이용 구문 : SELECT id, pw, name from member where id='$id' and pw='$pw' - 공격 구문 : ' or '1'='1' # - 동작 구문 : SELECT id, pw, name from member where id='' or '1'='1' #' and pw='$pw' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Colored.. 더보기