博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
说说什么是 XSS
阅读量:6806 次
发布时间:2019-06-26

本文共 1204 字,大约阅读时间需要 4 分钟。

XSS 指的是:黑客通过 “HTML 注入 ” 篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击 。

举个例子,我们把 URL 中的参数,直接写入页面:

window.onload=function () {	var args = getQueryStringArgs();	var param = args["param"];	document.write(param)}复制代码
  • getQueryStringArgs() 函数会获取 URL 请求中的查询字符串。具体实现请。
  • write() 方法会向文档中写入 HTML 表达式或 JavaScript 代码。

正常 URL 请求:http://localhost:63342/xss.html?param=123

效果:

带 XSS 攻击的 URL 请求:http://localhost:63342/xss.html?param=<script>alert(/xssAttack/)</script>

XSS 攻击效果:

源代码:

参数中的脚本,被写入页面,并执行。这就是 XSS 攻击。

1 反射型 XSS

反射型 XSS 只是将用户输入的数据发送给浏览器。即黑客需要诱使用户点击一个恶意链接或按钮,才能攻击成功。这种反射型 XSS 也叫做非持久型 XSS(No-persistent XSS) 。

上述的示例,就是典型的反射型 XSS。

2 存储型 XSS

存储型 XSS 会把用户输入的数据保存在服务器端,所以具有很高的稳定性。存储型 XSS 也叫做 持久型 XSS(Persistent XSS)。

3 DOM Based XSS

DOM Based XSS 指的是:通过修改页面 DOM 节点形成的 XSS。从效果上来说,DOM Based XSS 也是一种反射型的 XSS。因为形成原因特别,所以单独分类。

复制代码

点击“确定”按钮之后,会在页面写入一个 <a> 标签,标签的 URL 是用户输入的内容。

我们在输入框中键入攻击表达式:

'onclick=alert(/xssAttack/)//

XSS 攻击效果:

攻击表达式中的第一个单引号,闭合掉 href 的第一个单引号,然后插入 onclick 事件,最后再用注释符 // 注释掉代码中的第二个单引号。

修改攻击表达式,还可以直接开始攻击:

'><img src=# onerror=alert(/xssAttack2/) /><'

XSS 攻击效果:

这里首先闭合掉 <a> 标签,然后插入一个 <img> 标签。这里利用了 <img> 标签的 onerror 事件。因为如果在图像加载的过程中发生了错误,就会触发 onerror 事件 。

转载于:https://juejin.im/post/5ca82b8551882543dc781926

你可能感兴趣的文章
关于软考的一些事,你知道吗?
查看>>
ERP系统“数字排产”功能,实现企业高效排产
查看>>
Linux基础命令
查看>>
七天学会NodeJS
查看>>
配置防盗链 访问控制Directory 访问控制FilesMatch
查看>>
Docker tomcat 多版本环境搭建
查看>>
常用方法总结--文件操作篇
查看>>
盘点遥测终端RTU怎么分类?
查看>>
find 命令查找-o参数的理解
查看>>
FTP开发与应用
查看>>
从内部自用到对外服务,配置管理的演进和设计优化实践
查看>>
克隆虚拟主机后的主机如何联网!!!!
查看>>
我是怎么把一个项目带崩的
查看>>
CentOS 6.5 shell中su切换自动输入密码
查看>>
部署单台zookeeper
查看>>
我的友情链接
查看>>
linux kdump crash
查看>>
awk双文件互相匹配查找
查看>>
LimeSurvey
查看>>
Python学习笔记1—Python字符串
查看>>