★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
1、XSS跨站脚本攻击原理
XSS全称Cross Site Script,跨站脚本攻击。指攻击者利用网站程序对用户输入过滤不足,通过在用户端注入恶意的可执行脚本,浏览器直接执行用户注入的脚本。恶意脚本可以执行多种操作,包括窃取用户的会话令牌、Cookie、输入的敏感信息,或者将用户重定向到其他恶意网站。
XSS漏洞可分为3类:反射型(非持续型)、存储型(持续型) 和DOM型。反射型与存储型的区别是前者是一次性,危害等级不高,后者是多次性,危害等级高。
本文要讲到的XSS另类攻击:监控Cookie,和下期的表单劫持,都是基于存储型。
(图片来源于网络)
XSS更详细介绍请参阅《Web漏洞-XSS理论和靶场小试牛刀(一)》
2、XSS数据接收平台
我们通过XSS攻击获取到用户的Cookie和表单劫持得到的信息,需要有一个地方存储起来,XSS获取到的数据存储起来的好处是避免被发觉,方便进一步使用或后续渗透测试。因为如果直接alert()方式网站管理员很快就会发现并清除掉。
XSS数据接收平台有两种,一种是自己搭建服务来接收,开源的有BlueLotus_XSSReceiver蓝莲花,另一种是使用在线平台,本文示例基于在线平台。
本文实验环境请参考:《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》
2.1、XSS在线平台
XSS在线平台推荐使用:https://xssaq.com ,使用很简单,使用前先注册下账号。使用说明如下:
①在左上方->我的项目->创建,添加一个项目,项目名称/描述按实际填写即可。
②点下一步配置代码,选择实际需要模块(网站有说明不勾选多个),再点下一步就完成了。到使用说明页,copy需要的XSS植入代码到目标输入框进行提交。
③如果要修改配置模块选项,选中对应项目,在右上方点开配置,进行变更即可。再一次获取需要XSS植入代码,点查看代码到对应页面获取。
3、监控Cookie
利用在线平台接收数据监控Cookie等凭据实现权限维持。
3.1、XSS在线平台配置
监控Cookie选择【基础默认模块】,可点开看说明,要获取更多信息可配合【超强默认模块】共同使用。
配置完后,获取植入代码。
3.2、靶场实验
访问 pikachu靶场存储型XSS页面,把获取到的植入代码放入到留言框然后提交。
再次访问该页面,不管是否留言,在XSS在线平台就可以看到数据了。
数据唯一性说明:日期+浏览器请求头相关信息。也就是说,如果使用chrome浏览器,在一天内数据一直不变,除非手动删除后,用户有再次访问才有新数据。
如果是换其他浏览器又会新增一条数据,如果是使用无痕或隐私模式访问,每新打开一个窗口就是一条新记录。
3.2.1、权限维持模拟
利用XSS在线平台监控Cookie等凭据实现权限维持,从上面步骤已获取cookie数据、在目标网站上就可以手动修改自己本地的cookie。
访问目标网站,按F12,在应用->存储->Cookie替换在线平台收到的cookie值
由于cookie有时效性,过期了就无法使用,而且如果存在同源策略或防护情况下,cookie获取会失败,可采用表单劫持实现。
4、内容预告
XSS另类攻击系列大概会有3~4篇,其中包括BlueLotus_XSSReceiver蓝莲花部署使用,下期会先发布表单劫持实现。
6、我的公众号
敬请关注我的公众号:大象只为你,持续更新网安相关知识中…