粉丝投稿:ofcms 1.1.2 代码审计

admin 2024年3月8日22:39:46评论11 views字数 890阅读2分58秒阅读模式

sql注⼊

在前端新增⼀条代码⽣成列表,抓取数据包

粉丝投稿:ofcms 1.1.2 代码审计

通过搜索路径system/generate定位到SystemGenerateController类⽂件

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

在create⽅法中打个断点进⾏分析db.update函数

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

进⼊update函数

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

这⾥采⽤了预编译,是把整个sql语句进⾏预编译,不是把sql的参数拼接执⾏,所以根本起不到效果

粉丝投稿:ofcms 1.1.2 代码审计

这⾥是executeUpdate,所以只能⽤增删改的sql语句,⽤报错语句进⾏测试

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

模板注⼊

在pom.xml发现cms使⽤freemarker

粉丝投稿:ofcms 1.1.2 代码审计

在后台有创建模板的地⽅,插⼊payload:<#assign value="freemarker.template.utility.Execute"? new()>${value("calc.exe")}

粉丝投稿:ofcms 1.1.2 代码审计

测试访问不存在的路径,触发命令执⾏

粉丝投稿:ofcms 1.1.2 代码审计

任意⽂件读取

查看getTemplates⽅法,打个断点进⾏分析

粉丝投稿:ofcms 1.1.2 代码审计

dir变量就是获取当前路径,这个是可控参数

粉丝投稿:ofcms 1.1.2 代码审计

pathFile 则是根据传⼊的dir,获取到绝对路径

粉丝投稿:ofcms 1.1.2 代码审计

files则是获取default⽬录下的所有⽂件的绝对路径

粉丝投稿:ofcms 1.1.2 代码审计

只获取⽂件为html xml css js等格式

粉丝投稿:ofcms 1.1.2 代码审计

然后在通过传的⽂件名和files⾥⾯的进⾏⽐较 默认是index.html

粉丝投稿:ofcms 1.1.2 代码审计

通过这⾥读取到源码

粉丝投稿:ofcms 1.1.2 代码审计

最后渲染到⻚⾯上admin/cms/template/index.html

粉丝投稿:ofcms 1.1.2 代码审计

整个操作没有对dir进⾏限制,我们⼜可控制参数,就能够读取其他⽬录的⽂件

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

读取web.xml⽂件内容

粉丝投稿:ofcms 1.1.2 代码审计

任意⽂件写⼊

查看save⽅法代码

粉丝投稿:ofcms 1.1.2 代码审计

实际上只通过file_name和file_content参数传⼊⽂件

粉丝投稿:ofcms 1.1.2 代码审计

测试⼀下

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

任意⽂件上传

全局搜索upload关键字,定位到ComnController类⽂件

粉丝投稿:ofcms 1.1.2 代码审计

查看upload⽅法,整个代码并没有发现什么,这⾥跟踪继承函数getFile

粉丝投稿:ofcms 1.1.2 代码审计

继续跟踪getFiles⽅法

粉丝投稿:ofcms 1.1.2 代码审计

跟踪MultipartRequest⽅法

粉丝投稿:ofcms 1.1.2 代码审计

继续跟踪wrapMultipartRequest

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

最后跟踪到isSafeFile⽅法,过滤jsp和jspx⽂件

粉丝投稿:ofcms 1.1.2 代码审计

测试⼀下,上传html⽂件

粉丝投稿:ofcms 1.1.2 代码审计

访问不解析,但上传成功了

粉丝投稿:ofcms 1.1.2 代码审计

粉丝投稿:ofcms 1.1.2 代码审计

原文始发于微信公众号(轩公子谈技术):粉丝投稿:ofcms 1.1.2 代码审计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月8日22:39:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   粉丝投稿:ofcms 1.1.2 代码审计http://cn-sec.com/archives/2560963.html

发表评论

匿名网友 填写信息