• 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注入的学习总结,越学习越发觉得闭合才是最关键的地方,可能是因为我太菜了吧;

  • 相关阅读:
    日常工作不常用内容记录:
    python接口自动化(四)——试着实现以下主程序
    python接口自动化(三)——从excel中获取数据
    redis工具类
    Airtest新年“首更”,1.1.7版本抢先看!
    AirtestIDE有哪些好用但是非常隐蔽的小功能?
    年终力荐:网易一站式的自动化测试解决方案
    This和Prototype定义方法的区别
    新版 IDEA 发布,牛逼!网友:内存占用有所好转!
    where 1=1 是什么鬼?
  • 原文地址:https://www.cnblogs.com/spend/p/13111451.html
Copyright © 2020-2023  润新知