【JSRC小课堂】Web安全专题(六)基于IoT固件的二进制Web漏洞挖掘思路
✎小课堂黑板报
IoT 固件基本概念
IoT固件服务器漏洞挖掘实战
IoT固件的基本概念了解完毕,就要一起来学习下IoT固件服务器Web漏洞挖掘的实例了。IoT固件服务器Web应用模型分为混合云模型和独立嵌入式模型两类。
混合云模型中包含了厂商或者供应商提供的基于软件即服务(Software as a Service,SaaS)的Web应用,作用是同运行在嵌入式设备固件中的Web应用程序建立连接,然后,将数据从厂商的云服务器中同步到本地网络的嵌入式设备中。
嵌入式设备的Web应用在设备固件内部运行,以lighttpd或者nginx等程序作为嵌入式Web服务器,而不存在外部依赖。在打印机、VoIP电话和家庭路由器中都可以找到这些应用。通常情况下,用户输入直接发送到设备固件,如果未对用户输入进行验证或过滤,攻击者则可以向设备发起攻击尝试执行任意命令。在某些情况下,出于防止外部攻击或者便于管理的目的,嵌入式Web应用设计为仅在局域网(Local Area Network,LAN)环境中运行。这也是家用IoT、工控设备和商用设备中的典型情况。
IoT固件服务器从前端角度来看存在的漏洞和常规Web漏洞类似,包括弱口令、注入、越权、敏感信息泄露、XXE、XSS、CSRF等。笔者认为,从二进制固件角度进行漏洞挖掘较其他方式来说,是相对高效的。
获取IoT固件的方式非常丰富,最便捷的方式是在前端界面寻找端倪。下面我们以某个IPCamera进行举例:
通过shodan或zoomeye进行搜索可以找到暴露在公网上的网络摄像头,通过审计前端源码可以找到cgi格式的固件,具体如下图:
我们获取到固件后,就可以开始进行二进制层的固件漏洞挖掘。这里我们以京东安全实验室开发的qiling二进制模拟框架为例进行说明。
京东安全实验室的Qiling框架实现了在一台主机上模拟多种系统架构的需求。使用qiling对cgi固件进行fuzz,可以快速挖掘漏洞。具体操作详见下图:
关于二进制漏洞挖掘工具的具体用法,我们在本次课程交流中不再赘述,各位感兴趣的小伙伴儿可以查看qiling.io进行学习。我们衷心期望更多的漏洞是通过京东安全的qiling分析和挖掘的。
✎Web安全专题往期议题回顾
2. 【JSRC小课堂】Web安全专题(三)SRC漏洞挖掘技巧:三步走收集高质量信息
3. 【JSRC小课堂】Web安全专题(二)逻辑漏洞的burpsuite插件开发
4. 【JSRC小课堂】Web安全专题(一)
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 澳门是伟大祖国的一方宝地 7920800
- 2 女子穿和服在南京景区拍照遭怒怼 7970885
- 3 日本火山喷发灰柱高达3400米 7897551
- 4 2024 向上的中国 7782548
- 5 肖战新片射雕英雄传郭靖造型曝光 7695582
- 6 大三女生练咏春一起手眼神骤变 7583201
- 7 胡军演洪七公 7406230
- 8 男子钓上一条自带“赎金”的鱼 7323565
- 9 赵丽颖带儿子探班 7259615
- 10 高考601分女生为何选择殡葬专业 7127520