SQL Injection
-웹 해킹 기법에서 SQL문을 주입하는 것.
- select * from member where id='$_GET['id']' ← 해당 정상문을 해커의 임의대로 바꿀 수 있다.
로그인이 개발된 배경
login은 웹서버가 client측에서 받은 데이터를 저장하고 있다.
하지만 http 프로토콜 안에는 client의 정보를 저장하는 것이 없다!
→ http는 비연결성 (Stateless) 한번 접속하면 끝! 웹서버가 기억하지 않는다.
- 웹서버가 client측의 정보를 증명하기 위해 만들어졌다.
- 로그인 이후에 client라는 것을 증명하는 것을 고민
- 클라이언트가 http 헤더 안에 cookie에 자신을 증명하는 정보를 첨부해서 서버로 보냄(
post it) - 하지만 http의 보안문제 발생(Cookie를 변조하기 시작)
server안에 client측의 정보를 저장(Session)
ID | name | |
1 | A | normaltic |
2 | B | mario |
- 세션 ID를 순서대로 1부터 저장
- 클라이언트가 Cookie에 세션 ID를 첨부해서 server에게 보냄
- 보안문제 발생 → 공격자가 예측 간으한 숫자로 세션 ID를 획득할 수 있음
- 서버거 세션 ID를 예측할 수 없는 난수로 저장
- 로그인 할 때마다 세션id는 바뀌어야 함(기존 세션 ID는 파기)
로그인 과정
- 식별(identify), ID = 식별정보(=ip주소)
- 많은 데이터 중에서 특정 데이터를 구분하는 작업
- 인증, PW = 인증정보
- 그 ID가 맞는지 확인하는 작업
- 인증정보를 식별정보로 하면 안 됌
'Normaltic 웹해킹 취업반' 카테고리의 다른 글
2주차 수업 (2) (0) | 2022.10.23 |
---|---|
1주차 (0) | 2022.10.15 |