Spring 视图操纵漏洞( 三 )
@GetMapping("/doc/{document}")
public void getDocument(@PathVariable String document) {
log.info("Retrieving " + document);
//returns void, so view name is taken from URI
}
@GetMapping("/safe/doc/{document}")
public void getDocument(@PathVariable String document, HttpServletResponse response) {
log.info("Retrieving " + document); //FP
}
文章插图
No.4
后话
那么 velocity和 freemarker 有这个问题吗 , 目前我还没发现 , 似乎传入进来不会做表达式解析 , 可以顺着这个思路再看看 , 总体来说还是挺有趣的 。
文章插图
【Spring 视图操纵漏洞】而 Thymeleaf 传入进来之后在ThymeleafView# renderFragment 会针对传入的进行表达式解析 。
文章插图
文章插图
当然一般开发的时候 , 好像是不会这么处理视图的 , 因此这么写的实际面应该不会太大 , 当然和 spring解析过程有关方法调试断点可以下在 DispatcherServlet# doDispatch, 一般都是可以命中的 。
No.5
Reference
▼稿件合作 15558192959
小E微信号:Eanquan0914
文章插图
我就知道你“在看”
文章插图
- Spring security CSRF 跨域访问限制问题
- Spring Boot搭建的一个在线文件预览系统
- 面试官:问你一个,Spring事务是如何传播的?
- 对Spring MVC接口进行Mock测试
- Spring Cloud Alibaba之 Sentinel
- SpringBoot+MyBatis+MySQL读写分离实现
- SpringBoot构造流程源码分析:Web应用类型推断
- 搭建私有Sentry日志收集系统并集成到springboot
- Spring事务原理?事务在方法间如何传播?为什么会失效?
- SpringBoot扫描不到组件?给你提供几种方案