20169212 2016-2017-2 《网络攻防实践》第十二周实验 SQL注入

SQL注入实验

实践要求

参考资源中的“SQL注入攻击实验.pdf ”, 提交SQL注入成功截图,并加上自己的学号水印。
在本次实验中,我们修改了phpBB的web应用程序,并且关闭了phpBB实现的一些对抗SQL注入的功能。因而我们创建了一个可以被SQL注入的phpBB版本。尽管我们的修改是人工的,但是它们代表着web开发人员的一些共同错误。学生的任务是发现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
    1028919-20170522103716117-1644408049.png

4.重启Apache:

sudo service apache2 restart

1028919-20170522103604492-1860483492.png

  • Note for Instructors最好拥有一些背景知识
    1.使用虚拟机,Firefox的插件LiveHttpHeaders和Tamper Data
    2.对SQL语句的一些了解
    3.如何操作MySQL数据库
    4.对PHP一些了解

    实验过程及结果

    对SELECT语句的攻击

    此次任务,你需要通过访问虚拟机内的
    URL:www.sqllabmysqlphpbb.com
    。在进入
    phpBB
    之前系统会要求你登陆。这个登陆认证由服务器上的
    login.php
    实现,需要用户输入用户名
    和密码来通过认证。
    去网上寻找了答案,答案的是在用户名输入ted'#,密码空着就行,ted是一个已经存在的用户名,用单引号结束这个字符串,用#转义掉后面的语句。
    1028919-20170522103613226-1717833607.png
    1028919-20170522103624367-1367484837.png

对UPDATE语句的攻击

当用户想要在phpBB2中修改他们的资料时,可以点击Profile,然后填写表单修改。
1028919-20170522111536226-807192251.png

用户发送修改请求后,会执行include/usercp_register.php中的一条UPDATE SQL语句。在这条语句中同样有一个SQL注入漏洞,请用它来达到以下目标:在不知道其他人密码的情况下修改其资料。
提交后发现SQL语句的结构,根据分析语句结构,分析出注入漏洞在
1028919-20170522111543429-1950774267.png

查看Memberlist表单,发现id号
1028919-20170522111551101-2097763196.png

通过此漏洞即可通过更改id号更改信息,此处我们修改admin的信息
1028919-20170522111609742-1012515824.png
1028919-20170522111638117-271606918.png

修改成功。

转载于:https://www.cnblogs.com/Jarvan210/p/6888095.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值