Java代码审计之jspxcms审计(一)

简介: Java代码审计之jspxcms审计

环境搭建

源码:https://www.ujcms.com/uploads/jspxcms-9.0.0-release-src.zip

下载之后解压

13d0d2f40cd9e8105a863ff70a69a88f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后用idea导入

先创建数据库导入数据库文件

d63cb69e17949718b76bbf30352934a9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后导入源码

a5d27da793c4ee8821138d102afe0839_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后配置好数据库连接

b993f4dc1e3fdcece46305d829ab1b6f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

加载maven依赖

根据本地数据库版本情况 记得调整数据库依赖版本

3c390d1e7fff70475536eaee80e8bd24_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后启动

b34c10a0444fe52697efe864a755e99d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

后台地址:http://127.0.0.1:8080/cmscp/index.do

因为刚开始代码也那么多就没有直接看代码  先熟悉熟悉有什么功能点

XSS

随便进入了一篇文章 然后评论

ce92f31d71a95941a5a6f9689c4a64af_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里发现是没有xss的

但是后面来到“我的空间”

959c18ae58bf3e2b1726c3c0c8db8dff_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

点击评论的时候

81d6f9ca555df813735c100a8301c5f0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


这里触发了xss

这里相当于是黑盒摸到的 单既然是审计  就要从代码来看   重新回到评论的地方  评论进行抓包 看看请求的路径是什么 先找到入口

3d06e52c78eae1cf925d46f6c066986f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后回到idea搜索comment_submit

cc40eefc98999ce5bfd9b2098ed0b78d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后在这里打上断点

9656951b77ed7ff67abc04b3fab38641_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6a95e1e7e1232ab6823cd96a4cb7b258_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后一步一步放

跟进submit

be3eda582f877c1746edfc7a537fb372_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

主要是看传进来的text的走向

到这里text的值都没有变化

b0e07c242e88633665648186a983e56a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后来到最下面这里是save操作

527feeb07a912913a6d133f70b7b5d49_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

dd4b640eca1a7f9d971424c9b3fbc7fa_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里也是直接进行存储 说明存入的时候是没有进行过滤的 那最开始没弹 肯定就是输入的问题了  因为摸到弹的情况

直接根据弹的情况来分析为什么回弹  先找到弹的页面的代码  因为路径有一个space 所以搜索space

a7c182d3f74d329de5448789b5400836_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

打上断点 进行调试

616f869d05c1bb7846a0c04b9d0857bb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5b6b46f4fc536d4d43ef04af38eb1e0f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

a8b0339b84b8c573ef2a76e0d60107cc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

ef49eedbf682b8fa88eba5ef7551791b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里最后返回了一个模板

发现这个是一个html 搜索这个html

72e9fa8237f19a9efe57e94ba0e4f4a3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

通过pom.xml

0bffb1cfc82d2577a90b79b4a439f794_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

是freemarker模板

先搜搜这玩意是咋转义的

a1b253254ab86b2f364d0184a2db2994_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

看到一个熟悉的

d8a6f6d9c325fae2ebadbbac2a975025_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这个页面这里有填写这个 但是最终还是弹了  说明有漏网之鱼的页面

通过查找 发现一个没有写这个的页面

f8e27acd1406d552520ea7e77918428e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

搜索 看看哪里用到了这俩

663eca29d6f3e209857abb6d2782e309_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

刚还这里的type=comment对应上之前访问时候的type

3da3294e267448c225029662f294f68f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

所以访问这个页面的时候能触发xss  payload没有进行任何过滤 这个页面也没有进行转义


相关文章
|
5月前
|
安全 小程序 PHP
PHP代码审计(七)Rips源代码审计系统使用教程
上一篇中提到的Seay源代码审计系统是由C#编写的winform程序,现在已经停止更新了,但是,还是比较好用的。 PHP代码审计还有另一个工具,也是一个神器Rips
179 0
|
5月前
|
安全 小程序 PHP
PHP代码审计(六)Seay源代码审计系统使用教程
www.cnseay.com/ 当然,这个已经不能访问了。 软件的版本比较早,需要.NET framework3.5框架,我这里是软件启动的时候自动提醒安装,如果没有自动提醒,那么你需要手动安装.NET frameWork3.5框架,否则,程序应该是没有办法运行。
411 0
|
12月前
|
安全 Java API
Java审计之Freemarker模板注入漏洞
Java审计之Freemarker模板注入漏洞
10319 1
|
12月前
|
存储 XML SQL
Java审计之XSS篇
继续 学习一波Java审计的XSS漏洞的产生过程和代码。
125 0
Java审计之XSS篇
|
12月前
|
SQL 安全 前端开发
Java审计之SQL注入篇
本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长。
278 0
|
12月前
|
XML 存储 SQL
通过webgoat-xxe、jwt学习Java代码审计
通过webgoat-xxe、jwt学习Java代码审计
294 0
|
12月前
|
安全 Java 中间件
java代码审计之CC1链(一)
前言 Apache Commons Collections是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强大的数据结构类型和实现了各种集合工具类。作为Apache开放项目的重要组件,Commons Collections被广泛的各种Java应用的开发。 commons-collections组件反序列化漏洞的反射链也称为CC链,自从apache commons-collections组件爆出第一个java反序列化漏洞后,就像打开了java安全的新世界大门一样,之后很多java中间件相继都爆出反序列化漏洞。本文分析java反序列化CC1链。
131 0
|
存储 Java 应用服务中间件
Java代码审计之jspxcms审计(三)
Java代码审计之jspxcms审计
389 0
Java代码审计之jspxcms审计(三)
|
Java
Java代码审计之jspxcms审计(二)
Java代码审计之jspxcms审计
217 0
Java代码审计之jspxcms审计(二)
|
2天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。