5

安全攻防-02 如何挖掘XSS的漏洞 检测与防御

 2 years ago
source link: http://www.mrliangqi.com/1750.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

安全攻防-02 如何挖掘XSS的漏洞 检测与防御

前言:XSS漏洞挖掘分为:黑盒测试和白盒测试
黑盒:不断去用构造字符串来验证漏洞.白盒:分析源代码检测XSS漏洞.语法,词法,污点分析来检测漏洞

<!–more–>

一.黑盒测试
1.人工测试,在一切可以输入的地方输入“XSS payload”测试用例,提交之后,查看网站是否解析了输入的XSS payload
思路: 日常搜集XSS cheat sheet,标号之后,一一去测试,如果无效,再让输入特殊字符看过滤情况,根据页面返回值在做调整.
2.自动化工具 XSSTRIKE
DOM XSS扫描,基于正则扫描敏感函数,存在一定误判,WAF检测绕过,爬虫,HTML&JS动态解析引擎验证
工具git地址 :https://github.com/s0md3v/XSStrike
xss检测工具2: noxss结合使用
https://github.com/lwzSoviet/NoXss
DOM XSS主要是对代码分析,正则匹配,暴力枚举,
可以使用:
1)headless chrome无界面浏览器进行检测
2.)QTwebkit
3.)PhantomJS
DOMinator:在输入输出函数加HOOK 发现有用户可控数据输出到SINK漏洞就会触发警告,发现率高
二.白盒测试
污点分析原理:检测用户输入数据,去追踪传播过程,检测是否传递给危险输出函数,对XSS就是控制页面内容或者执行JS输出函数有ECHO EVAL等
污染源->检测过滤->敏感函数->漏洞告警
PHP代码审计:
$_GET $_POST $_COOKIE $_FILES 文件上传变量 $_SERVER 服务器环境 路径 $_REQUEST 包含GET POST COOKIE

XSS基本防御:
1)白名单限制/黑名单
2)把常用的XSS payload的字符串加进去检测
3)开启Httponly在一定程度上可以方式JS窃取COOKIE

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK