sql injection 포인트 찾기.
입력이 가능한 곳
로그인
sql 구문에 연결된 파라미터, 데이터,
db에게 sql 질의문을 사용하는 곳
회원가입이라면
INSERT INTO users (username, email, password) VALUES ('newuser', 'newuser@example.com', 'password123');
여기에 user’and ‘1’=’1 여기에 이구문을 넣으면 방향을 잘못잡고있는것임
쿠키데이터를 보면사용자정보가 있을수있는데 쿠키를 이용해서도 sql 인젝션이 가능하다
user
user' and '1'='1
이두개가 같고
user’ and ‘1’=’2
이결과가 다르다면 sql 인젝션이 가능할수있다.
user
user%' and '1%'='1
결과가 같으면 like절 아니면 like절 아니다.
이런 경우도 있다.
select * from 테이블 where 조건;
select * from 테이블 where title like '%test%'; 게시판 제목일 경우
select * from 테이블 where username like '%user%'; 유저네임일 경우
이렇게 like 절이 들어갈 수도 있다.
중간에 like 절 앞에 뭐가 껴있을 경우 sql 쿼리 예시
select * from 테이블 where ('1'='1' and title) like '%test%';