参考资源中的“SQL注入攻击实验.pdf ”, 提交SQL注入成功截图,并加上本身的学号水印。
在本次实验中,咱们修改了phpBB的web应用程序,而且关闭了phpBB实现的一些对抗SQL注入的功能。于是咱们建立了一个能够被SQL注入的phpBB版本。尽管咱们的修改是人工的,可是它们表明着web开发人员的一些共同错误。学生的任务是发现SQL注入漏洞,实现攻击者能够达到的破坏,同时学习抵挡这样的攻击的技术。php
SEED Ubuntu镜像mysql
环境配置
实验须要三样东西,
Firefox、apache、phpBB2(镜像中已有):
①运行Apache Server:镜像已经安装,只需运行命令%sudo service apache2 start
②phpBB2 web应用:镜像已经安装,经过http://www.sqllabmysqlphpbb.com访问,应用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/
③配置DNS:上述的URL仅仅在镜像内部能够访问,缘由是咱们修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本机IP 127.0.0.1。若是须要在其余机器访问,应该修改hosts文件,使URL映射到phpBB2所在机器的IP。web
关闭对抗措施PHP提供了自动对抗SQL注入的机制,被称为magic quote
,咱们须要关闭它。
1.找到/etc/php5/apache2/php.ini
2.找到magic_quotes_gpc = On这一行
3.改成
magic_quotes_gpc = Off
sql
4.重启Apache:数据库
sudo service apache2 restart
Note for Instructors最好拥有一些背景知识
1.使用虚拟机,Firefox的插件LiveHttpHeaders和Tamper Data
2.对SQL语句的一些了解
3.如何操做MySQL数据库
4.对PHP一些了解apache
这次任务,你须要经过访问虚拟机内的
URL:www.sqllabmysqlphpbb.com
。在进入
phpBB
以前系统会要求你登录。这个登录认证由服务器上的
login.php
实现,须要用户输入用户名
和密码来经过认证。
去网上寻找了答案,答案的是在用户名输入ted'#,密码空着就行,ted是一个已经存在的用户名,用单引号结束这个字符串,用#转义掉后面的语句。
服务器
当用户想要在phpBB2中修改他们的资料时,能够点击Profile,而后填写表单修改。
学习
用户发送修改请求后,会执行include/usercp_register.php中的一条UPDATE SQL语句。在这条语句中一样有一个SQL注入漏洞,请用它来达到如下目标:在不知道其余人密码的状况下修改其资料。
提交后发现SQL语句的结构,根据分析语句结构,分析出注入漏洞在
插件
查看Memberlist表单,发现id号
rest
经过此漏洞便可经过更改id号更改信息,此处咱们修改admin的信息
修改为功。