技术分享 | 如何挖掘工控设备的WEB漏洞——XSS漏洞篇
1. 工控设备中的XSS漏洞概述
由于工控固件设备的特殊性,即便是XSS漏洞,也可能会造成比较大的危害,也是CVE级别的。
2. 工控设备中的XSS漏洞案例
这里以西门子的某版本储存型XSS漏洞为例:
2.1 将笔记本与目标设备直接通过网线进行连接。通过相关技术手段,探测获取到设备的IP地址为10.16.191.xx。
然后访问此IP地址,进入到web管理页面。
默认密码admin admin进入。
2.2 在 Fault Mask – Standby Mask中,Name位置写入XSS代码,这里是有进行过滤的。
2.3 但是当重启服务器后,系统日志会对这些操作进行监控,这里又对过滤后的代码进行了二次DOM输出,所以形成了XSS漏洞。
2.4 测试payload
“><img src=x onerror=alert(1)>
2.5 修补措施:
过滤XSS特殊字符;
在日志页面DOM输出的时候,再进行一次过滤。
3. 工控设备中的XSS漏洞的风险
以上是一个完整的西门子设备的XSS漏洞,此漏洞可以导致的风险有:
a,在系统cookie无httponly的情况下,可以直接劫持身份进入系统,获取到当前的登陆权限。
b,在系统cookie有httponly的情况下,可以通过ajax去请求系统后台的页面,从而获取到敏感数据,还可以编写脚本进行蠕虫攻击。
4. 工控设备中的XSS漏洞的挖掘
4.1 通常,工控设备都是有其web管理系统的,当然更多的管理是通过上位机、下位机这种方式完成的。不过开发和运维人员一般都会留有web管理系统,这种在各种版本的西门子、施耐德等设备中,非常普遍。
4.2 第一步,我们需要将其进行连通,一般都是直接用网线和其网口进行直连,然后要获取到其ip地址,可以通过wireshark抓包进行获取。
4.2 获取到ip地址后,我们要修改自己的ip与其配置成同一个网段,然后就可以去访问其ip地址了。一般情况下就直接进入web管理系统的登陆页面,但是有时候还需要对此ip进行端口和目录探测才可以。
4.3 当成功访问系统登陆页面后,我们要做的是如何成功进入系统,如果是自己的测试设备,可以通过已有的测试账号进行进入,然后寻找所有的输入和输出点。
4.4 所谓的输入输出点的寻找,这个是挖掘XSS漏洞的最为普遍的手法之一。比如上面的例子中,X xx– Fault Mask – Standby Mask中,Name位置,这就是一个输入点,然后日志展示的页面,这就是一个输出点。然后由于输入输出的过程中,过滤出现纰漏,从而产生了XSS漏洞。
4.5 一般常见的输入输出点有:
个人资料、配置设置、头像、ip、url等,所有的输入框都可能会存在XSS漏洞,同时这些位置也都是输出点,此外输出点还经常出现在意见反馈查看、信息版本、系统日志等位置。
4.6 常见的测试payload
“><script>alert(1)</script>
“><img src=x onerror=alert(1)>
“><style onload=alert(1)>
“></textarea><script>alert(1)</script>
前面的”>字符主要是闭合原有网页中的代码,后面的payload可以根据实际情况,灵活运用和变形使用。在输入点插入后,如果有在输出点看到弹窗,说明存在漏洞。
5. 工控设备中的XSS漏洞的防御
首先,对所有输入输出位置都进行严格的过滤,其次,对cookie设置httponly保护,这样即使出现漏洞,也可以减少一定风险问题。
6. 总结
虽然工控设备一般情况都是网络隔离的,但是也不能忽视工控设备中的web安全问题,如果被恶意利用,危害也是比较大的。
威努特公司是国内专注于工控安全领域的高新技术型企业,以研发工控安全产品为基础,打造多行业解决方案,提供培训、咨询、评估、建设、运维全流程安全服务。威努特公司拥有丰富的工控安全产品和全行业解决方案,在工控的web安全上也可提供专业服务。
更多阅读:
11月8日,相聚上海——城市轨道交通等保2.0工控安全技术研讨会启动报名
威努特工控安全
专注工控·捍卫安全