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

    union注入

    boolean注入

    报错注入

    时间注入语句:

    if(expr1,expr2,expr3)  :若expr1为true,则执行expr2,否则执行expr3.

    判断数据库库名长度: and if(length(databse())>1,sleep(5),1)

    判断数据库库名:and if(substr(databse(),1,1)='t',sleep(5),1)

    判断表名:and if(substr((select column_name from information_schema.columns where table_schema='database()' and table_name='users' limit 0,1),1,1)='t',sleep(5),1)

    判断内容:and if(substr((select username from test.users limit 0,1),1,1)='z',sleep(5),1)

    base64注入

    源码对参数通过base64_encode()加密了

    xff

    在X_FORWORD_FOR参数处注入

    堆叠注入

    利用mysql能同时执行两个命令的特性。第二个命令不回显的情况下,可以与时间注入结合使用。

    二次注入

    第一次没有注入点

    存在注入点的位置为第二次内部查询的时候

    宽字符注入

    addslashes()这个函数会将'转译成

    gbk编码%df和的编码%5c合并为一个字符

    从而'可以逃逸

    cookie注入

    从cookie头部传入id参数

    分类:

    根据注入点位置:POST、GET、cookie、xff等

    根据注入点类型:字符型、数字型、搜索型

    根据执行效果:报错注入、布尔盲注、时间延时

    问:在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
    答:在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名;5.0 以下是多用户单操作,5.0 以上是多用户多操作。

    苟利国家生死以,岂因福祸避趋之
  • 相关阅读:
    docker log
    byte转String防止乱码
    SQL索引
    Redis 总结精讲
    如何保证消息队列是高可用的
    消息中间件(一)MQ详解及四大MQ比较
    @Bean和@Componet区别
    理解Spring的AOP和Ioc/DI就这么简单
    SpringBoot 基础
    《Linux 鸟哥私房菜》 第6章 Linux的文件权限与目录配置
  • 原文地址:https://www.cnblogs.com/lyh1/p/14338951.html
Copyright © 2011-2022 走看看