如何挖掘xss漏洞
首先要知道XSS漏洞究竟是什么,什么原理。
XSS漏洞原理
XSS 通过将精心构造的代码(Java Script)注入到网页中,并由浏览器解释运行这段 JS 代码,以达到恶意攻击的效果。
即:js代码可控
XSS的定义
服务器将用户的输入,原样返回了。在输入里加入了特殊的标签,在返回时这些特殊的标签在浏览器里就不特殊了,会被当成js代码来执行。
如何挖掘XSS
看见搜索框、登录框、留言板、聊天室等等收集用户输入的地方就直接script一下吗?
可以,但是如果有waf直接把你拉黑了。上来就告诉对面你好,我是来攻击你们的。
那么怎样才能不触发对方安全措施,waf的前提下,达到验证的目的呢?
还是那句话:首先要知道XSS漏洞究竟是什么,什么原理。
找到一个靶场:
/pikachu/vul/xss/xss_reflected_get.php
随便输入一串乱七八糟的字符
右键查看页面源代码,在源代码内搜索这串字符:
服务器已经把我输入的内容原样返回了
如果通关过XSS靶场,相信你其实也是一脸懵的,比如我为什么这么做?我怎么加那个标签他就弹出了呢?
以xsschallenge
靶场第二关为例,答案为"><script>alert(/xss/);</script>
以value的值去闭合这个标签,这么写的原因是因为XSS本身就是把我们写的东西原样返回了。
以xsschallenge
靶场第三关为例
输入的尖角号与双引号不能直接原样返回,先进行一次实体编码。
如果是在你输入了这么一串字符,却找不到这串字符,服务器进行了实体编码也好,别的操作也好我们的字符始终没有返回,这种情况下XSS就无法应用。