任意文件读取
但仅限读取html js css xml文件
这里默认只能读取default里面的文件
因为第一次审计 不太了解框架结构 所以点击页面的时候进行抓包来寻找Controller层
在idea找到这个方法
dir是当前目录 也就是可查看代码的目录 这个是可控的 通过这里可以看出
继续往下跟
pathFile 则是根据传入的dir 获取到绝对路径
跟到这里则可以看到只能返回html xml css js
files则是default目录下的html等文件的绝对路径
然后在通过传的文件名 和 files里面的进行比较 默认是index.html
通过这里读取到源码
最后渲染到页面上
整个操作没有对dir进行限制 然后我们又可控 就能够读取其他目录的文件
测试
任意文件写入
还是上面这个Controller
可以发现只获取这几个参数的值
然后在这一行把content的进行了尖括号的替换
没有进行其他的过滤 可以任意写入
测试