본문 바로가기

전체 글

(3)
2주차 수업 (2) 로그인 로직 1. 식별 & 인증 동시 select * from member where id='' AND passwd=''; 쿼리의 실행 결과가 존재하면 로그인 성공, 실행 결과가 존재하지 않으면 로그인 실패 id와 passwd column을 동시에 만족하는 row를 가져온다. 로그인 로직별 인증우회 1. 식별 & 인증 동시 select * from member where id='' AND passwd=''; 해당 SQL문은 id컬럼과 passwd 컬럼이 동시에 만족하는 row를 가져온다. 따라서 ' or '1'='1'# 을 입력해보자. select * from member where id=''or'1'='1'#' AND passwd=''; 그러면 위와 같이 # 뒤로는 주석처리가 되어 아래와 같은 SQL문..
2주차 수업 (1) SQL Injection -웹 해킹 기법에서 SQL문을 주입하는 것. - select * from member where id='$_GET['id']' ← 해당 정상문을 해커의 임의대로 바꿀 수 있다. 로그인이 개발된 배경 login은 웹서버가 client측에서 받은 데이터를 저장하고 있다. 하지만 http 프로토콜 안에는 client의 정보를 저장하는 것이 없다! → http는 비연결성 (Stateless) 한번 접속하면 끝! 웹서버가 기억하지 않는다. 웹서버가 client측의 정보를 증명하기 위해 만들어졌다. 로그인 이후에 client라는 것을 증명하는 것을 고민 클라이언트가 http 헤더 안에 cookie에 자신을 증명하는 정보를 첨부해서 서버로 보냄(post it) 하지만 http의 보안문제 발생..
1주차 1. 웹서버 구조(3 Tier Architecture) 1.WEB server 정적 페이지 제공 2. WAS(Web App Server) 동적 페이지 제공 3. DB(Data Base) 데이터의 관리 사용자가 php를 WAS에 요청 --> WAS에서 DB로 데이터를 요청 --> WAS에 Data 전달 --> WAS에서 페이지를 만들어서 WEB server에 전달 --> WEb server가 사용자에게 html을 보여줌 2. APM (Apache, Php, MySQL)셋팅 Virtual Box , Putty사용 Normaltic님께서 제공해주신 가상머신을 활용하여 진행하였다. WEB_DEV 디렉토리로 이동 sudo chown 으로 webApp디렉토리에 대한 권한을 변경 WEB_DEV 디렉토리에 있는 doc..