一、原理
XSS-跨站脚本攻击,依靠一切可能的手段,将浏览器中可以执行的JS代码植入到Web界面中去,从而对客户产生攻击,该漏洞经常出现在需要用户输入的地方,这些地方一旦对输入的内容不进行处理,攻击者就可以进行HTML注入,进而篡改网页。
二、产生条件
1.可控变量
2.变量被输出
3.没有过滤或者过滤不严谨
三、分类
反射型XSS: 非持久化,一般需要用户手动点进去攻击者伪造好的连接才能触发代码
存储型XSS:持久性,攻击者的XSS语句存储在服务数据库,当有受害者访问这个网页都会触发代码,一般在留言板,评论区页面经常出现。
DOM型XSS:DOM型xss与上面两种最大的区别就是,dom型xss漏洞是基于文档对象模型(Document Objeet Model,DOM)的,它不需要经过后端,它是在浏览器解析渲染服务器源码的时候产生的,所以我们在抓包的过程中是看不到dom型xss有关的内容的。
四、以pikachu靶场环境示例
1.反射性XSS:在没有过滤的情况下使用在提交参数中插入XSS语句,页面会出现一个弹窗,并且再次访问该页面时网站不会出现弹窗。
2.存储型XSS:代码会存储在数据库中,访问该网页会一直触发XSS代码。
3.DOM型XSS:可以看到我们输入的参数使用burp抓包没有抓到,说明DOM型XSS,只在前端产生。
五、推荐工具:
这里就不介绍有哪些XSS语句了,直接奉上XSS爆破神器 XSStrike,可有效的过WAF和规则拦截。
下载地址:https://github.com/s0md3v/XSStrike
1.测试一个使用GET方法的网页
python3 xsstrike.py -u "http://example.com/search.php?q=query
2.测试POST数据
python3 xsstrike.py -u "http://example.com/search.php" --data "q=query"
python3 xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json'
3.测试URL路径
python3 xsstrike.py -u "http://example.com/search/form/query" --path
4.从目标网页开始搜寻目标并进行测试
python3 xsstrike.py -u "http://example.com/page.php" --crawl
指定爬网的深度,默认2, -l
python3 xsstrike.py -u "http://example.com/page.php" --crawl -l 3
5.如果要测试文件中的URL,或者只是想添加种子进行爬网,则可以使用该--seeds选项
python xsstrike.py --seeds urls.txt
6.查找隐藏的参数,通过解析HTML和暴力破解来查找隐藏的参数
python3 xsstrike.py -u "http://example.com/page.php" --params
7.盲XSS,爬行中使用此参数可向每个html表单里面的每个变量插入xss代码
python3 xsstrike.py -u http://example.com/page.php?q=query --crawl --blind
8.模糊测试--fuzzer,该模糊器旨在测试过滤器和Web应用程序防火墙,可使用-d选项将延迟设置为1秒。
python3 xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
9.跳过DOM扫描,在爬网时可跳过DOM XSS扫描,以节省时间
python3 xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
10.更新如果跟上--updata选项,XSStrike将检查更新。如果有更新的版本可用,XSStrike将下载更新并将其合并到当前目录中,而不会覆盖其他文件。
python3 xsstrike.py --update
六、危害:
(1)窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
(2)窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。
(3)网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。
(4)发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用。
七、防御方法:
对输入的特殊字符进行过滤、转义,对输出的数据进行编码。
XSS漏洞主要是获取用户cookie,设置httponly可以有效方法cookie,攻击者利用XSS漏洞盗取cookie。
作者:西瓜,转载于:https://www.xffbk.cn
END
点击上方,关注公众号
如文章对你有帮助,请支持点下“赞”“在看”
本文始发于微信公众号(HACK之道):XSS漏洞以及工具简单介绍
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论