首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >入侵mysql数据库_SQL注入漏洞

入侵mysql数据库_SQL注入漏洞

作者头像
全栈程序员站长
发布2022-10-02 13:51:08
发布2022-10-02 13:51:08
3.2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

系统症状:

某个功能报错:

但是数据库链接并没有用完。重启一下tomcat就好了,但是过十几分钟又报错,如此反复。

怀疑是数据库连接泄露。于是加入下面的配置进行调查:

……

查到报错信息:

[ERROR] com.alibaba.druid.pool.DruidDataSource.removeAbandoned(DruidDataSource.java:2664):Druid-ConnectionPool-Destroy-1730184957 – abandon connection, owner thread: http-apr-8181-exec-186, connected at : 1560136511767, open stackTrace

at java.lang.Thread.getStackTrace(Thread.java:1559)

at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1311)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1233)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1223)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:90)

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:246)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377)

at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:461)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:277)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)

atcom.xxxx.controller.FileController.getxxxxjrxx(FileController.java:382)

……

ownerThread current state is BLOCKED, current stackTrace

at java.lang.Throwable.printStackTrace(Throwable.java:655)

at java.lang.Throwable.printStackTrace(Throwable.java:643)

at java.lang.Throwable.printStackTrace(Throwable.java:634)

at com.xxx.service.xxxServiceImpl.getxxx(Btjc01ServiceImpl.java:544)

at com.xxx.service.xxxServiceImpl

FastClassBySpringCGLIB

5df1f982.invoke()

最后查到是线程被某个外部接口给 BLOCKED,导致其持有的数据库连接无法释放,从而导致数据库连接泄露,从而导致该问题。

其实就是 数据库连接 的 onwerThread 被 blocked了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191976.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月18日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档