SQL 注入实验
实验介绍
在本次实验中, 我们修改 phpBB 的 web 应用程序, 并且关闭了 phpBB 实现的一些对抗 SQL 注入的功能. 因而我们创建了一个可以被 SQL 注入的 phpBB 版本. 尽管我们的修改是人工的, 但是它们代表着 web 开发人员的一些共同错误. 学生的任务是发现 SQL 注入漏洞, 实现攻击者可以达到的破坏, 同时学习抵挡这样的攻击的技术.
预备知识
1, SQL 语言
结构化查询语言 (Structured Query Language) 简称 SQL: 是一种特殊目的的编程语言, 是一种数据库查询和程序设计语言, 用于存取数据以及查询, 更新和管理关系数据库系统; 同时也是数据库脚本文件的扩展名.
常见 SQL 语句 http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html
2,SQL 注入
SQL 注入: SQL 注入能使攻击者绕过认证机制, 完全控制远程服务器上的数据库. SQL 是结构化查询语言的简称, 它是访问数据库的事实标准. 目前, 大多数 Web 应用都使用 SQL 数据库来存放应用程序的数据. 几乎所有的 Web 应用在后台都使用某种 SQL 数据库. 跟大多数语言一样, SQL 语法允许数据库命令和用户数据混杂在一起的. 如果开发人员不细心的话, 用户数据就有可能被解释成命令, 这样的话, 远程用户就不仅能向 Web 应用输入数据, 而且还可以在数据库上执行任意命令了.
sql 注入原理讲解 http://blog.csdn.net/stilling2006/article/details/8526458
- SELECTuser_id,username,user_password,user_active,user_level,
- user_login_tries,user_last_login_try
- FROMUSERS_TABLE
- WHEREusername=?$username?ANDuser_password=?md5($password)?;
- if(foundonerecord)
- then{allowtheusertologin}
- select * from users where username=''or 1=1#' and password=md5('')
- .
来源: http://www.bubuko.com/infodetail-2610303.html