【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 为基层减负赋能 促干部实干担当 7919119
- 2 墨西哥湾更名“美国湾” 墨总统回应 7927776
- 3 冷冷冷 多地将冻成这样“紫” 7893458
- 4 两新扩围落地实施 带动产销两旺 7753014
- 5 拳王邹市明承认创业失败 7646229
- 6 喝水后4种异常是肾脏在求救 7517745
- 7 沈春阳回应邪恶车厘子梗 7462641
- 8 金价猛涨 有人变现赚19.5万仍后悔 7342922
- 9 湖南95后小夫妻76万买260平米复式 7227641
- 10 0713现身央视春晚第四次彩排 7130424