我是如何发现一枚CiscoXSS(跨站脚本)漏洞的|

  • A+
所属分类:硬件安全

我在Cisco的IOSSoftwareChecker中找到一枚XSS(跨站脚本)漏洞,漏洞本身并不复杂,在此与大家分享漏洞发现的整个过程。

无意的发现

这一天我正在阅读Cisco提供的漏洞报告,偶然发现了“CiscoIosSoftwareChecker”这个安全工具。对于Cisco设备管理员来说,这个工具十分有用,可以确定CiscoIOS软件是否错过了安全补丁或者安全漏洞。

我尝试在用于查找CiscoIOS版本的输入框中提交一些垃圾数据,结果被系统无情的被拒绝了。我想可能是由于我没有输入一个有效的IOS版本吧。

因为CiscoIOS软件版本可以包含许多不同的字符,于是我使用有效的IOS版本字符串又试了一次,我在“15.1”后面加上了一大堆”A”。然后我惊奇的发现”AAAAAA”竟然成功注入到目标页面!

有意思,我觉得有必要再往深处看看。查看HTML源码,发现了一处代码注入点——一个输入框的onclick属性。

现在我需要弄清楚,到底有哪些字符是我可以使用的。

注意双引号和圆括号,现在我找到我们所需要的了,这些可是能注入到输入字段的哟。

输入尝试

第一步就是避免<input>标签,我比较喜欢使用onclick=”…” 属性。使用一个简单的双引号,添加恶意字符串。我就有能力将elements 集合添加到<input>标签中。

这是input标签,提交“15.1”INJECTION_STUFF_HERE 到表单中后的情况:

<input …onclick=”redrawRSS(’15.1”INJECTION_STUFF_HERE … >

好了,现在我第一个想法就是将input类型改为图片形式,这样可能会有意想不到的发现。

<input … onclick=”redrawRSS(’15.1”type=image src=… >

Perfect!现在可以肯定的是,我能够执行Javascript了!

接下来,我将onload=””属性添加到<input>标签,然后可以十分轻松的在目标页面上执行alert(1)的弹窗了。也就是说,一个XSS漏洞被我发现了。

下面是我简单制作的挖洞过程动画

结语

在测试这个漏洞的时候,Cisco工程师很快就截获了相关信息并修复了这个安全漏洞。

这件事情告诉我们:不要绝对的相信用户的输入,不要补了东墙忘了西墙,却把最基础的安全漏洞给忽略了。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: