Closed Er1cccc closed 2 years ago
不处理这个问题,原因是: 1、必须获得 JPress 的后台登录地址,虽然有默认的登录地址,但是可配置成其他复杂的地址 2、拥有登录地址后,必须有管理员的账号和密码,这种一般只有设置了弱密码,或者管理员主动泄漏。 3、安装了 恶意 的插件
而目前 Java 行业凡是对于可以安装插件的产品来讲,都是无法避免这个问题的。这个需要网站管理提高安全意识、设置复杂的登录地址和登录账号密码,不轻易安装不认可的插件即可解决。这种由于安全意识造成的问题,并非软件问题。
审计过程
jpress后台提供了插件安装功能,在
io.jpress.web.admin._AddonController
的doUploadAndInstall
方法,该方法的作用是先处理文件上传,然后进行插件安装文件上传的步骤略,直接看安装部分
跟进
AddonManager.me().install(newAddonFile)
方法,在这个方法中,先调用了一下AddonUtil.readAddonInfo
读取插件信息跟进
AddonUtil.readAddonInfo
,在这个方法里面会创建一个类加载器来加载插件里的类跟进
classLoader.load()
,这个方法的作用就是先加载类,然后把不同的类进行归类,Controller归到一起,Interceptor归到一起先加载类
然后根据类的功能进行归类,把他们分别添加到了addonInfo的特定字段当中
接下来在处理请求时就会利用到这些controller
攻击步骤
使用弱口令进入后台
上传恶意插件jpress-addon-helloworld-4.0.jar