본문 바로가기

분류 전체보기

(119)
[노말틱 모의 해킹 취업반 4주차 개발과제 (2/2)] 회원가입 만들기-2 보안 강화를 하겠습니다! process_join.php 파일 열기 전에 LOGIN_INFO 데이터베이스에 주소까지 넣을 수 있는 칸을 만들겠습니다. phpmyadmin 통해 접속하겠습니다 그리고 테이블에 새로운 칼럼 추가 하겠습니다! phpmyadmin 위에 '구조'이라고 있습니다 거기서 작업하겠습니다 그리고 중간에 보시면 칼럼 추가 하겠습니다 이름은 adr text 하겠습니다. 굳이 주소 입력 안 해도 되게 NULL에 체크했습니다! 저장하고 나면 테이블에 추가된 게 보이실 겁니다. 좋습니다 이제 process join.php 로 가겠습니다. 그리고 추가 $adr = mysqli_real_escape_string($conn,$_POST['address']); mysqli_real_escaspe_strin..
[노말틱 모의 해킹 취업반 4주차 개발과제 (2/2)] 회원가입 만들기 이번에는 주소 검색 기능까지 넣겠습니다! 꽤나 어려울 거 같네요. 그래도 해봅시다. 우선 간단하게 정리를 하고 시작을 하겠습니다. 저희가 주소 관련 데이터가 아무것도 없잖아요? 그러니 저희는 API를 이용을 할 겁니다! 다른 데이터베이스에 정보를 찾을 때 중간에서 도와주는 것이 API입니다. 참고로 줄임말로 API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)입니다 그리고 이번에는 자바스크립트도 활용할 계획입니다! 왜냐하면 저희가 주소를 검색하고 그 목록을 누르면 자동으로 입력해 주는 그런 기능이 자바스크립트 언어에 있습니다! php언어로도 가능은 하지만 훨씬 복잡하다고 하네요.. 말이 길어졌습니다. . . . . 먼저 join.php 에 주소 검색을 하..
[노말틱 모의 해킹 취업반 4주차 개발과제 (1.5/2)] 회원가입 만들기, env파일 먼저 간단하게 보안 코딩을 하겠습니다 비밀번호 저장할 때 해시함수를 이용해서 암호화해서 저장하게 하겠습니다 그리고 회원가입할 때 주소 검색까지 추가하겠습니다. 여기서 주소는 집 위치를 뜻합니다! 이 코딩은 다음 포스팅에 다루겠습니다. . . . . 일단 비밀번호를 암호화해서 저장하게 코딩을 하겠습니다. 이때 사용되는 함수는 password_hash 입니다! 그리고 password_verify 함수 이용해 비밀번호를 비교할 수 있게 하겠습니다. 문법은 password_hash($password, PASSWORD_DEFAULT) 입니다. PASSWORD_DEFAULT는 암호화 알고리즘을 나타내는 상수입니다. 이 값은 현재 시스템에서 가장 안전한 알고리즘을 자동으로 선택하게 합니다! 한 번 해봅시다 우선 회원..
[노말틱 모의 해킹 취업반 3주차 개발과제 (1/2)] 회원가입 만들기 회원가입을 할 때 ID 중복 검사 기능까지 넣겠습니다! 즉 ID, PW를 만들면 lOGIN_INFO 데이터베이스에 들어가지고 만들 때 ID 중복 검사까지 해주는 것까지 하겠습니다! 최종 코드는 아래에다가 적겠습니다. . . . . 우선 저는 join.php 회원가입하는 페이지를 만들겠습니다. #sudo touch join.php 그리고 저는 로그인창에 회원가입 하는 버튼 새로 만들겠습니다. 이제 join.php 코드를 짜는데 label 함수 이용해서 input 앞에 뭘 적어야 되는지 적겠습니다! 그리고 id, pw 칸 따로 만들고 로그인화면으로 돌아가는 코드까지 짜겠습니다. 누르면 process_join.php(회원가입 해주는 용)로 적은 id와 pw를 POST방식으로 보내겠습니다. 로그인 창에서 거의 ..
[노말틱 모의 해킹 취업반 2주차 해킹과제 (1)] 인증 우회 가능 공격 방법 정리 인증 우회 가능 공격 방법 정리를 해보겠습니다! 일단 제가 배운 것은 총 3가지입니다. 1. Cookie 변조 2. Process Jump 3. Response 변조 한번 실습으로 해보겠습니다. ****행여나 말씀드리지만 제가 따로 공부하고 있는 사이트는 따로 말씀을 못 드립니다! 그러니 만약 이러한 공격을 하는 방법이 이런 거다라고 눈으로만 보시면 됩니다! 1) Cookie 변조 옛날에서만 먹히던 방법입니다. 서버가 따로 세션을 저장안하고 쿠키만 받는 다면 이 공격이 가능합니다! 말 그대로 저희가 보내는 Cookie 값을 바꾸어서 원하는 계정으로 로그인을 하는 것입니다! 우선 버프 스위트를 킵니다. 그리고 openbrowser을 엽니다. 그리고 따로 해킹할 사이트를 찾습니다. 한 번 더 말씀드리지만 눈..
[노말틱 취업반 2주차 정리] 로그인 인증 한 번 로그인 인증 과정을 자세하게 뜯어보겠습니다. . . 우선 옛날에 어떡해 통신 했는지 간단하게 봐봅시다. 완전 간단했다고 합니다! 그저 클라이언트가 서버에게 나 user이야! 보내면 끝입니다. 그런데 이러다가 문제점이 발견됩니다. 다른 클라이언트가 거짓말을 해서 데이터를 보냈더니 그 거짓말을 믿고 서버는 곧이 곧대로 그 데이터를 줬습니다! 이러면 B클라이언트는 손 쉽게 A의 정보를 가져올 수 있었습니다. 그래서 한가지 생각 해낸게 있습니다 바로 클라이언트가 보낸 정보를 서버가 이름 붙여서 저장하는 것입니다 예를 들어 서버에서는 클라이언트A의 식별자인 userID를 ClientA라고 합시다. 그럼 서버는 ClientA라는 정보 받고 바로 Client A 구나 라고 알게 됩니다 마치 포스트잇처럼 데이터..
[노말틱 모의 해킹 취업반 2주차 개발과제 (3)] 로그아웃 만들기 이제 로그인이 있으니 로그아웃이 있어야죠! 간단하게 저번에 만든 흐름도에 추가를 하겠습니다. 좋습니다 바로 코딩으로 넘어가죠! 솔직히 전 포스팅에 올린 session_unset과 session_destroy만 알면 됩니다! . . . 로그인만 한 유저만 들어올 수 있는 코딩 페이지로 갑시다. 그리고 로그아웃 버튼 먼저 만들겠습니다! 로그인 페이지랑 같이 form 형식에 버튼을 만들겠습니다. form 형식 만들려면 일단 html을 작성해야 됩니다. 일단 저는 login페이지에 코딩을 복붙하고 필요 없는 기능을 지웠습니다. 우선 form 먼저 수정하겠습니다. placeholder을 로그아웃으로 바꾸겠습니다 그리고 action 부분에 로그아웃 페이지로 가라고 process_logout.php라고 적었습니다! ..
[노말틱 모의 해킹 취업반 개발과제 (1)] 보안 관련해서 보완 하기 안녕하세요 제가 개발과제 2주 차 2번까지 즉 로그인 페이지까지 만들었습니다. 그런데 코딩 하면서 보안상 문제가 있더라고요! 그래서 그 보안을 지키기 위해 점차 고쳐 나가겠습니다. 아마 지금은 1이고 다음에 만들면서 보안 문제가 보일 때마다 추가하겠습니다 되도록이면 만들면서 보안 지키겠습니다! . . . 시작하죠 우선 sql injection의 공격을 피하기 위해 mysqli_real_escape_string() 적용시키겠습니다! sql injection은 간단히 말해 저희가 sql문을 작성해 보내는데 평범한 'rerange' 같은 문자가 아닌 DROP TABLE 이렇게 sql 문을 적어서 제 데이터베이스에 악영향을 끼치게 하는 공격입니다. https://www.youtube.com/watch?v=Xgb..