SQL Injection 은 쌍팔년도부터 사용된 굉장히 오래된 해킹 기법입니다.
굉장히 원리는 간단합니다.
유저는 로그인을 할 때 ID와 Password를 사용하여, 로그인을 진행합니다.
그렇다면 로그인 할 때 사용한 ID와 Password가 당연히 DB에 저장이 되겠죠?
DB로 데이터를 던질 때, 정상적인 user id 와 password를 던지는 것이 아니라
SELECT user FROM user_table WHERE id='admin' AND password=' ' OR '1' = '1';
와 같은 쿼리문을 던져서, 이 아이디와 패스워드가 맞다고 db에서 인식하게 하여
해킹을 시도하는 방법입니다.
방어하는 방법은 처음에 로그인을 할 때, 이게 진짜 로그인 아이디와 비밀번호 form이 맞는지 검증해주는 방법입니다.
서버측에서도 한번 더 검증해주면 더욱 더 좋습니다.
여기까지 :)
'개발 > 잡다개발' 카테고리의 다른 글
List 와 Array (0) | 2019.09.10 |
---|---|
XSS 란 (0) | 2019.09.03 |
hadoop 하둡이란 (0) | 2019.08.19 |
비밀번호 암호화 (0) | 2019.08.19 |
RESTful API란 (0) | 2019.08.18 |