15. SQLインジェクション
ログインフォーム
SELECT * FROM USERS
WHERE ID=”___” and PASS = “___”
ID, PASS SQL文
ログイン可否 結果
server DB
すぐできるWeb制作時のセキュリティTips 2013/01/28 @ym405nm http://ym405nm.info
16. SQLインジェクション
ログインフォーム
改ざんPASS = “___”
SELECT * FROM USERS
WHERE ID=”___” and
ログインできる
攻撃コード SQL文
ログインOK 結果
server DB
すぐできるWeb制作時のセキュリティTips 2013/01/28 @ym405nm http://ym405nm.info
17. SQLインジェクション
• よくある事例
実装例
$query = "SELECT * FROM usr WHERE uid = '$uid' AND pass = '$passh';
$result = pg_query($conn, $query);
攻撃例 ID : taro'--
コメントアウト
SQL として扱われる
SELECT * FROM usr WHERE uid = 'taro'--' AND pass ='eefd5bc2...'
すぐできるWeb制作時のセキュリティTips 2013/01/28 @ym405nm http://ym405nm.info