代码审计(Java)——WebGoat_RequestForgeries

一、Cross-site Request Forgeries

  1.level3

 

  这里的level3,就是限制了Referer的参数值为空或者是不等于host即可,单纯为了教学而设计的题目,没啥可说的~

  因为java功底有限,待我再研究研究token怎么整,这里先按照简单的referer校验源头校验修复,后面再把这个token修复放上(太菜了……)

  ok这里就简单的修复完成了,规定referer同源有一个致命的缺陷——如果域内存在CSRF的话,那就相当于建造了一个墙,但是只有半米高……很容易就跨过去了,还是得研究一下token,而且是洞态的,先暂缓更新,研究一下~

 

二、Server-side Request Forgery

1.level-2

  抓包修改请求参数为jerry即可~

  代审没什么好说的,这里就是简单添加了一个判断条件,标准的靶场代码了……

  按标准的修复方式,有两种思路——一种是设置可访问资源白名单,一种是判断是否是内网地址,后者在此处不好演示,具体思路和前一种基本相同,就不修复第二种了~

  OK~可以看到修复之后就跳出了一只猫问你是否寻求帮助的图片了哈哈(不得不说,做WebGoat的人绝对拥有有趣的灵魂~)

  其实可以考虑设置一个允许访问的文件夹,并判断文件夹内部是否存在指定文件,上面两张图是这个修复思路。为了区分,我把jerry的图放上了,配上的是failure的内容~

 

posted @   wavesky  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示