三种xss攻击

如何做一次xss攻击

xss攻击是攻击者向某个网页注入恶意代码。那么如何向一个网页注入代码?

  1. 表单,我们在浏览器中输入的内容会被当做浏览器url的查询参数
  2. url,可以在url直接设定参数
  3. 使用js伪协议,参考:https://www.jb51.net/article/52358.htm

特别是最后一种伪协议,很多人都没用过。

xss攻击分类有多形式,我先按照dom和非dom模式进行区分。

非dom模式

在非dom模式中,注入的恶意代码都会被发往服务器,服务器对于这段恶意代码会有不同的处理。

1.假设发送过来的数据(内部其实是恶意代码)是评论这类所有用户都可见的内容的话,这个数据要保存在数据库中。以后所有的用户如果需要访问这条评论的话都会执行这段恶意代码

这类xss攻击称为存储型xss攻击

2.假设发过来的数据仅仅是经由服务端做简单的处理之后返回给客户端的话,客户端会执行这段恶意代码。这类攻击称为反射型xss攻击

基于DOM的xss攻击

dom这个多层次的文档对象模型就不需要过多的介绍。

这种攻击方式不会将恶意代码发送到服务器,仅仅是将你的恶意代码在前端执行,很多人疑惑这段代码是怎么执行的,使用的就是伪协议。

<a href="javascript:alert('aa')">hello</a>

可以将这段代码放置在HTML进行尝试下,点击之后就会提示警告

当然还有其他方式,比如在 style 属性和标签中,包含类似 background-image:url(“javascript:…”); 的代码(新版本浏览器已经可以防范)。

防范

可以看到三种攻击方式的本质就是两点:
1.攻击者提交恶意代码到服务器
2.浏览器本地执行恶意代码

美团前端团队的文章讲述的很好了

如何防范xss攻击

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值