ESP8266 wifi 汉化版固件界面存在xss注入

VSole2021-08-04 18:58:49

### 漏洞简介

了解无线安全的同学应该都知道基于ESP8266的wifi killer固件,可以用来辅助无线渗透测试,其自带了一个web管理界面,其中有一个wifi ap列表,就是这个列表存在xss注入。

ESP8266大概长这个样子,我买的是可以用micro usb线连接电脑的,那个xss漏洞就在这玩意儿里面:

此漏洞仅存在于wifi killer张馆长汉化版,审计过官方原版的代码发现是没有此漏洞的,影响范围较小,并且难以利用,故公开。

### 挖洞过程

买了个ESP8266,让店家给刷好wifi killer固件邮过来的,午休的时候在办公室想体验一下,刚拿出手机查看wifi列表注意到有个wifi名字类似于下面这种的:

root 

具体名字我记不得了,大概就是这种模式,我觉得挺有意思的,估计这是哪位巨佬在测试wifi名注入吗?

然后我就想到wifi killer的web界面上也有一个wifi ap列表,于是便想试试那个列表是不是能够被注入,当我在wifi killer的管理界面上切换到wifi ap列表的时候,我发现这个热点的wifi名字只显示出了前面的root?

虽然我反应比较迟钝,但是也马上意识到了wifi名字这里有一个xss注入漏洞,接下来就是慢慢去测试payload确认一下到底能不能搞。

最开始的时候使用

alert(/xss/)

这种形式去测试的,但是却并没有生效,于是就去看了它前端的代码,发现是在js中拼接wifi名字然后通过innerHTML设置的到页面上的:

通过这种方式设置的script并不会被加载执行,但是可以通过设置一个img标签触发其error来绕过执行js,payload如下:

'alert(/!/)'>

用手机开个热点,热点的名字用上面这个payload:


然后再在wifi killer的管理界面刷新wifi列表,成功使用wifi名字触发了弹窗:


但是wifi的名字,也就是SSID,协议规定了它不能超过32位,这就很尴尬,几乎没有利用空间,最简单的payload就快占满了...

请教了303大佬有没有什么好的利用方案:

成吧,好歹也算是个利用方式,这样当我发现我的wifi列表中出现wifi killer默认的热点名字zhangguanzhang的时候,我就启动一个payload热点,不图别的,我就是吓吓他....毕竟我也做不了别的,啊哈哈哈哈

### 官方原版是如何做的呢

后来我还去看了原版的wifi killer的这部分逻辑:

https://github.com/SpacehuhnTech/esp8266_deauther/blob/v2/web_interface/js/scan.js

它的源代码里是有转义的:

跟进去看一下转义:



人家对尖括号进行了转义。

### 总结

以后凡是用户输入回显在页面的字段都试一试,审计一下相关代码,万一有注入呢...

如果不是办公室那个奇怪的热点名字提醒了我,我可能就与这个鸡肋的xss擦肩而过了...感谢那位不知道名字的好心人!

xssesp8266
本作品采用《CC 协议》,转载必须注明作者和本文链接
分享一个略水但挺有意思的漏洞挖掘过程:ESP8266 wifi killer固件zhangguanzhang汉化版web ui界面wifi名字存在xss注入
XSS 扫描工具 -- DalFox
2023-03-10 10:54:24
它配备了强大的测试引擎,为渗透测试提供了许多利基功能!
它的主要特性有:1、动态地语义分析网页中的JavaScript源码,Hook关键点,利用污点分析检出 Dom-Based XSS2、极低的误报率:通过监听浏览器对话框弹出事件等进行验证。--proxy value set proxy and all traffic will be routed from the proxy server through
XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那么很可能就存在XSS漏洞。 这篇文章将带你通过代码层面去理解三个问题: 什么是XSS漏洞? XSS漏洞有哪些分类? 如何防范XSS漏洞?
XSS 的认识与防护策略
2021-10-15 07:30:55
防止 XSS 攻击预防存储型和反射型 XSS 攻击存储型和反射型 XSS 都是在服务端取出恶意代码后,插入到响应 HTML 里的;因此预防这两种漏洞,有两种常见做法:对文本内容做充分转义。禁止内联脚本执行。禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。
背景介绍在本文中,const 和 mrhavit 将分享他们发现跨站脚本漏洞的经验,该漏洞可能在多个 TikTok 应用程序中导致帐户接管。新的重定向 URL 包含一些参数,第一个参数是“status”,它负责页面内容,第二个参数是“link”,目前还不知道它会如何影响页面。当将“status”参数的值更改为“1”时,页面内容发生了变化,并出现了一个新按钮。
ezXSS介绍ezXSS是一款用于渗透测试和漏洞挖掘的XSS盲测跨站脚本工具。在演示版本中可能禁用了一些特性。
有了 cookie,就可以登录你的账户,接管你的账户,你登录之后能做的操作,攻击者都可以做,包括花你的钱,修改你的资料等等。
xss_vulnerability_challenges是一个针对XSS漏洞的挑战和学习平台,该项目包含了大量关于XSS安全漏洞的挑战以及绕过样例,可以帮助广大研究人员更好地学习和研究XSS漏洞相关的安全问题,这个代码库本质上是一个容器化的PHP应用程序。
绕过 XSS 检测机制
2022-05-05 07:30:30
跨站点脚本 (XSS) 是最常见的 Web 应用程序漏洞之一。它可以通过清理用户输入、基于上下文转义输出、正确使用文档对象模型 (DOM) 接收器和源、执行正确的跨源资源共享 (CORS) 策略和其他安全实践来完全防止。尽管这些预防性技术是公共知识,但 Web 应用程序防火墙 (WAF) 或自定义过滤器被广泛用于添加另一层安全性,以保护 Web 应用程序免受人为错误或新发现的攻击向量引入的缺陷
VSole
网络安全专家