zoukankan      html  css  js  c++  java
  • 20169219 SEED SQL注入实验

    实验环境SEED Ubuntu镜像

    环境配置
    实验需要三样东西,Firefox、apache、phpBB2(镜像中已有):
    1、运行Apache Server:只需运行命令sudo service apache2 start
    2、phpBB2 web应用:镜像已经安装,通过http://www.sqllabmysqlphpbb.com访问,应用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/
    3、配置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”

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

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

    修改后用sudo service apache2 restart重启Apache Server.不需要输入密码就可以登录相应账号

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

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

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

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

    ted资料修改成功

    对抗SQL注入

    1、使用magic_quotes_gpc避开特殊字符。
    修改/etc/php5/apache2/php.ini的magic_quotes_gpc = On,然后重启Apache。
    2、使用addslashes()来避开特殊字符
    3、使用mysql_real_escape_string避开特殊字符

  • 相关阅读:
    2.8日自学成果
    深入数据库同步技术(3)-da-syncer介绍
    敢啃“硬骨头”,开源分布式数据库TiDB如何炼成?
    使用Sqlserver事务发布实现数据同步
    数据一致性-分区可用性-性能—多副本强同步数据库系统实现之我见
    sqlserver2014两台不同服务器上数据库同步
    采用存储复制方式同步数据,实现数据库安全升级
    Linux系统MySQL数据库主从同步实战过程
    红帽携手SAP,推动下一代移动数据库开发与同步
    阿里数据库十年变迁,那些你不知道的二三事
  • 原文地址:https://www.cnblogs.com/weihua2616/p/6868456.html
Copyright © 2011-2022 走看看