tianticms代码审计——伊拉克版本

tianticms代码审计——伊拉克版本
正所谓伊拉克版本必有缺陷
缺陷

前台环境没有搭建好,但前台没啥功能点

环境搭建
使用maven阿里源进行打包即可,全文搜索jdbc修改三处配置文件下的数据库连接,数据库文件在

tianti-modules/tianti-module-admin/src/main/webapp/scripts/tianti_stage.sql

我设置admin.war在admin路径下,getway为空不成功,所以这里仅测试后台功能,伊拉克版本见谅(前台也只是静态界面)

代码审计
组件漏洞
查看pom.xml
发现组件

log4j 1.2.17 可能存在漏洞 CVE-2019-17571  但需要SimpleSocketServer 开启端口
fastjson 1.2.20 可能存在反序列化漏洞
shiro 1.3.2 可能存在命令执行漏洞
hibernate 可能存在hql注入

验证 log4j1.2.17 CVE-2019-17571
使用全文搜索没有发现使用SimpleSocketServer开启端口,无法利用

fastjson
查找序列化方法parseObject,木有,利用不了

shiro反序列化 查找key在shiro配置文件
在这里插入图片描述
使用shiro综合利用工具,使用该key进行爆破利用链,找到利用链并且可以成功执行,漏洞存在

hibernate组件
全文查找select,发现基本上都采用了预编译写法,也就是

where username = :username

无法利用,有两个存在漏洞的写法分别为

public int getCount(String sql){String sqlCount="select count(0) count_num from ("+sql+") as total";List<Map<String, Object>> list = this.querySqlObjects(sqlCount);if(list.size() > 0){int countNum=((BigInteger) list.get(0).get("count_num")).intValue();return countNum;}else{return 0;}
}
public List<User> findUserListByRoleCondition(String roleId,String name){String hql="select urr.user from UserRoleRel urr where 1=1 ";if(roleId != null){hql+=" and urr.role.id = "+roleId;}if(StringUtils.isNotBlank(name)){hql+=" and urr.user.realName like '%"+name+"%' ";}return this.queryForList(hql);
}

可惜没有找到相关方法调用,注入失败

文件上传
全文搜索upload,发现路径user/upload/uploadAttach路径,但是由于使用随机校验码进行重命名已经用.分割验证后缀的方式进行验证,无法利用

查看后台功能,在其他的数据操作方面,使用了spring-data框架进行数据库更新操作,进行了预编译操作,无法注入,更新用户名密码位置,采用的是session获取用户id与数据库进行比对,也无法利用

或许前台有些查找功能,但是这种预编译写法,仍无法利用

至于xss之类的,后台的xss木有用

菜菜,大佬, 带带

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/602000.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金三银四面试题(十四):Java基础问题(5)

这部分面试题多用于面试的热身运动&#xff0c;对很多找实习和准备毕业找工作的小伙伴至关重要。 避免序列化 可以使用transient 关键字修饰不想进行序列化的变量。 transient 关键字的作用是&#xff1a;阻止实例中那些用此关键字修饰的变量序列化&#xff1b;当对象被反序列…

机器学习模型——关联规则

目录 关联规则 - 基本概念 关联规则的挖掘步骤: Apriori算法 Apriori算法简介&#xff1a; Apriori算法举例&#xff1a; Apriori算法优缺点&#xff1a; Apriori算法应用 FP-growth算法&#xff1a; FP-growth算法简介&#xff1a; FP-growth的数据结构&#xff1a; …

LeetCode初级算法书Java题解日常更新

LeetCode初级算法高效题解&#xff08;含思路注释&#xff09; 文章目录 LeetCode初级算法高效题解&#xff08;含思路注释&#xff09;前言一、数组1.删除排序数组中的重复项2.买卖股票的最佳时机 II3.旋转数组4.存在重复元素 总结 前言 决定用四个月过一下算法 一、数组 1.…

基于Spring Boot的入职匹配推荐系统设计与实现

基于Spring Boot的入职匹配推荐系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 管理员登录界面&#xff0c;登录成功后进入到系统操…

Deformable Convolutional Networks论文阅读

Deformable Convolutional Networks论文阅读 Abstract1. Introduction2. Deformable Convolutional Networks2.1. Deformable Convolution2.2. Deformable RoI Pooling 总结 文章信息&#xff1a; 原文链接&#xff1a;https://arxiv.org/abs/1703.06211 源代码&#xff1a;htt…

移动平台相关(安卓)

目录 安卓开发 Unity打包安卓 ​编辑​编辑 BuildSettings PlayerSettings OtherSettings 身份证明 配置 脚本编译 优化 PublishingSettings 调试 ReMote Android Logcat AndroidStudio的调试 Java语法 ​编辑​编辑​编辑 变量 运算符 ​编辑​编辑​编辑​…

【随笔】Git 基础篇 -- 分支与合并 git rebase(十)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

Vue3从入门到实战:路由知识点

本人在B站上关于vue3的尚硅谷的课程&#xff0c;以下是整理一些笔记。 1.两个知识点 1.路由组件通常存放在pages 或 views文件夹&#xff0c;一般组件通常存放在components文件夹。 组件可以分为&#xff1a; 1. 一般组件&#xff1a;亲手写标签出来的 2. 路由组件&#…

【第十二篇】使用BurpSuite实现CSRF(实战案例)

CSRF存在前提:简单的身份验证只能保证请求是发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的 业务场景:新增、删除、收藏、编辑、保存使用Burp发现CSRF漏洞的过程如下。 1、如图,存在修改邮箱的功能点如下: 2、修改邮箱的流量包,此时邮箱已被修改: 思路:是…

【拓扑的基】示例及详解

集合X的某拓扑的一个基是X的子集的一个族(其成员称为基元素)&#xff0c;满足条件&#xff1a; 1. 2. 由基生成拓扑 由生成的拓扑(满足以上两个条件&#xff09; 等价描述&#xff1a; 由所有可表示为的某些成员的井的那些集合组成 例1: 证明&#xff1a;由生成的族确实是拓扑…

vue2 父子组件通讯

父传子 父组件&#xff1a;app.vue <template><div>app 父组件<!-- 2.动态绑定定义的数据 --><LiCount :title"mytitle"></LiCount></div> </template><script> import LiCount from "./components/LiCount.…

机场数据治理系列介绍(5)民用机场智慧能源系统评价体系设计

目录 一、背景 二、体系设计 1、评价体系设计维度 2、评价体系相关约定 3、评价指标体系框架设计 4、能源利用评价指标 5、环境友好评价指标 6、智慧管控评价指标 7、安全保障评价指标 三、具体落地措施 一、背景 在“双碳”国策之下&#xff0c;各类机场将能源系统建…