前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【公益分享】炼石计划企业级JavaWeb漏洞挖掘实战之第二期基于SpringBoot架构的办公OA系统漏洞挖掘

【公益分享】炼石计划企业级JavaWeb漏洞挖掘实战之第二期基于SpringBoot架构的办公OA系统漏洞挖掘

作者头像
用户1631416
发布2021-12-02 14:06:38
1K0
发布2021-12-02 14:06:38
举报
文章被收录于专栏:玄魂工作室玄魂工作室

欢迎来到炼石计划之企业级JavaWeb漏洞挖掘实战

简单来说就是带着大家一起针对企业级JavaWeb系统、网站进行黑盒测试和白盒测试,也就是渗透测试和代码审计的漏洞挖掘。

一共五十期,全部基于JAVA语言,不仅仅有WEB,还会有小程序,APP,接口等环境

每一期都会将练习环境以及部分内容,分享到本公众号,大家不要错过哟。

【进入正题】

第二期_办公OA系统

【环境搭建】

1、项目介绍

oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架,集成了jpa、mybatis等框架。作为初学springboot的同学是一个很不错的项目。

2、涉及技术

2.1、前端

技术

名称

版本

官网

freemarker

模板引擎

springboot1.5.6.RELEASE集成版本

https://freemarker.apache.org/

Bootstrap

前端UI框架

3.3.7

http://www.bootcss.com/

Jquery

快速的JavaScript框架

1.11.3

https://jquery.com/

kindeditor

HTML可视化编辑器

4.1.10

http://kindeditor.net

My97 DatePicker

时间选择器

4.8 Beta4

http://www.my97.net/

2.2、后端

技术

名称

版本

官网

SpringBoot

SpringBoot框架

1.5.6.RELEASE

https://spring.io/projects/spring-boot

JPA

spring-data-jpa

1.5.6.RELEASE

https://projects.spring.io/spring-data-jpa

Mybatis

Mybatis框架

1.3.0

http://www.mybatis.org/mybatis-3

fastjson

json解析包

1.2.36

https://github.com/alibaba/fastjson

pagehelper

Mybatis分页插件

1.0.0

https://pagehelper.github.io

3、部署流程

本项目基于Windows 10系统,Java版本为1.8.0_261,Mysql使用的为PHPstudy内置集成的。

①、打开mysql,创建数据库create database oasys,切换使用oasys数据库use oasys,如下图所示:

②、将oasys/oasys.sql文件导入到oasys数据库中,使用命令source 绝对路径/oasys.sql,注意路径要使用正斜杠/,如下图所示:

③、使用IDEA打开oasys项目,等待Maven自动加载依赖项,如果时间较长需要自行配置Maven加速源。几个现象表明项目部署成功。pom.xml文件无报错,项目代码已编译为classRun/Debug Configurations...处显示可以运行。如下图所示:

④、修改src/main/resouces/application.properties配置文件内容,具体如下图所示:

⑤、点击启动Run/Debug Configurations...本项目,启动成功如下图所示:

⑥、浏览器访问http://127.0.0.1:8088,进入登录页面,如下图所示:

下面是我们漏洞挖掘的主场秀

XSS和CSRF组合拳

经过多处XSS漏洞挖掘,发现基本都为POST型XSS,也就是参数是放在Body体中,通过POST方式发送到后端。现在全面HTTPS时代,对于POST请求中的参数我们没办法劫持,也就无法写入攻击语句。那么这也就导致除了第三个XSS漏洞,第一个和第二个漏洞都失去了攻击意义,只能自娱自乐。经管也是存储型XSS,但仅能自己XSS自己。

但是,经过我们深入挖掘还发现了CSRF漏洞。那么,XSS和CSRF能打出怎么样的配合呢?

思路很简单,在CSRF的POC中将XSS验证语句嵌入到表单中,诱导受害人点击,这样就完成了XSS和CSRF配合打出攻击的效果了。(比如获取Cookie/Session)

系统能存在XSS漏洞大多都能配合CSRF进行攻击,我们举例说明。

①、同样访问用户面板功能,点击写便签,输入任意内容,使用BurpSuite拦截数据包,发送到Repeater模块,如下图所示:

②、将titleconcent参数值改为XSS验证语句,如下图所示:

③、鼠标右键点击数据包,然后再点击Generate CSRF PoC,可以看到参数值改为了XSS攻击验证语句,如下图所示:

④、然后选择Test in browser,复制测试链接,粘贴到浏览器中,点击Submit request,发生了弹框行为,如下图所示:

至此,我们通过CSRF漏洞触发了XSS漏洞。那么POST型XSS漏洞也不在鸡肋,如何找到可以配的CSRF漏洞,也是可以打出大量伤害的

第一期_RBAC后台管理系统

实战挖掘JavaWeb之某权限管理系统漏洞

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【环境搭建】
    • 1、项目介绍
      • 2、涉及技术
        • 2.1、前端
        • 2.2、后端
      • 3、部署流程
        • XSS和CSRF组合拳
        相关产品与服务
        项目管理
        CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档