20169219 SEED SQL注入实验

实验环境SEED Ubuntu镜像

环境配置
实验须要三样东西,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。
关闭对抗措施
PHP提供了自动对抗SQL注入的机制,被称为magic quote,咱们须要关闭它。
1.找到/etc/php5/apache2/php.ini
2.找到magic_quotes_gpc = On这一行
3.改成magic_quotes_gpc = Off
4.重启Apache:”sudo service apache2 restart”php

实验任务一:对SELECT语句的攻击

经过访问虚拟机内的URL:www.sqllabmysqlphpbb.com。在进入phpBB以前系统会要求你登录。这个登录认证由服务器上的login.php实现,须要用户输入用户名和密码来经过认证。
用户键入用户名和密码后,login.php会将它们与mysql数据库中的username和user_password字段进行比较,若是匹配就登录成功。和其余大多数web应用程序同样,PHP程序使用SQL语言与背后的数据库交互。
修改以下的语句
mysql

修改后用sudo service apache2 restart重启Apache Server.不须要输入密码就能够登陆相应帐号web

实验任务二:对UPDATE语句的攻击

当用户想要在phpBB2中修改他们的资料时,能够点击Profile,而后填写表单修改。用户发送修改请求后,会执行include/usercp_register.php中的一条UPDATE SQL语句。在这条语句中一样有一个SQL注入漏洞,
这些注入点对输入长度有限制,只能改短注入语句。注入语句以下,6为ted的编号,可经过memberlist查到sql

',user_sig = 'SELECT * FROM phpbb_users', user_sig_bbcode_uid = '7f489fe5f6' WHERE user_id = 6#

选取Interest输入框为注入点,这样就好改前面的语句,填写如图,数据库

ted资料修改为功
apache

对抗SQL注入

一、使用magic_quotes_gpc避开特殊字符。
修改/etc/php5/apache2/php.ini的magic_quotes_gpc = On,而后重启Apache。
二、使用addslashes()来避开特殊字符
三、使用mysql_real_escape_string避开特殊字符ubuntu

相关文章
相关标签/搜索