1

配置应用开启druid WAF

web.xml 配置servlet,以便于监控

DruidStatViewcom.alibaba.druid.support.http.StatViewServlet    loginUsername  druid        loginPassword  druid    DruidStatView/druid/*

spring配置开启Filter

//Filter别名配置在文件Druid-xxx.jar/META-INF/druid-filter.properties中          init-method="init" destroy-method="close">  //加上这一行配置,Filter才会生效

mybatis配置SQL注入语句

SELECT id, username, password
        FROM users where username = "${username}"

2

注入测试

当用户名存在时返回 true

当用户名不存在时返回 false

闭合SQL语句,被Filter拦截

druid后台查看拦截原因

使用current_user绕过

条件不成立返回false,成立返回异常

如上图所示,因为等式成立,所以返回多个结果 ,但因为mybatis当前语句只能返回一个结果集,所以抛出异常nested exception is org.apache.ibatis.exceptions.TooManyResultsException

substr()与ascii()盲注

最终发现,并不能在druid开启拦截的情况下通过注入获取任意数据。不过在登陆框存在注入时,仍然可以使用万能密码进行登陆。

万能密码

用户名任意填写
密码处:" or password like "%%

3

Druid连接WallFilter拦截

默认配置下,druid拦截的关键字与函数

function:
    version
    load_file
    database
    schema
    user
    system_user
    session_user
    benchmark
    current_user
    sleep
    xmltype
    receive_message
schema:
    information_schema
    mysql
    performance_schema    
variant:
    basedir
    version_compile_os
    version
    datadir

4

最后

该问题已经官方github项目提交issue

https://github.com/alibaba/druid/issues/3145

mysql5.7配置用户名密码_Druid拦截功能的配置与简单绕过相关推荐

  1. python 自动登录网站_python实现网站用户名密码自动登录功能

    一.概述 公司需要通过网页用户认证登录实现上网,网络设备判断当前帐号12小时没有没上网将会自动断开帐号上网,每天早上上班第一件事就是打开用户认证网页输入. 用户名与密码,有时候要家里通过teamvie ...

  2. git配置用户名密码,避免重复输入密码

    1.配置用户名密码.分为设置全局和局部,我们直接设置全局的. #设置局部的话,直接去掉 --global 选项即可 git config --global user.name "你的user ...

  3. 华为s5720默认用户名和密码_华为te50默认用户名密码和基础功能讲解

    原标题:华为te50默认用户名密码和基础功能讲解 华为te50默认密码:Change_Me 华为te50默认用户名:admin 如果用户名或密码不对,可能是后面更改过,这个时候只需要长按华为TE50后 ...

  4. mysql5.7配置用户名密码_TP-Link路由器默认管理员密码是什么 路由器默认管理员密码介绍【详解】...

    "TP-Link路由器默认管理员密码是多少?"最近有网友咨询了小编这样的问题.其实关于TP-Link路由器的默认管理员密码是要根据路由器的型号而介绍的,因为有些型号的TP-Link ...

  5. Ubuntu-安装MySQL5.7并配置用户名密码

    1.安装mysql sudo apt-get install mysql-server 2.2018年9月14日我安装的MySQL为5.7.21,查看方法为 mysql -V 3.5.7之后的mysq ...

  6. 搭建docker私有仓库 配置用户名密码

    文章目录 1.系统配置 2.搭建服务端 3.配置Windows客户端 4.配置centos客户端 5.查看效果 6.注意点 1.系统配置 服务端:centos 7 客户端:Windows 10 2.搭 ...

  7. Git用户名/密码/邮箱,及设置git配置

    一.查看信息: 查看用户名:git config user.name 查看邮箱:git config user.email 查看密码:git config user.password 二.设置信息 ( ...

  8. Kafka配置用户名密码访问

    1 软件版本 kafka_2.12-2.4.0.tgz(带zookeeper) 2 kafka服务端部署 2.1 将安装包上传到服务器,并解压 tar zxvf kafka_2.12-2.4.0.tg ...

  9. 为华为路由器创建用户名密码及接口登录详细配置

    没有使用用户名和密码登录前,他们都是使用console口或Telnet连接输入密码去操作的,下面我们可以设置使用用户名和密码登录,这样不同的人登录不同的账号时有不同的权限去操作,这种登录方式就是三A认 ...

最新文章

  1. 中国挪动批改KPI查核制度将器重客户满意度
  2. 他们创造了编程语言,他们是这个时代伟大的父亲
  3. VC嵌入断点中断INT3
  4. python继承 子类init_Python类继承:使用自己的和父的默认值和init方法进行动态子类初始化...
  5. Leetcode236 最近公共祖先-二叉树两次遍历
  6. C# webrequest 抓取数据时,多个域Cookie的问题
  7. NHibernate学习(转)
  8. 最短路常用的四种模板(poj1847)
  9. multiselect多选下拉框
  10. 程序员过关斩将--Http请求中如何保持状态?
  11. Unity WebGL 窗口自适应
  12. 立刻、马上对你的电脑做这三件事!
  13. DataNucleus之JDO操作演示样例
  14. Atitit 二进制数据字节转字符串 base64 base16 Quoted-printable BINHEX
  15. java私塾(java私塾初级模拟银源代码)
  16. 在Mac电脑中配置ios模拟器
  17. pyhotn的p2p-sip网络电话小试牛刀
  18. Markdown Viewer 插件安装(使用谷歌浏览器查看md文件格式
  19. 推荐几部和「隐秘的角落」同样好看的电视剧
  20. 埃拉托色尼筛选法巧解质数问题(埃氏筛法求解素数问题)

热门文章

  1. wxWidgets:显示如何从 DLL 使用 wx 的示例
  2. wxWidgets:wxPaintEvent类用法
  3. wxWidgets:wxImage类用法
  4. wxWidgets:wxCommandEvent类用法
  5. boost::log模块实现logging旋转文本文件的示例
  6. boost::hof::always用法的测试程序
  7. boost::hana::reverse用法的测试程序
  8. boost::describe模块实现打印功能的测试程序
  9. boost::gregorian模块实现测试当天的程序
  10. Boost:返回报告错误report errors