目录
预备知识
SQL语言
结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
常见的sql语句:http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html。
SQL注入
SQL注入:SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库。SQL是结构化查询语言的简称,它是访问数据库的事实标准。目前,大多数Web应用都使用SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令,这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。
SQL注入原理:http://blog.csdn.net/stilling2006/article/details/8526458。
SQL注入危害
1.非法读取、篡改、添加、删除数据库中的数据。
2.盗取用户的各类敏感信息,获取利益。
3.通过修改数据库来修改网页上的内容。
4.私自添加或删除账号。
5.注入木马等等。
实验目的
在这个实验中,我们利用的web应用程序称为Collabtive,本实验的目标是学会利用SQL注入漏洞以及学习抵御这类攻击的方法。
实验环境
实验环境拓扑
实验机:ubuntu12.04。
用户seed,密码dees。
数据库用户root,密码seedubuntu。
实验步骤一
环境配置(若实验中已配好则跳过)
1.启动apache服务:
$sudo service apache2 start
$sudo service mysql start
2.配置DNS:
修改hosts文件:
$sudo vim /etc/hosts
127.0.0.1 www.sqllabcollabtive.com
3.访问测试:
4.修改php的配置文件:
$ sudo vim /etc/php5/apache2/php.ini
把magic_quotes_gpc=On改为magic_quotes_gpc = Off。
<