我在Cisco的IOS SoftwareChecker中找到一枚XSS(跨站脚本)漏洞,漏洞本身并不复杂,在发现的全过程。
无意的发现
这一天我在读书Cisco提供的漏洞报告偶然发现“Cisco Ios Software Checker”这个安全工具Cisco设备管理员来说,这个工具十分有用,可以确定Cisco IOS该软件是否错过了安全补丁或安全漏洞。
我试着用它来搜索Cisco IOS在版本的输入框中提交了一些垃圾数据,系统无情地拒绝了。我想可能是因为我没有输入一个有效的IOS版本吧。
因为Cisco IOS软件版本可以包含许多不同的字符,所以我使用有效的字符IOS版本字符串又试了一次,我在“15.1”后面加了很多”A”。然后我惊讶地发现”AAAAAA”成功注入目标页面!
有趣的是,我觉得有必要深入看看。HTML源代码注入点被发现——输入框onclick属性。
现在我需要弄清楚我能用什么字符。
注意双引号和圆括号。现在我找到了我们需要的。这些可以注入输入字段。
输入尝试
***步就是避免input我更喜欢用标签。onclick=”…” 属性。使用简单的双引号,添加恶意字符串。我有能力使用它elements 集合添加input标签中。
这是input标签,提交“15.1” INJECTION_STUFF_HERE 到表单后的情况:
现在我***一个想法就是将input类型改为图片形式,可能会有意想不到的发现。
Perfect!现在可以肯定的是,我可以执行Javascript了!
接下来,我将onload=””属性添加到input标签,然后很容易在目标页面上执行alert(1)弹出窗口。也就是说,一个XSS漏洞被我发现了。
以下是我简单制作的动画挖洞过程
http://static.freebuf.com/2015/01/6.gif
http://static.freebuf.com/2015/01/7.gif
结语
在测试漏洞时,Cisco工程师很快拦截了相关信息,修复了安全漏洞。
这件事告诉我们:不要绝对相信用户的输入,不要弥补东墙忘记西墙,但忽略了最基本的安全漏洞。