sql注⼊在前端新增⼀条代码⽣成列表,抓取数据包通过搜索路径system/generate定位到SystemGenerateController类⽂件在create⽅法中打个断点进⾏分析db.update函数进⼊update函数这⾥采⽤了预编译,是把整个sql语句进⾏预编译,不是把sql的参数拼接执⾏,所以根本起不到效果这⾥是executeUpdate,所以只能⽤增删改的sql语句,⽤报错语句进⾏测试模板注⼊在pom.xml发现cms使⽤freemarker在后台有创建模板的地⽅,插⼊payload:<#assign value="freemarker.template.utility.Execute"?
new()>${value("calc.exe")}测试访问不存在的路径,触发命令执⾏任意⽂件读取查看getTemplates⽅法,打个断点进⾏分析dir变量就是获取当前路径,这个是可控参数pathFile 则是根据传⼊的dir,获取到绝对路径files则是获取default⽬录下的所有⽂件的绝对路径只获取⽂件为html xml css js等格式然后在通过传的⽂件名和files⾥⾯的进⾏
………………………………