zoukankan      html  css  js  c++  java
  • sql注入

    主要:SQL注入的原理、SQL注入的危害、SQL注入攻击的手段、

      ASP+Access注入、ASPX+MsSQL注入、PHP+MySQL注入、JSP+Oracle注入;

    以及深入SQL注入攻击,如SQL盲注、利用操作系统、SQL注入的绕过、如何防御SQL注入。

    目录:

    什么是SQL注入

    SQL注入攻击

    脚本类型+数据库类型注入

    工具介绍

    SQL盲注

    利用操作系统

    SQL注入绕过

    防御SQL注

    SQL注入

    理解SQL注入 SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行。理解SQL注入产生过程 www.topsec.com.cn/home.php?uid=1 www.topsec.com.cn/home.php?uid=1 or 1=1

    理解SQL注入 OWASP

    SQL注入产生的过程

    SQL注入的危害 这些危害包括但不局限于: 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。 网页篡改:通过操作数据库对特定网页进行篡改。 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。 服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。 破坏硬盘数据,瘫痪全系统。 一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。

     SQL注入攻击////:

    取消友好HTTP错误消息

    寻找SQL注入:单引号法/and 1=1 和 and 1=2 法

    确认注入点

      区分数字和字符串:

          数字型: SELECT * FROM user WHERE id = 1 SELECT * FROM user WHERE id > 1

          带引号类型的: SELECT * FROM user WHERE name = ‘admin’ SELECT * FROM user WHERE date > ‘2014-2-24’

      内联SQL注入:内联注入是指插入查询注入SQL代码后,原来的查询仍然会全部执行。

        字符串内联注入

            

        数字值内联注入

              

      终止式SQL注入:终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句。

         数据库注释语法

            

         使用注释

       识别数据库

          

      

      数据库连接运算符

          

          

          www.topsec.com.cn/home.php?user=admin --原始语句

           www.topsec.com.cn/home.php?user=ad‘ + ’min --MsSQL

           www.topsec.com.cn/home.php?user=ad‘ ’min --MySQL

           www.topsec.com.cn/home.php?user=ad’ || ‘min --Oracle

    ASP+Access注入

      Access数据库注入攻击基本技术

         爆出数据库类型

           内置变量爆数据库类型

           内置数据表爆数据库类型

        猜表名:  and exists (select * from 表名) and (select count(*) from 表名)>=0

        猜字段名及字段长度:  and exists(select 字段名 from 表名) and (select count(字段名) from 表名)>=0

        猜字段长度: and (select top 1 len(字段名) from 表名)>1 and (select top 1 len(字段名) from 表名)>2 and (select top 1 len(字段名) from 表名)>n

        猜字段值:  

    and (select top 1 asc(mid (字段名,1,1)) from 表名)>0 and (select top 1 asc(mid (字段名,1,1)) from 表名)>1 and (select top 1 asc(mid (字段名,1,1)) from 表名)>n and (select top 1 asc(mid (字段名,2,1)) from 表名)>0 and (select top 1 asc(mid (字段名,2,1)) from 表名)>2 and (select top 1 asc(mid (字段名,2,1)) from 表名)>n

       SQL注入中的高效查询

         Order by 猜字段数目:  Order by 1 Order by 2 Order by n

         Union select 爆字段内容:  and 1=2 union select 1,字段名,字段2,...,n from 表名

      爆出数据库类型-内置变量爆数据库类型

         and user>0

       爆出数据库类型-内置数据表爆数据库类型

         and (select count(*) from sysobjects)>=0

         and (select count(*) from msysobjects)>=0

      

      手工注入猜解流程

          

  • 相关阅读:
    MySQL数据库可以用任意ip连接访问的方法
    Docker packaging guide for Python
    Alpine makes Python Docker builds 50× slower, and images 2× larger
    hasura graphql-engine v1.0 发布了
    edgedb 1.0 Alpha 2 了
    aceql-http docker 试用
    deno学习五 typescript + vscode 集成
    makeself 试用
    poolifier nodejs 线程池工具
    Java Command Line Parsers Comparison
  • 原文地址:https://www.cnblogs.com/klsfct/p/9185687.html
Copyright © 2011-2022 走看看