zoukankan      html  css  js  c++  java
  • mysql注入学习总结

    学习sql注入已经有段时间了,大部分还是mysql的注入。今天做个总结,最近的学习中记录的一些知识也可以帮助一些和我一样的小白。

    首先针对各种注入方法和类型,理解起来很繁琐,容易混乱,下面是我的记忆框架,不是很全面,欢迎大佬指出。

    注入类型:

    (下方为举例,,实际上任何我们可控,过滤不严且带入数据库执行)

    ?id=1' 字符型 主要有单引号闭合,双引号闭合,取决与后台语句的书写方法

    ?id=1 数字型号 大部分不用加闭合,后台是修改语句,并且id在最后一位的个别时可能要闭合一下括号 

    注入位置:

    http头注入 在http头的的注入点,常出现在UA,referer,cookie

    二次注入 特殊字符被过滤后失去作用但保留下来存储到数据库里,再次被调用时未经过过滤使用

    post注入 表单提交后带入数据库时没有经过过滤

    注入方式:

    联合注入 联合查询注入

    报错注入 利用extractvalue,updatexml等语句

    布尔型盲注 利用length,substr,ascii进行注入

    时间注入 利用if,sleep搭配布尔注入执行,在页面无错误显示,但确实存在注入点时使用

    堆叠注入 限制比较多mysql支持,但是需要php函数支持

    基础绕过类型:

    二次编码注入 后台代码错误的对参数进行了二次url解码时,过滤在第一次时使用导致过滤不完全并在第二次解码时产生的漏洞

    base64编码 后台先过滤再解码产生漏洞

    宽字节注入 数据库为gbk编码,利用gbk汉字编码绕过转义符号

    相互组合使用,也可能单个出现,以上不是全部但大体的记忆方式是一样的。

    waf基础绕过:

    /*!*/ 内联注释

    /**/注释代替空格

    --+dddddd%0a 参数污染,注释后换行

    && 代替and

    || 代替or

    以上就是对mysql注入的学习总结,越学习越发觉得闭合才是最关键的地方,可能是因为我太菜了吧;

  • 相关阅读:
    Android Studio使用百度地图(二)
    Android Studio使用百度地图(一)
    寒假每日日报30(体温登记app——进度3)
    EF CodeFirst数据注解特性详解
    EF CodeFirst配置领域类
    EF CodeFirst简介、默认约定、数据库初始化策略
    EF CodeFirst关于Mysql如何自动生成数据库表
    EF的预先加载--Eager Loading
    EF的延迟加载LazyLoad
    ADO.NET中sqlserver和mysql的变量名
  • 原文地址:https://www.cnblogs.com/spend/p/13111451.html
Copyright © 2011-2022 走看看