千家信息网

IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎样的

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章给大家介绍IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。背景本地文件包含(LFI)漏洞是一种危害性较大的漏
千家信息网最后更新 2025年02月16日IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎样的

这篇文章给大家介绍IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

背景

本地文件包含(LFI)漏洞是一种危害性较大的漏洞类型。一旦出现攻击者将可能利用其,读取文件源码或敏感信息,包含恶意文件,执行任意代码,甚至控制服务器等。大多数LFI攻击都是由动态加载图像或其他文件的代码引起的。如果请求的文件名或路径未做正确验证,就会造成该漏洞的发生。

IKEA.com

宜家是世界上最强大的品牌之一;在福布斯排行榜中为前50名。毫不夸张的说,每个人家里都至少有一件产品来自宜家;我爱IKEA!你呢?可以在评论中告诉我你最喜欢的宜家产品。

除了宜家的产品外,另一个值得我称赞的地方就是,他们拥有大量且设计合理的网站和应用程序。为了更好的用户体验,他们还为此开设了一个bug赏金计划,允许我们安全的渗透测试他们的平台并发布,只要我们遵守漏洞披露规则。下面,就让我们试一试吧!

寻找目标

大多数时候我都是从枚举子域开始的,Aquatone是我最常用的一款枚举工具。该工具会在不同的公共域数据库中查找域,并返回活动子域列表,包括屏幕截图等。了解有关Aquatone的更多信息,请查看Apple.com报告中的Unrestricted File Upload(无限制文件上传漏洞)。

Bathroom planner

经过一番查找,其中一个Bathroomplanner.IKEA.com的子域引起了我的注意。这是宜家提供的一个在线规划工具,主要是为客户体提供灵感和现成的浴室解决方案。通过它客户可以查找产品,并将其添加到自己的浴室产品列表中。除此之外,还可以通过电子邮件发送产品列表,或以PDF格式下载至本地保存。生成的PDF文件包含一些文本和产品图片信息。如下:

到这里我有个疑问,这个PDF是如何生成的呢?

让我们打开burp通过拦截浏览器和宜家服务器之间的流量来一探究竟。我们打开首页,并尝试将产品添加到我们的列表中。

可以看到这里有几个非常有意思的字段:

data:包含产品和图片代码的JSON blob,没有文件路径

shopping:包含我们产品列表的JSON blob,没有文件路径

pdf:一长串字符,内容不明

images:一些base64编码后的图片

base64解码

当你看到一长串字符时,请务必检查其是否为Base64编码的字符串。Base64编码常用于文件的数据传输。这里推荐大家一个在线的base64字符串编码解码网站:http://decodebase64.com/

如果我们将该字符串直接粘贴到解码器中,你会发现解码出错;这是因为该字符串中包含有%之类的无效字符。这也说明该字符串可能也经过了URL编码,所以在Base64解码之前,我们先进行URL解码。同样,推荐大家一个在线的URL解码和编码网站:https://meyerweb.com/eric/tools/dencoder/

进行URL解码后,再Base64解码我们将得到以下字符串:

这看起来有点意思。当我们将产品添加到列表中,它会为宜家Web服务器提供一些用于生成PDF购物清单的模板。

如果我们能够将本地服务器文件包含到此PDF中,会发生什么? 例如图片?试试看,我将添加到了该模板,并进行了Base64和URL编码,替换Burp Suite中的pdf参数并Forward。

长话短说,这并不起作用。PDF生成器无法将该文件识别为图片,并且不会在输出中解析它...

B计划:识别PDF库,搜索库中的缺陷

也许我们可以找到另一种在PDF中包含文件的方法?首先,我们要弄清楚的是生成PDF的工具是什么?我们可以通过Google搜索模板中的一些独特字符串来得到答案。

搜索结果为我们提供了两个选择,node-html-pdf库或mPDF库。在快速浏览了它们的文档后,最终我确定在该项目中使用的为mPDF库。

识别mPDF中的安全问题

我们立刻制作了一个mPDF的本地副本,以便检查它是否存在安全漏洞。最好的起点是CHANGELOG,开发人员通常使用该文件来跟踪版本之间的变化。

可以看到在2017年10月19日,mPDF改变了他们处理注释标签的方式。因此,让我们仔细查看文档中的该标签。

这里并没有提及任何文件包含的相关内容。让我们再次Google搜索,看看是否有其他人发现过这类问题。

在阅读了h0ng10的漏洞报告后我们得知,在旧版本的mPDF存在严重的安全问题,攻击者能够通过注释标记包含文件。

仔细查看该项目的Github提交后,我发现其中展示的一段易受攻击的mPDF代码。

因此,我们可以更改PDF的模板尝试包含该标签并利用。让我们看看IKEA是否忘记将库更新到最新版本。

利用

我们将以下标记添加到模板中:

使用Burp Suite Repeater发送新模板并下载PDF文件。然后用Foxit Reader打开文件,并寻找黄颜色的注释标记。

双击该标记,我们就能打开并查看服务器上的文件啦!

IKEA.com允许用户在购物清单导出过程中操纵PDF模板。而其使用的PDF库包含了一个隐藏功能,即允许通过在模板中添加特定标记将文件嵌入到PDF中。该功能已在其最新版本中禁用,而IKEA却未进行及时的更新,因此才导致了安全问题的发生。

修复建议

绝不要允许用户操纵PDF模板

在客户端渲染包含购物清单的PDF,例如使用jsPDF

更新到最新版本的mPDF库,禁用注释代码

关于IKEA.com本地文件包含漏洞以及PDF解析的巧妙利用是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文件 产品 字符 漏洞 模板 字符串 编码 宜家 安全 代码 图片 服务器 标记 版本 服务 生成 内容 工具 注释 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全手帐作品 软件开发需要的产品 万得数据库如何找每日收益率 服务器代理ip国外 达梦注册数据库服务 朝阳区品牌软件开发设计专业服务 游戏app如何找到后台服务器 数据库测评属于哪个安全层面 外挂软件开发者 计算机网络技术的认识和理解 软件开发的主要方法和特点 网络安全模式下不能卸载软件 我的世界网易版封神斗罗服务器号 网络安全属于什么专业学位类别 设置ntp时间服务器 学软件做网络安全好吗 数据库中的自然连接是什么 三级网络技术需要买纸质版 和平精英属性数据库 数据库维保项目中标合同公示 网络安全数据运行管理制度 软件开发人员的绩效考核方案 服务器更换硬盘内部运作情况 增加网络安全法发布单位 徐汇区网络技术咨询哪家好 广东正规软件开发推荐货源 大学生的网络安全问题 两套账服务器如何保障安全 做软件开发自学c语言行么 网络安全操作系统安全练习题
0