목록전체 글 (116)
Today I Learned …
* 개인적인 공부 내용을 기록한 글입니다. 해싱 (Hashing) 1. 해싱의 쓰임새 유저의 PW는 해싱하여 DB에 저장한다. [1] 암호화 하지 않으면 DB가 해킹 당했을 경우, 유저의 PW가 그대로 노출된다. [2] 외부 해킹이 아니더라도, 내부 개발자나 인력의 유저들의 PW를 볼 수 있게 된다. [3] PW 암호에는 일반적으로 단방향 해시 함수가 쓰인다. 2. 해싱 (Hashing) vs 암호화 (Encryption) 일상에서는 어느 정도 통용되지만, 암호학적으로는 차이가 있다. 가장 큰 차이는 '방향성' 이다. [1] 해싱 : 단방향. 복호화가 불가능하다. [2] 암호화 : 양방향. 역으로 복호화가 가능하다. 3. 단방향 해시 함수 (One-Way Hash Function) 어떤 수학적 연산 (또..
* 개인적인 공부 내용을 기록한 글입니다. SQL Injection : 개념 및 공격 기법 1. SQL Injection 개념 보안상의 취약점을 이용하여, 임의의 SQL문을 주입하고 실행되게 하여 DB가 비정상적인 동작을 하도록 조작하는 행위 [1] OWASP TOP 10 중 첫 번째에 속해 있으며, 공격이 비교적 쉬운 편이고 공격에 성공할 경우 큰 피해를 입힐 수 있음 [2] 인증 우회, 시스템 명령어 삽입, 웹쉘 생성 등 1-1. SQL Query란? 관계형 데이터베이스를 다루는 질의 언어 2. SQL Injection 공격 기법 [1] Error based SQL Injection [2] UNION based SQL Injection [3] Blind SQL Injection (1) [4] Blin..
* 다음 주차의 수업 내용을 예습합니다. 1. 로그인 인증/식별 [0] 접근 통제 절차 선택된 대상만 접근이 가능함 ① 식별 : 사용자가 본인의 신원정보를 밝히고 확인하는 행위 (ID) ② 인증 : 신원정보/신원확인의 유효성 확립 (토큰, PW, 서명 등) ③ 인가/권한부여 : 누가 무엇을 할 수 있는지 결정하는 규칙 [1] 식별 (Identification) 주체가 누구라고 스스로 밝히는 것 (사람→시스템) ① 책임추적성 분석에 중요한 자료가 됨 ② 반드시 유일한 것을 사용해야 함 (ID, Email Addr, MAC Addr, IP Addr, RFID) [2] 인증 (Authentication) 시스템이 사용자가 승인된 사용자라는 것을 인정해주는 것 (시스템→사람) ① 인증 방식에 따른 분류 - Ty..
* 해당 주차의 수업 내용을 정리합니다. 1. 클라이언트와 서버의 관계 [1] 클라이언트는 요청하고, 서버는 응답한다. 2. HTTP [1] HyperText Transfer Protocol [2] 클라이언트와 서버가 서로 정보를 주고받을 때 지켜야하는 일종의 규약이다. 3. 정적페이지 vs 동적페이지 [1] 정적페이지 : 변하지 않는다. ⇒ A, B, C의 성적표를 다 각각 만들어줘야 함. 사용자가 100명이면 맞춤화 페이지 100개.. [2] 동적페이지 : 변한다. ⇒ 페이지 한 장에 사용자의 이름만 다르게 박아서 보여줄 수 있다. 하나의 페이지로 수많은 사용자 맞춤화 가능. 4. 웹서버 3 Tier [1] 웹서버 : 정적페이지를 전달 (.html 보여줌) [2] WAS : 동적페이지 처리 (.php..
* 해당 주차의 수업 내용을 정리합니다. 모의해킹 프로젝트 유형 1. 웹 모의해킹 2. 모바일 앱 모의해킹 3. 침투 테스트 4. 기타 (AP, 복합기..) ⇒ 1번과 2번의 파이가 압도적으로 크다. (일의 97~100%) 모바일 앱 모의해킹 앱은 앱서버를 통해 서비스되는데 이 앱서버도 거의 기존 웹사이트의 웹서버를 끌어다쓰는 형식이라 앱 모의해킹도 웹 모의해킹과 크게 다르지 않다. ⇒ 우리는 웹 모의해킹을 주력으로 공부한다. 모의해킹 업무에 필요한 업무 능력 3가지 1. 웹해킹 기술 2. 보고서 작성 기술 3. 발표 (리뷰) : 고객사가 알아듣게 위험성을 설명, 설득하는 능력 매우 중요 ⇒ 바로 업무에 투입될 수 있음을 증명하는 것이 목표! 모의해킹 업무능력 POC (포트폴리오) 1. 웹해킹 공격 연구..
* 개인적인 공부 내용을 기록한 글입니다. 소감 이왕 만드는거 예쁘게 만들어보고 싶어서 시작한 작업이 생각보다 엄청 오래 걸렸다... 그래도 조금 뿌듯하기도 하고 그 과정에서 Html, Css, JavaScript에 대해 더 많이 이해할 수 있게 된 것 같다. 세가지에 대해서는 따로 포스팅으로 정리하려고 한다. 야매로 한땀한땀 찍느라 코드가 너무.. 중구난방이라서 코드블럭은 맨 뒤로 빼버렸다. CSS 적용 1. 메인 화면 2. 로그인 화면 3. 회원가입 화면 4. 로그아웃 Code 1. deco.css span { padding: 7px; border-radius: 8px; border-color: pink; border-style: solid; border-width:3px; } div { text-a..
* 개인적인 공부 내용을 기록한 글입니다. 1주차 개발 과제 1. 가상 환경에 Ubuntu 설치 2. APM 세팅 3. 로그인/로그아웃, 메인 페이지 개발 소감 PHP + Mysql 을 통해 로그인 기능을 구현했다. 로그인 시 DB에 저장된 ID/PW 와 일치 여부를 확인하고 성공하면 세션을 발급해서 다른 페이지로 넘어가도 로그인 상태를 유지할 수 있도록 했다. 로그아웃 시에는 발급해준 세션을 삭제한다. 내친 김에 회원가입 기능도 만들어봤는데 로그인 기능과 크게 다른 점은 없는 것 같다. 회원가입 시 폼에 기입한 정보를 쿼리문에 적어서 DB로 넘겨줬다. 지금 상태에서는 PW를 평문인 상태로 바로 저장하는데.. 곧 암호화 과정을 추가해줄 생각이다. 앗 그리고.. 새로운 회원 정보가 테이블에 들어가면서 Au..
* 초심자의 수난을 기록합니다. * 다음은 모의해킹 스터디 과제로 php 로그인을 구현한 웹페이지를 만들던 도중 맞닥뜨린 문제들의 해결 방안이다. 환경 VirtualBox Ubuntu에 APM 세팅. Localhost로 접속해서 내 웹페이지 보는 방법 localhost 경로를 찾아서 그 곳에 내 파일을 넣어주면 됨. 버추얼박스 우분투 기준 /var/www/html 이다. 처음엔 권한 문제 때문에 폴더나 파일 만지는게 번거로웠는데 그런 경우 아래 권한 변경 참조. 권한 변경 $ sudo chmod 777 ./디렉토리나파일명 모든 권한 다 줘버리기 (당연히 위험도는 높음..) 하위 디렉토리나 파일까지 전부 바꾸고 싶으면 chmod 앞에 -R 추가 그런데 여기서 저 777이란 숫자는 뭐냐.. 아무 디렉토리나 ..