推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

XSS(跨站脚本攻击)小结(转)

   日期:2024-10-31     作者:caijiyuan    caijiyuan   评论:0    移动:http://keant.xrbh.cn/news/10099.html
核心提示:靶机地址:https://xss-quiz.int21h.jp/ 设置独一无二字符串提交,在响应中查找。onmouseover 属性在鼠标指针移动到

靶机地址:https://xss-quiz.int21h.jp/
在这里插入图片描述

XSS(跨站脚本攻击)小结(转)

设置独一无二字符串提交,在响应中查找。

onmouseover 属性在鼠标指针移动到元素上时触发。
注释:onmouseover 属性不适用以下元素

例如: 其中111为用户输入,input标签、value属性
1闭合属性,闭合标签,引入script脚本或者svg标签。例如

2闭合属性,引入事件,闭合标签。例如

例如: 其中1111为用户输入
闭合文本标签,引入script脚本。例如

隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。

代码格式:包含在表单当中,且格式

使用burpsuite抓包可查看到表单提交上关于隐藏域的名称和值
HTML中svg介绍:svg意为可缩放矢量图形,svg使用XML格式定义图像。svg文件可通过以下标签嵌入HTML文档中

闭合

1)标签。闭合属性,闭合标签,引入svg标签
(在script被过滤或<>被转义时)

2)闭合属性,闭合标签引入script脚本

例如

1)触发XSS,引入属性,输入
111 οnclick=alert(document.domain);

javascript伪协议介绍:将javascript代码添加到客户端的方法时把它放置在伪协议说明符javascript:后的URL中。这个特殊的协议类型声明了URL的主体是任意的javascript代码,它
如果javascript:URL中的javascript代码含多个语句,必须使用分号将这些语句分隔开。

javascript URL还可以含有只执行操作,但不返回值的javascript语句。

a链接标签属性href介绍:

构造payload触发XSS

绕过思考
1、寻找过滤内容
输入 在页面元素中发现 ,过滤掉了domain
2、思考绕过策略:双写绕过和编码绕过
双写绕过:payload :

编码绕过
payload

其中是将base64加密后的数据转换为字符串

绕过思考
1、寻找过滤内容
2、思考绕过策略
伪协议绕过:payload

空格绕过:payload

基本XSS利用:HTML事件触发XSS、闭合input标签,利用外部标签触发XSS
当过滤时,可利用IE浏览器的特性,IE中两个反引号可以关闭左边一个双引号
payload: `` οnmοuseοver=alert(document.domain)

基本XSS利用:HTML事件触发XSS、闭合input标签,利用外部标签触发XSS
基本XSS利用无法生效时,可考虑此方法。
CSS特性讲解
background:url(“javascript:alert(document.domain);”); 设置背景颜色
设置background:url,利用javascript伪协议执行js。目前IE浏览器支持,其他浏览器已不再支持。
payload:

CSS介绍:层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准的通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态的修饰网页,还可以配合
各种脚本语言动态地对网页各元素进行格式化。
CSS中执行js
css expression(css表达式)又称Dynamic properties(动态属性)是早期微软DHTML的产物,以其可以在CSS中定义表达式(公式)来达到建立元素间属性之间的联系等作用,从IE5开始得到
支持,后因标准、性能、安全性等问题,微软从IE8 Beta2标准模式开始,取消对css expression的支持
实际应用
早期很多开发人员利用css expression实现了许多效果,比如将元素相对鼠标指针进行定位,根据一个定时器来移动元素等等。当然这些效果能够使用js来实现。
虽然css表达式问题很多,但是我们依然能够在网站上看到它的影子,甚至在一些成熟的商业网站上。最常见的一个应用就是悬浮在页面上的某个模块(比如导航、返回顶部

注释绕过关键字过滤

CSS中的注释
绕过对关键字expression的过滤
payload触发XSS

16进制介绍:十六进制转换有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 16个大小不同的数,即逢16进1,其中用A、B、C、D、E、F(字母不区分大小写)这六个字母分别来表示10、11、12、13、14、15.
使用python将字符转换为16进制类型

双斜杠+16进制绕过
输出点<>被转义后构造的双斜杠+16进制绕过的payload:

unicode介绍:unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。unicode是为了解决传统的字符编码方案的局限而产生的。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
使用Python将字符转换为unicode类型

输出点<>被转义后构造的双斜杠+unicode编码绕过的payload

xsser是一款用于针对Web应用程序自动化挖掘、利用、报告xss漏洞的框架。

本文地址:http://lianchengexpo.xrbh.cn/news/10099.html    迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多
 
标签: 跨站 脚本 攻击
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号