SQ儿攻去与防御 ■什么,是SQL注入? 1.理解Web应用的工作原理? 2.理解SQL注入 3.理解SQL注入的产生过程 2022/11/8 Chen Kaiming Copyright 2007
2022/11/8 Chen Kaiming Copyright 2007 1 SQL攻击与防御 ■ 什么是SQL注入? 1. 理解Web应用的工作原理? 2. 理解SQL注入 3. 理解SQL 注入的产生过程
SQL攻去与防脚 SQL注入是影响企业运行且最具破坏性 的漏洞之一.它会泄漏保存在应用程序数据 库中的敏感信息,包会用户名,密码,姓名, 地址,电话号码以及信用卡明细等易被利用 的信息、· 2022/11/8 Chen Kaiming Copyright 2007
2022/11/8 Chen Kaiming Copyright 2007 2 SQL攻击与防御 SQL 注入 是影响企业运行且最具破坏性 的漏洞之一.它会泄漏保存在应用程序数据 库中的敏感信息, 包含用户名, 密码, 姓名, 地址,电话号码以及信用卡明细等易被利用 的信息
SQL攻去与防御 SQL注入定义: 应用程序在向后台数据库传递SQL查 询时,如果为改击者提供了影响该查询的能 力,则会引发SQL注入. Rain Forest Puppy1998年首次发现该 漏洞而倍受赞誉 2022/11/8 Chen Kaiming Copyright 2007
2022/11/8 Chen Kaiming Copyright 2007 3 SQL攻击与防御 SQL注入定义: 应用程序在向后台数据库传递SQL 查 询时, 如果为攻击者提供了影响该查询的能 力, 则会引发SQL 注入. Rain Forest Puppy 1998年首次发现该 漏洞而倍受赞誉
SQ儿攻击与防御 ■理解Web应用的工作原理 1.Web应用是交互性且多数是数据库驱动的. 2.互联网中,包含一个后台数据库和很多Wb页面. 3.电子商务是数据库驱动的Wb应用最常见形式之一. 4.数据库驱动的Wb应用通常包含3层:表示层,逻 辑层和存储层· Wb浏览层向中间层发送请求,中间层通过查 询,更新数据库(存储层)来响应该请求 chenkm@ustc.edu.cn 0551- 2022/11/8 3602824
■ 理解Web应用的工作原理 1. Web应用是交互性 且多数是数据库驱动的. 2. 互联网中, 包含一个后台数据库和很多Web页面. 3. 电子商务是数据库驱动的Web应用最常见形式之一. 4. 数据库驱动的Web应用通常包含 3层:表示层,逻 辑层 和 存储层. Web浏览层 向 中间层 发送请求,中间层通过查 询,更新数据库(存储层)来响应该请求. SQL攻击与防御 4 chenkm@ustc.edu.cn 0551- 2022/11/8 3602824
http://www.victim.com/products.php?val=100 下列PHP脚本说明了如何将用户输入(vl)传递给动态创建的SQL语句。当请求上述URL 时,将会执行下列PHP代码段: /connect to the database Sconn mysql_connect ("localhost","username","password"); /dynamically build the sql statement with the input Squery "SELECT FROM Products WHERE Price 'GET["val"]". "ORDER BY ProductDescription"; /execute the query against the database Sresult mysql_query(Squery); /iterate through the record set while(Srow mysql_fetch_array(Sresult,MYSQL_ASSOC)) /display the results to the browser echo "Description {Srow['ProductDescription']}<br>". "Product ID (Srow['ProductID']<br>". "Price {Ssow['Price']}<br><br>"; chenkm@ustc.edu.cn 0551- 2022/11/8 3602824
5 chenkm@ustc.edu.cn 0551 - 2022/11/8 3602824