PreparedStatement
-
Secure Coding - SQL injectionJava/Spring 2018. 9. 7. 14:06
SQL injection SQLi 원인 -> 1. 입력과 검증을 하지 않아서 2. statement는 안전하지 않아서 perparestatement를 써야한다. admin으로 회원가입이 되는지 -> 로그인할 때도 비밀번호가 틀렸습니다 처럼 한방향이 아닌 아이디나 비밀번호가 틀렸습니다로 고치기 id에 admin' -- 를 주면 패스워드가 주석처리가 된다. 또는 id에 ' or 1 = 1 -- 를 하매도 인증이 성공된다. 1 = 1 이 참이니까 -- 뒤로는 무시하고 성공하게 된다. 테이블 컬럼 목록 출력 - id에 테이블쿼리를 입력한다. -> DB 테이블이 다 나온다. 테이블에 컬럼의 타입까지도 다 나온다. ADMIN' UNION ALL SELECT USER_ID USER_PASSWORD FROM USERS..