控制与数据
程序员希望⽤户输⼊的⼀定是数据流,⽽不是控制流
漏洞产生原因:用户能够通过数据流影响控制流
SQL注入
<?php
$db = init_db();//初始化数据库连接
$username = $_GET['username']; //input: fuckdada' and 1=1#
$db->query("select * from table where username = '$username'");//执行SQL查询
?>
代码执行流程:输⼊-->php字符串变量-->sql语句-->数据库
控制
action(动作): select
object(对象): table
subject(⽬标客体): *
condition(条件):
key: username
value: $username // ⽤户输⼊

Comments NOTHING