设计每日一贴专注优秀UI设计与软件开发

跨站脚本攻击(CrossSiteScript),本来缩写是CSS,但是为了和层叠样式表(CascadingStyleSheet,CSS)有所区分,所以安全领域叫做“XSS”;

XSS攻击,通常是指攻击者通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,对用户的浏览器进行控制或者获取用户的敏感信息(Cookie,SessionID等)的一种攻击方式。

页面被注入了恶意JavaScript脚本,浏览器无法判断区分这些脚本是被恶意注入的,还是正常的页面内容,所以恶意注入Javascript脚本也拥有了所有的脚本权限。如果页面被注入了恶意JavaScript脚本,它可以做哪些事情呢?

可以窃取cookie信息。恶意JavaScript可以通过”doccument.cookie“获取cookie信息,然后通过XMLHttpRequest或者Fetch加上CORS功能将数据发送给恶意服务器;恶意服务器拿到用户的cookie信息之后,就可以在其他电脑上模拟用户的登陆,然后进行转账操作。

可以监听用户行为。恶意JavaScript可以使用"addEventListener"接口来监听键盘事件,比如可以获取用户输入的银行卡等信息,又可以做很多违法的事情。

可以修改DOM伪造假的登陆窗口,用来欺骗用户输入用户名和密码等信息。

XSS攻击可以分为三类:反射型,存储型,基于DOM型(DOMbasedXSS)

反射型

恶意脚本作为网络请求的一部分。

constKoa=require("koa");

constapp=newKoa();

app.use(asyncctx=>{

//ctx.body即服务端响应的数据

ctx.body='';

})

app.listen(3000,()=>{

console.log('启动成功');

});

反射型XSS1

举一个常见的场景,我们通过页面的url的一个参数来控制页面的展示内容,比如我们把上面的一部分代码改成下面这样

ctx.body=ctx.query.userName;

反射型XSS2

通过这个操作,我们会发现用户将一段含有恶意代码的请求提交给服务器,服务器在接收到请求时,又将恶意代码反射给浏览器端,这就是反射型XSS攻击。另外一点需要注意的是,Web服务器不会存储反射型XSS攻击的恶意脚本,这是和存储型XSS攻击不同的地方。

存储型

存储型会把用户输入的数据“存储”在服务器。

存储型攻击大致需要经历以下几个步骤

首先攻击者利用站点漏洞将一段恶意JavaScript代码提交到网站数据库中

然后用户向网站请求包含了恶意JavaScript脚本的页面

当用户浏览该页面的时候,恶意脚本就会将用户的cookie信息等数据上传到服务器

存储型XSS

举一个简单的例子,一个登陆页面,点击登陆的时候,把数据存储在后端,登陆完成之后跳转到首页,首页请求一个接口将当前的用户名显示到页面

客户端代码

XSS-demo


登陆

服务端代码

constroute=require('koa-route');

varbodyParser=require('koa-bodyparser');

constcors=require('@koa/cors');

//临时用一个变量来存储,实际应该存在数据库中

letcurrentUserName='';

app.use(bodyParser());//处理post请求的参数

