APM 1) 문서 요청 Client (Browser) 6) 결과 전송 Web Server (Apache) 5) 실행결과 2) 스크립트 실행요청 3) Query PHP Parser 4) Data DBMS (My. SQL) 33
SQL Statements members 테이블에서 id가 ‘멍멍’이고 pw가 ‘ 12345’인 데이터 추출해줘 – SELECT * FROM members WHERE id=‘멍멍’ AND pw=‘ 12345’
SQL Statements members 테이블에서 id가 ‘sehkmg’이고 pw가 ‘ 54321’인 데이터 삭제해줘 – DELETE FROM members WHERE id=‘sehkmg’ AND pw=‘ 54321’
나쁜놈 mysql
SQL Injection 공격 id=admin, pw=1’ 또는 id=‘admin id=admin, pw=1’ OR id=‘admin members 테이블에서 id가 ‘admin’이고 pw가 ‘ 1’ 또는 id=‘admin’인 데이터 추출해줘 (SELECT * FROM members WHERE id=‘admin’ AND pw=‘ 1’ OR id=‘admin’)
SQL Injection에 대한 보안 • 첫번째 방법: 추가적 보안 프로그래밍 id=admin, pw=1’ OR id=‘admin addslashes(1’ OR id=‘admin); id=admin, pw=1’ OR id=‘admin
SQL Injection에 대한 보안 • 두번째 방법: SQL Statement 수정 SELECT * FROM members WHERE id=‘admin’ AND pw=‘ 1’ OR id=‘admin’ ‘SELECT * FROM members WHERE id=%s AND pw=%s’, admin, 1’ OR id=‘admin