Java审计之XSS篇
0x00 前言
继续 学习一波Java审计的XSS漏洞的产生过程和代码。
0x01 Java 中XSS漏洞代码分析
xss原理
xss产生过程:
后台未对用户输入进行检查或过滤,直接把用户输入返回至前端。导致javascript代码在客户端任意执行。
XSS代码分析
在php里面会使用echo
对用户输入的参数进行直接输出,导致了xss漏洞的产生。而在Java里面会将接收到的未经过滤的参数共享到request域中,在jsp的页面里面使用EL表达式进行输出。
这里编写一个serlvet来做一个演示
xssservlet代码:
@WebServlet("/demo")public class xssServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");// 设置响应类型 String content = request.getParameter("content"); //获取content传参数据 request.setAttribute("content", content); //content共享到request域 request.getRequestDispatcher("/WEB-INF/pages/xss.jsp").forward(request, response); //转发到xxs.jsp页面中 }}