constlogin=ctx=>{

constreq=ctx.request.body;

constuserName=req.userName;

currentUserName=userName;

ctx.response.body={

msg:'登陆成功'

};

consthome=ctx=>{

ctx.body=currentUserName;

app.use(cors());

app.use(route.post('/login',login));

app.use(route.get('/home',home));

app.listen(3200,()=>{

点击登陆将输入信息提交大服务端,服务端使用变量currentUserName来存储当前的输入内容,登陆成功后,跳转到首页,服务端会返回当前的用户名。如果用户输入了恶意脚本内容,则恶意脚本就会在浏览器端执行。

在用户名的输入框输入,执行结果如下

基于DOM(DOMbasedXSS)

通过恶意脚本修改页面的DOM节点,是发生在前端的攻击

基于DOM攻击大致需要经历以下几个步骤

攻击者构造出特殊的URL,其中包含恶意代码

用户打开带有恶意代码的URL

用户浏览器接受到响应后执行解析,前端JavaScript取出URL中的恶意代码并执行

恶意代码窃取用户数据并发送到攻击者的网站,冒充用户行为,调用目标网站接口执行攻击者指定的操作。

举个例子:

提交

varcontent=document.querySelector('.content');

varurl=document.querySelector('.url').value;

点击提交按钮,会在当前页面插入一个超链接,其地址为文本框的内容。

在输入框输入如下内容

''onclick=alert('哈哈,你被攻击了')

执行结果如下

基于DOM型XSS

上面的代码是通过执行执行alert来演示的攻击类型,同样你可以把上面的脚本代码修改为任何你想执行的代码,比如获取用户的cookie等信息,,同样也是可以的.

防御XSS

HttpOnly

由于很多XSS攻击都是来盗用Cookie的,因此可以通过使用HttpOnly属性来防止直接通过document.cookie来获取cookie。

一个Cookie的使用过程如下

浏览器向服务器发起请求,这时候没有Cookie

服务器返回时设置Set-Cookie头,向客户端浏览器写入Cookie

在该Cookie到期前,浏览器访问该域下的所有页面,都将发送该Cookie

HttpOnly是在Set-Cookie时标记的:

通常服务器可以将某些Cookie设置为HttpOnly标志,HttpOnly是服务器通过HTTP响应头来设置的。

//简单设置一个cookie

ctx.cookies.set(

'cid',

'helloworld',

{

domain:'localhost',//写cookie所在的域名

path:'/home',//写cookie所在的路径

maxAge:10*60*1000,//cookie有效时长

overwrite:false//是否允许重写

)

需要注意的一点是:HttpOnly并非阻止XSS攻击,而是能阻止XSS攻击后的Cookie劫持攻击。

输入和输出的检查

永远不要相信用户的输入。

输入检查一般是检查用户输入的数据是都包含一些特殊字符,如<、>,'及"等。如果发现特殊字符,则将这些字符过滤或编码。这种可以称为“XSSFilter”。

安全的编码函数

针对HTML代码的编码方式是HtmlEncode(是一种函数实现,将字符串转成HTMLEntrities)

&-->&

<--><

>-->>

"-->"

相应的,JavaScript的编码方式可以使用JavascriptEncode。

假如说用户输入了,我们要对用户输入的内容进行过滤(如果包含了

THE END
1.《直播文案写作》试题及答案共5套.docx《直播文案写作》试卷及答案试卷1 班级: 姓名: 座号: 评分:一、判断题(每题2分,共20分) TOC \o 1-5 \h \z .直播营销对场地、物料等需求较多。() .主播吐槽产品从另一方面看使得产品更加真实,更增强用户的信任度。().不同的人写出来的文案会产生不同的效果主要原因归结于文采与天赋。() .直播文案...https://m.book118.com/html/2022/0903/8044100061004134.shtm
2.抖音商城内容运营说明书最好封面是真人出镜,加强吸引力和信任感 标题/文案 突出用户核心关注的信息:肤色/肤质/品牌/色号/场景/年龄/注意事项等,与封面/内容相关性强 内容 画面清晰明亮稳定、声音清晰稳定、场景干净整洁、人物大方端庄、商品细节到位、构图和谐、与封面/标题相关性强、注意时长(视频建议30s~1.5min,图文建议3张图以上,...https://school.jinritemai.com/doudian/web/article/aHUMfaQvvoR5
1.主人记录宠物狗的文案怎么写?在养宠物的过程中,很多宠物主人会选择记录下自己与宠物狗之间的点滴,既是为了回忆,也是为了和朋友分享这份快乐。但是,写下这些文字并不是一件轻松的事情,特别是在写文案时,如何将这些瞬间生动地呈现出来,让人产生共鸣呢?接下来,我们将探讨主人记录宠物狗的文案该如何写,以便更好地表达你的宠物狗的独特魅力和你们之...https://www.chongwugo.cn/65439.html
2....但它们眼中真正的我们是什么样的呢?今天,让我们从宠物的视角...今天,让我们从宠物的视角出发,探索它们心目中的“你”是什么样的存在吧! 1. 你是“美食魔法师” “每天早上,我都会在门口等着你醒来,因为你总能变出我最爱的早餐!每当我看到你去厨房,我就知道‘美味时刻’要来了!虽然有时候你会忘记加肉,但我还是觉得你是个了不起的美食魔法师!”——来自家...https://www.yoojia.com/article/4797146512698548333.html
3.龙哥风向标20230404GPT拆解temu可以在海外抖音上挂小黄车使用AI写作网站提供的文案生成工具,生成各种营销内容,如广告语、产品介绍、推广文案等。 对生成的文案进行人工审核和修改,确保文案质量和符合客户需求。 将修改后的文案分享到各种营销渠道,如企业官网、社交媒体平台等,或直接提供给客户使用。 与客户进行沟通,根据他们的需求进行定制化的文案创作服务,提供更加个性化的营销...https://blog.csdn.net/wizardforcel/article/details/135911703
4.医疗器械市场推广方案通用范文医疗器械推广策划书模板写好策划书,不仅可以让我们事半功倍,还可以让企业和个人获得更多的利润和利益,但是对于拟定策划书方案这个环节,很多人却深感头大,并不知道该如何下手,因此,小编今天就以疗器械市场推广方案通用范文和医疗器械推广策划书模板为主题,收集来了相关模板可供大家参考和借鉴。 https://www.puchedu.cn/ziyuan/19634.html
5.文案训练营七个说服力元素,让用户信任感暴涨划重点:先理清主要卖点,找到卖点后,再考虑如何证明。 2、说服力:用7个说服力元素,让用户信任感暴涨。 说服力元素:就是证明,去证明卖点,去说服客户。 案例:STELLA LUNA女鞋 7个说服力元素,按照感性和理性分类,分别打动人的新脑和间脑 理性:用权威,用数据,示范效果,用细节 ...https://www.jianshu.com/p/0a6564cefdbe
6.美食诱惑秘籍揭晓:打造让人垂涎三尺的吸引人文案攻略提升信任:利用用户评价和社交证明增强文案可信度 在美食文案中,社交证明和用户评价是增强可信度的有效工具。通过展示真实的顾客评价和用户反馈,可以大大增加潜在顾客对美食的信任感。顾客通常会更加相信其他消费者的真实体验,因此在文案中引用积极的用户评价,能够有效地提升美食的可信度和吸引力。 https://www.coffee.cn/xican/post/615643.html
7.新闻资讯好马配好鞍,好的产品需要好的包装设计来匹配和突显,客户信任感自然而然就增加了! 详细信息 2023.12.06 》宠物食品包装设计|西安品牌设计 我就是嫉妒羡慕,它怎么可以过的这么精致,这么滋润啊?有谁过的比它好?来举个手 详细信息 2023.12.05 》不容易啊!找到合适的品牌设计公司 找合适的品牌设计公司,难度跟...http://www.duanad.com/news
8.文案中描述细节可以增加信任度熟悉化嘲具象画面感一堆模糊不清、抽象的信息很难让用户建立清晰认知,更别提产生信任感。但细节丰富的描述,能帮助用户把内容具象化,产生画面感,更容易产生兴趣,被打动被卷入。 用很极简的文案打动人,很难写,需要对用户极强洞察,需要有不错的语感,而且这样的金句可遇不可求。 https://www.wlcbw.com/84373.html
9.揭秘抖音爆款视频背后的文案秘密,获取独家提取网址!在文案中巧妙地运用关键词可以引导观众进行互动,比如评论、点赞、分享等。你可以根据视频内容和观众的兴趣来设置关键词,以此来增加互动率。 四、增加信任感 除了情感共鸣和吸引人的创意外,增加信任感也是非常重要的。在文案中可以提到你的个人经历、专业知识或者对某个话题的见解,让观众对你产生信任感,从而愿意继续观...https://www.meixiaosan.com/article/show/26392.html
10.www.hardwarecity.com.cn/apfnews80084288.shtml无独有偶,浙江证监局也发布了《关于对温州银行股份有限公司采取责令改正措施的决定》。温州银行的问题也颇为相似,理由包括基金销售业务部门负责人、部分分支机构基金销售业务负责人、部分基金业务监察稽核岗人员、基金产品准入审核人员未取得基金从业资格等。 而恒润达生这17项发明专利,对应的便是公司核心技术平台:抗体...http://www.hardwarecity.com.cn/apfnews80084288.shtml
11.企业培训企业短视频运营策略制定与实施手册——手2因真人出镜更能增强账 号与粉丝间的粘性,增加粉丝的信任感,抖音中的头部账号大多都采用真人出镜的表现形式。 二 、如何确定账号的表现领域? 1. 主攻的表现领域要发挥自己的优势 别人做得好的,自己不一定能做得好。就像一些明星、红人、KOL类的账号和内容,点赞量、 粉丝量都非常高,但是自己没有那个形象和才艺,...https://doc.mbalib.com/view/e3ad13177d4c20d1507b245a30ed1bcf.html
12.手把手教学:如何在小红书上持续赚到钱?独孤伤如何联系达人? 除此之外,还有很多小技巧。 如何增加通过率: ● 可合作品牌要多写你要联系的达人感兴趣的类目; ● 发邮件和加微信时间要对,年轻的 KOL 晚上联系通过率高(白天忙工作,晚上才出来,有时候是深夜); ● 母婴 KOL 可以尝试早上(伺候熊孩子之前)。 https://www.shangyexinzhi.com/article/5054860.html
13.网站内容文案(通用11篇)图书详情页文案的写作目的是给出购买理由,让用户建立对产品的信任感并产生购买行为。好的文案创意往往来自文案写作者在学习和实践中逐渐积累起来的对图书产品、相关行业领域和图书市场的专业判断和思考,以及对互联网营销特性的了解和灵活运用。换句话说,文案写作其实不是看你怎么写的,而是看你怎么思考的。 https://www.360wenmi.com/f/file4z5ahfbq.html
14.养宠物的朋友圈说说文案在我们平凡的日常里,越来越多人钟情于在朋友圈发布文案,文案用以记录学习、生活中有意义,特别是有纪念意义的事情。那什么样的文案才具有启发意义呢?下面是小编收集整理的养宠物的朋友圈说说文案,仅供参考,欢迎大家阅读。 1、人都会有心情不好的时候,说不上来的失落,道不明白的难过,理不清楚的交错。 https://www.ruiwen.com/pengyouquan/7663819.html
15.flygondahanghai2023/docs/xhsyunying可以先通过这个工具生成文案,然后再添加、修改我们想要的内容即可,这样可以增加爆文笔记概率,节约很多时间,降低运营成本。 内容来源:《小红书如何”开源节流”运营变现》 选修篇:小红书的引流&变现 章节概要 当我们完成项目最小 MVP,完成小红书起号后,就可以尝试看看选修篇的内容,开启引流和变现了 无论是想要进一...https://github.com/OpenDocCN/flygon-dahanghai-2023/blob/master/docs/xhs-yunying-2/README.md