安全测试-XSS攻击
一 XSS攻击概念
跨站脚本攻击(Cross Site Scripting)缩写XSS,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。
攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖XSS蠕虫,甚至破坏网站、修改路由器配置信息等。
XSS漏洞可以追溯到上世纪90年代。大量的网站曾遭受XSS漏洞攻击或被发现此类漏洞,如Twitter、Facebook、MySpace、Orkut、新浪微博和百度贴吧。研究表明,最近几年XSS已经超过缓冲区溢出成为最流行的攻击方式,有68%的网站可能遭受此类攻击。根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。
XSS从攻击代码的工作方式可以分为三个类型:
持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。
非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。
DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。
二 XSS语句
三种触发JS:标签风格【JS代码】
【判断是否进行某一个操作】
【用于输入文本内容】
前端常用的弹窗函数
伪协议: 123
Javascript实际上是一个伪协议,引导用户访问,类似于超链接
事件【较常见】:
满足条件,则触发事件;onxxxxx就是事件,加载错误会触发onerror事件,加载成功触发onload事件,oninput 事件在用户输入时触发 ,JS所有事件
三XSStrike工具
简介
XSStrike是一款检测Cross Site Scripting的高级检测工具。它集成了payload生成器、爬虫和模糊引擎功能。XSStrike不是像其他工具那样注入有效负载并检查其工作,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效负载。除此之外,XSStrike还具有爬行,模糊测试,参数发现,WAF检测功能。它还会扫描DOM XSS漏洞。
安装教程:https://www.cnblogs.com/ruoli-s/p/14332266.html
四 XSStrike工具测试方法
测试GET传参的网页:
#示例
python3 xsstrike.py -u "URL"
#举例:
python3 xsstrike.py -u "http://192.168.26.138/xss.php?payload=1" 测试POST数据:
#示例
python3 xsstrike.py -u "URL" --data 'request peloay'
#举例:
python3 xsstrike.py -u "http://example.com/search.php" --data "q=quey"
python3 xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json' 测试URL路径:
python3 xsstrike.py -u "http://example.com/search/form/query" --path 从目标网页开始搜寻目标并进行测试
python3 xsstrike.py -u "http://example.com/page.php" --crawl
#可以使用-l指定爬网的深度,默认2:-l
python3 xsstrike.py -u "http://example.com/page.php" --crawl -l 3 如果要测试文件中的URL,或者只是想添加种子进行爬网,则可以使用该--seeds选项:
python xsstrike.py --seeds urls.txt 查找隐藏的参数:通过解析HTML和暴力破解来查找隐藏的参数
python3 xsstrike.py -u "http://example.com/page.php" --params 盲打XSS:爬行中使用此参数可向每个html表单里面的每个变量插入xss代码
python3 xsstrike.py -u http://example.com/page.php?q=query --crawl --blind 模糊测试 --fuzzer
该模糊器旨在测试过滤器和Web应用程序防火墙,可使用-d选项将延迟设置为1秒。
python3 xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer 跳过DOM扫描
在爬网时可跳过DOM XSS扫描,以节省时间
python3 xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
