【产品技术】XSS攻击类型简介(攻击篇)

举报
懒宅君 发表于 2020/06/27 14:53:43 2020/06/27
【摘要】 XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。(引用自百度百科)跨站顾名思义就是越过单一站点封锁往访问多个站点。举个栗子,我们原本只访问A网站,现我们的访问被黑客劫持到B网站上去了。敲黑板,关键词如下:· 攻击者:黑客· 受害者:...

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。(引用自百度百科)

跨站顾名思义就是越过单一站点封锁往访问多个站点。举个栗子,我们原本只访问A网站,现我们的访问被黑客劫持到B网站上去了。

敲黑板,关键词如下:

·       攻击者:黑客

·       受害者:目标网站的目标用户的浏览器

·       攻击方法:脚本

XSS跨站攻击就是在网页里面埋入恶源代码劫持用户的信息投递到预设的网站上去的一种黑客攻击手段。

首先,根据效果的不同,主要划分为以下几类:

l  反射型XSS

l  存储型XSS

l  DOM Based XSS

反射型

发出请求时,XSS代码出现在URL中,作为输入提交到服务器,服务器解释后相应,在响应内容中出现这段XSS代码,最后由浏览器解释执行!

栗子:
http://www.foo.com/xss/1.php的代码如下:

<?php

echo $_GET['x'];

?>

输入的x的值未经过任何过滤直接输出,一种触发XSS的一种方式如下:
http://www.foo.com/xss/1.php?x=<script>alert(1)</script>
服务器解析时,echo就会完整的输出<script>alert(1)</script>到响应体中,然后浏览器解析执行触发!!

存储型

存储型XSS和反射型XSS的区别:
提交的XSS代码会存储在服务器上,下次请求目标页面的时候不需要再次提交XSS代码!!
存储的位置可以是数据库、内存、文件系统等。

典型的例子就是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容就会从数据库查询出来并显示,在浏览器上与正常的HTMLJS解析执行,触发XSS攻击!!

DOM

DOMXSS和存储型、反射型XSS的区别:
DOM
XSS代码不需要服务器解释响应的直接参与,触发XSS只需要浏览器的DOM解析,完全是客户端的问题!!

栗子:
http://www.foo.com/xss.html的代码如下:

<script>

eval(location.hash.substr(1));

</script>

触发XSS的一种方式如下:
http://www.foo.com/xss.html#alert(1)
这个URL显然不会发送到服务端,仅仅是在客户端被接收并解析执行!!

常见的输入点:
document.URL
document.URLUnencoded
document.location
document.referrer
window.location
window.name
document.cookie
表单的值

常见的输出点:

1.常见输出HTMl内容
document.write(...)
document.body.innerHtml= ...

2.直接修改DOM
document.create(...)
document.forms[0].action=...
document.body. ...
window.attachEvent(...)

3.替换document URL
document.location= ...
document.location.hostname= ...
document.location.replace(...)
document.URL= ...
window.navigate(...)

4.打开或修改新窗口
document.open(...)
window.open(...)
window.location.href= ...

5.直接执行脚本
eval(...)
window.execScript(...)
window.setInterval(...)
window.setTimeout(...)

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。