代码审计(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 @ 2022-08-26 16:38  wavesky  阅读(54)  评论(0编辑  收藏  举报