JAVAweb网站代码审计.docx

JAVAweb网站代码审计.docx

ID:62245896

大小:18.83 KB

页数:4页

时间:2021-04-22

JAVAweb网站代码审计.docx_第1页
JAVAweb网站代码审计.docx_第2页
JAVAweb网站代码审计.docx_第3页
JAVAweb网站代码审计.docx_第4页
资源描述:

《JAVAweb网站代码审计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、。JAVAweb网站代码审计--入门本人还处于代码审计的初级阶段,此文章类似于编码规范,有啥建议,评论给我~由于刚开始学代码审计的时候,就感觉一团代码,不知道从何下嘴。先从底层开始审计:底层漏洞:1.查看该系统所用框架:Struts2的相关安全:(1)低版本的struts2,低版本的Struts2存在很多已知的版本漏洞。一经使用,很容易造成比较大的危害。(2)开启Struts2的动态调用方法,现在发现的如s2-033,s2-032等漏洞,都是由于系统开启了动态调用方法,导致远程代码执行。(3)在jsp页面中使用Struts2的ognl表达式传输数据。(4)开启Struts2的d

2、evMode,易造成远程代码执行(5)存在Struts2本身自带的ognl页面(6)使用Struts2自带的redirect等方法Spring的相关安全:Spring在jsp中使用el表达式时,注意spring的boot框架版本,因为有些低版本会存在远程命令执行。mybatisxml相关安全:在SQL语句中,使用$进行传参,导致SQL注入;其他安全:在使用java自带的环境时,如weblogic或者jboss,请注意查看版本号,因为此类环境低版本,大部分包含java反序列化漏洞,导致远程代码执行;glassfish环境某些版本存在任意文件读取;2.查找SQL注入:DAO:是否存

3、在拼接的SQL语句如:Stringsql="select*fromuserwhereid="+id;XML中:是否使用$,因为在xml中,#value#此时value是以参数的形式插入进去,$value$此时value是以字符串的形式直接插入到xml中,会导致sql注入;select*fromtb_card_binwherecard_length=#cardLength#andinstr(bin_no,'$cardNoFirstNum$')=13.第三方控件漏洞。1。如:fckeditor,

4、wordpress等等。查找完底层漏洞后,查看系统中相应的action或者do方法。如果用的是ssh框架的话,这些方法的相关配置保存在Struts2的配置文件中。如果用的是springmvc框架的话,这些方法可能保存在applicationContext.xml(spring的配置文件),或者采用的是扫描注入的话,建议全局搜索RequestMapping等注入路径的关键字来确定action方法所在。以下,以action方法为例:4.文件上传漏洞文件上传的action有一个比较显著的特征:SpringMVC默认支持两种文件上传操作方式。一种是使用MultipartHttpServ

5、letRequest或者MultipartFile作为方法参数,第二种是使用javax.servlet.http.Part作为方法参数。代码举例:@RequestMapping(value="/accounting/voucher/importVoucher.htm",method=RequestMethod.POST)@SuppressWarnings("unchecked")publicStringimportBankGlide(@RequestParam("voucherFile")MultipartFilevoucherFile,@RequestParam("retur

6、nFile")MultipartFilereturnFile,ServletRequestrequest,ModelMapmodel){if(voucherFile==null

7、

8、voucherFile.getSize()<1){StringerrorMessage="导入文件为空";model.put(ERROR_MESSAGE,errorMessage);return"/accounting/voucher/importVoucher";}StringextFile="";if(returnFile.getSize()>0){//并未对文件进行检查,直接上传Filefile

9、=newFile(model.get("path"));}else{model.put(ERROR_MESSAGE,"上传附件失败,请重新发起:"+result.getResultMessage());return"/accounting/voucher/importVoucher";}}文件上传存在的主要原因,一,未对文件名称进行检测直接上传;二,未对传入的文件内容进行检测直接上传;5.远程命令执行在调用本机的shell,去运行特殊的命令时,没有对传入的参数进行检查,导致命令执行;Runt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。