这不是一篇介绍介绍技术的文章,只是一种开放思维的尝试。主要着重于当遇到输入过滤的情况下,如何找到可以利用的输入点。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYmhTO2YzMyUGNmVjZzITYwMDO0AzYlBzM5UzYzUmZz8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
user agent 字段
不仅仅是useragent字段,还包括头部的其他字段。比如把useragent改成
`"<script>window.location = "http://www.freebuf.com/"</script>"
很多日志分析工具都是生成html格式的报告,如果这个字段没有合适的过滤编码就输出在html里,管理员查看的时候就会执行插入的js了。Splunk就曾经出过因为对referer字段没有过滤导致的xss漏洞。
SSIDs
这只是一个假想的攻击方式,SSIDs可以有32个字符甚至可以包含不能打印的ASCII,SSID可能出现在某些记录wifi连接记录的日志里。
事件日志
很多人分析日志都会用第三方的日志查看工具。如果我们用
<script>alert("XSS");</script>
作为用户名尝试登陆,登陆失败后会记录在日志中。第三方工具如果没有合适的过滤编码字符串,管理员查看工具生成的html格式的报告时就可能受到xss攻击。
计算机名和描述
这个场景我在Softperfect’s NetScan实践过。在这里插入xss代码,当渗透测试人员查看扫描报告的时候。。。。。
应用的名字和元数据
一些管理软件会列出来电脑上安装的软件信息,如果是用html来实现。。。
Banners
大多网络扫描器都可以识别banner,而且可以输出多种格式,html,xml等。