Java代审——某租车系统

之间一直都有去作为一个新手去认识java去收集java代审的学习资料,看得多不如实操一把,所以拥有了这一次的java代审。这里通过freebuf的文章找到一个没有用struct2或是spring框架的cms,相对来说部署较为简单,希望借此cms来帮助自己敲开JAVA代码审计的大门

环境搭建

cms的下载地址:http://down.admin5.com/jsp/135501.html
在这里插入图片描述
这里我用的环境是JDK1.8 + Tomcat8.0.x + Jspstudy
安装运行程序
(1)将解压文件夹中的opencarrun安装包复制到tomcat–>webapps–> 下;
(2)将sql导入mysql;
在这里插入图片描述
(3)启动tomcat;
(注意要把tomcat的server.xml中的这一行注释掉)
在这里插入图片描述
接着重启jspstudy即可。
访问url:http://localhost:8080/opencarrun/,无报错则表示成功安装
在这里插入图片描述

查看源代码目录

在这里插入图片描述
后台有一个fckeditor的编辑器,但是发现其漏洞均利用不了;xss漏洞仅通过黑盒测试并没有通过代码去审计;所以关键就找找sql注入的漏洞吧

前台Sql注入

首先映入眼帘的则是搜索这一项功能
在这里插入图片描述
查看对应的源代码文件./GoodsList.java
在这里插入图片描述
看看文件中都有哪些可控的传参
在这里插入图片描述
代码一些方法的姨妈红主要是IDEA找不到类的位置,源代码中没有加载到该类。
opencarrun\WEB-INF\lib\中存放了相关的依赖jar包,其中有一个名为car-weishang-1.0.jar的jar包,因为是jar包,我们需要反编译回java文件。

(因为之前做过安卓app的安全测试,用到过jd-gui)所以这里通过jd-gui软件对jar拖进去进行反编译
在这里插入图片描述
重点关注ShopService类,ctrl+f搜索刚刚的getGoodsPojoListByTypeAndcatAndBranAndPrice方法
在这里插入图片描述
(当然还有其他的,不一一举例,不过基本都是预编译,这个传参则是漏网之鱼,用了预编译的,那么我们要考虑的就是预编译防御不了的地方,比如like,in,order by这三个位置的)举例:
在这里插入图片描述
其中的cat_id就是我们要找的注入参数,因为系统是对异常进行了捕获的,所以不能直接进行报错注入
在这里插入图片描述
利用盲注了,用union回显也是不行的,因为这里的三条语句都是受影响。但因为受影响的字段较多,且会执行三遍,并且这里用不了and,只能用or,那么用or 1=1 和 or 1=2查询的时间就已经足够了。
首先注意闭合,)+or+1=1#的时候大约执行20秒左右
在这里插入图片描述
)+or+1=2#的时候大约执行6秒
在这里插入图片描述
那么我们可以使false的时候为or 1=2,true为or 1=1 ,payload如下:
/opencarrun/goods?cat_id=1)+or+1=if(ascii(substr(database(),1))=111,1,2)#&menuId=7
在这里插入图片描述
确认数据库名第一位o的ascii为111无误
在这里插入图片描述
边学习边记录哈~
参考文章:https://www.freebuf.com/articles/web/162910.html
 
GOT IT!

 
******************************************************
具体利用方式需根据具体实践场景~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值