![c9ee7277421d5e10f1c4b49e72471a89.png](https://i-blog.csdnimg.cn/blog_migrate/a4f2f97b57b8940016102c90e27867e2.png)
0x00 Show Time
最近斗哥在挖XSS漏洞,然后斗哥找到这样一个网站(为了保护隐私,斗哥将其命名为website.com),在该网站的/admin目录下有一个管理员表单登录页面(website.com/admin的管理员登录页面):
![f5dc7e802825e0c34ef8406bda198828.png](https://i-blog.csdnimg.cn/blog_migrate/e113bccb4d858446d20818b00088d0b0.png)
按照常规的手法,本能地输入一个任意的账户密码,看看会收到什么样的响应:
/admin/index.php?msg=Invalid Email and Password
然后斗哥被重定向到如上所示的URL,很明显这是一个显示错误消息的提示,
其中
?msg=
的值即页面中所显示的错误消息的提示,nice,因为任何msg的值都可能会显示在网站上,于是斗哥尝试输入
website.com/admin/index.php?msg=Hello World
,然后发现得到如下页面:
![b9b445eb194a7b5473a422da453f0ed0.png](https://i-blog.csdnimg.cn/blog_migrate/6ec04f608f22a796285040f8017b5d48.png)
很好,现在可以得到结论,斗哥输入的内容会在红色字体处显示(此处建议回忆一下XSS漏洞的原理)。
那如果注入HTML标签会怎么样?
?msg=
Hello World
![a88269ef056e730a6d1392a256dd7787.png](https://i-blog.csdnimg.cn/blog_migrate/a20e322fca35f22bab056cc5105bfbc9.png)
从截图上来看,斗哥成功的注入HTML代码,那么,是时候添加一些javascript代码了:
于是斗哥通过fuzz的方式尝试了近50多种基本的xss payload(辛辛苦苦攒的payload),希望能弹出XSS:
?msg=
?msg=![]()
?msg=
?msg=
斗哥几乎测试了所有类型的XSS payload,但它们全部都被服务器拦截,似乎背后有一个WAF:
![642febd08b08f491432a7ecee16f7e06.png](https://i-blog.csdnimg.cn/blog_migrate/6b0c6bac8822001459aa54f1ecdd7a59.png)
通过输入了50多个XSS payload,于是斗哥得出了WAF到底过滤哪些字段的结论:
每一个带有