代码审计之jsp+servlet模式从客户端接收参数的函数大全

本文介绍了JSP中客户端数据的接收方式,包括通过HttpServletRequest类的各种方法获取参数、请求头等信息,以及如何使用EL表达式简化这些操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java代码审计的过程中,jsp+servlet架构的形式是我们学习javaweb开发的基础,虽然它不如SpringMVC框架流行,但是在view层的处理还大多依赖于jsp,jsp作为用户和服务器操作数据的入口,我们总结一下jsp的输入函数还是十分必要的。安全的威胁也是主要来自于客户端的输入,如果我们对客户端的数据数据在后台有严格的校验,那么我们也就能更深层次的保护我们的网站安全。在java代码审计的过程中,对数据流进行跟踪也是一种常用的审计方法。我们就总结并验证了一下jsp中接收客户端数据的函数。首先我们介绍这个HttpServletRequest类。这个类主要接收客户端请求的类。我们分析的大部分函数也都是在这个类中。

HtppServletRequest对象

获得客户端请求参数方法
request.getParameter(String name)


接收参数的多个值的方法(一个参数多个值情况)
request.getParameterValues(String name)

接收参数的名字
request.getParameterNames()

接收参数的名字和值
request.getParameterMap()

获取客户机请求头方法
request.getHeader(string name)
request.getHeaders(String name)
request.getHeaderNames() 

调用此方法来读取来自客户端表单的数据流
request.getInputStream()
request.getReader()


获取客户端发送的请求cookie
request.getCookies()


获取参数和值
request.getQueryString()

获取客户端发出请求时的网站url
request.getRequestURL()

返回请求文件内容的长度,返回值类型为int,长度伪造
request.getContentLength()

获取请求文件内容的类型
request.getContentType()


jsp中EL表达式获取客户端内容

EL表达式

${param.name}
相当于request.getParamter(name)

${paramvalues.name}
相当于request.getParamtervalues(name)

${header.name}
相当于request.getHeader(name)

${headerValues.name}
相当于request.getHeaderValues(name)


获取带有特定名称的第一个cookie值
${cookie.name.value}

获取请求的参数字符串
${pageContext.request.queryString}

获取请求的URL,但不包括请求的参数字符串
${pageContext.request.requestURL}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值