java代码审计--xss漏洞
2021/9/15 17:04:53
本文主要是介绍java代码审计--xss漏洞,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
漏洞两种情况
1.直接用request.getParameter(“参数”);去获取值 然后直接用println()输出
2.用request.setAttribute输出
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>XSS Vulnerable</title> </head> <body> <form action="index.jsp" method="post"> Enter your name: <input type="text" name="name"><input type="submit"> </form> <% if(request.getMethod().equalsIgnoreCase("post")) { String name = request.getParameter("name"); if(!name.isEmpty()) { out.println("<br>Hi "+name+". How are you?"); } } %> </body> </html>
防御方法
①引入框架的filter(即引用框架的全局过滤去处理)
②自己写定义编码转换
import org.apache.commons.lang.StringUtils; private String htmlEncode(String content) { content = StringUtils.replace(content, "&", "&"); content = StringUtils.replace(content, "<", "<"); content = StringUtils.replace(content, ">", ">"); content = StringUtils.replace(content, "\"", """); content = StringUtils.replace(content, "'", "'"); content = StringUtils.replace(content, "/", "/"); return content; }
这篇关于java代码审计--xss漏洞的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?