• 【合天网安实验室】SQL注入入门一


    作者:tianjianbo@126.com

    时间:2015年1月17日

    实验平台:合天网安实验室.Web应用安全.SQL注入实验一

    实验环境:Apache+PHP+Mysql

    实验原理:

    1. SQL注入是一种将SQL代码插入或添加到应用的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行。
    2. 传统的手工

    (1)     判断是否有注入点

    方法一:

    在url后面加’ 从而让SQL语句出错,那么页面就会提示出错信息。这时候就可以判断从这里存在注入。当然还有可能加了’,和没加是一样的,这也有可能是注入。因为当把错误提示关闭时,它是不会在页面显示的。

    方法二:

    构造 and 1 = 1 和 and 1 = 2

    如果两个页面显示不一样,那么就说明存在注入了。

    (2)     理解字段数目

    方法:

    order by 数字K   /**意思是根据第K个字段的大小来排序, 比如如果只有3个字段, K = 4, 那么就会报错。所以通过这个可以知道有多少字段*/

    (3)     使用联合查询获取信息

    方法:

          使用union语句

    实验步骤:

    1. 热身运动不设防:

    关键代码:

    目标:尝试进行sql注入,目标为得到数据库中的用户名与密码。

    判断是否存在注入:

    两次显示不一样,存在注入。

    猜测字段数目:

    其中,Mysql 的注释符有以下几种:

    目的是把后面的’ 注释掉

    所以可知有5个字段。

    猜字段内容:

    注意:

    (1)        union 两边的select 语句必须具有相同数量的列,列也必须拥有相似的数据类型,同时,每条select语句中列的顺序必须相同。

    (2)        %23 是 # 的16位url编码。

  • 相关阅读:
    MongoDB_聚合
    MongoDB_基本操作
    MongoDB_"Error parsing YAML config file: yaml-cpp: error at line 3, column 9: illegal map value"解决方法
    MongoDB_安装
    beautifulsoup模块
    python发送邮件
    selenium常用操作
    selenium元素定位
    requests模块的高级用法
    继承
  • 原文地址:https://www.cnblogs.com/anonymous-tian/p/4235156.html
Copyright © 2020-2023  润新知