nullnull安全测试内容概要内容概要WEB安全策略
XSS触发
机制
综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图
XSS挖掘技巧
NetSparker工具
WBE安全策略 WBE安全策略浏览器同源策略
Cookie安全模型
Flash安全策略浏览器同源策略浏览器同源策略也叫同域策略,指的是同
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
、同域名和同端口。简单的说,就是要求动态内容(如:JS、VBS )只能读取或者修改与之同源的HTTP应答和Cookie,而不能读取来自 不同源的内容。浏览器的同源策略限制了脚本只能访问同源下的资源。浏览器同源策略浏览器同源策略浏览器同源策略浏览器同源策略来自同一个域不同子域的页面之间,通过对JS的变量document.domain进行相应设置(页面上一级域的值),可以有限度的违反同源策略,允许不同子域页面之间的相互访问。例如:http://a.xss.com/xxx.html和http://b.xss.com/xxx.html的代码中都包含:
< script > document.domain = “xss.com"; < / script >
因此:如果能向域中的一个页面注入JS,就也能给域中其他任何一个页面注入。浏览器同源策略浏览器同源策略攻击过程:已经在http://a.xss.com/xxx.html中注入JS代码,现在希望将代码注入http://b.xss.com/xxx.htm。则可在页面1中利用JS创建一个iframe,并将页面2装载到其中,然后就可以使用JS对页面2中的内容进行读取和修改。样例代码:浏览器同源策略浏览器同源策略同源策略不允许跨域信息的提交,XMLHttpRequest对象已经不允许跨域发送HTTP请求。如http://xxx.xss.com/xxx.html中的JS代码无法通过XMLHttpRequest对象向http://yyy.xss.com/xxx.html发送HTTP请求。以下代码会报错:浏览器同源策略浏览器同源策略跨站脚本攻击中,往往需要将被攻击者的信息发送到指定域的URL,或者需要根据不同的用户信息向被攻击者发送不同的JS代码,因此需要解决跨域双向通信。由于同源策略并不禁止页面中应用其他域的JS脚本和图片等元素,因此可以利用这点通过GET参数的方式将被攻击者的信息发送至指定URL。大数据事先载入一个隐藏的iframe,将Form
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
单放入iframe,再以POST方式提交。Cookie安全模型Cookie安全模型在客户端,可以通过document.cookie的变量来读写cookie,为了保护cookie中用户的隐私信息不被读写,RFC2109为其定义了类似于同源策略的安全策略。服务器不仅可以对Cookie进行读写,还可以为Cookie设置安全属性。Cookie的安全属性包括:Domain、Path、Secure、Expire、HttpOnlyCookie安全模型Cookie安全模型Domain:与同源策略类似,Domain可以设置成更高一级的域名;如:a.a.xss.com的domain可以设置为:a.xss.com,所有*.a.xss.com就可使用此cookie。任何域都不能将cookie设置为顶级域名*.com
Path:包含URL路径,用于提高安全模型的控制力度,可选,如果设置了Path,那么浏览器只会把Cookie发送给路径与Path吻合的页面。如: http://xxx.xss.com/a/aa.html建立了Path为/a的Cookie,则Cookie只会发送给http://xxx.xss.com/a/*的页面。但是http://xxx.xss.com/*(*中不含a/)发送请求时cookie不会被发送Cookie安全模型Cookie安全模型Secure:可选,若设置了该属性,则只有遇到HTTPS请求时该Cookie才会被发送。但HTTP和HTTPS的响应都可以对Secure属性进行设置。
Expires:设置该属性,指定Cookie的失效时间。没有设置该属性的Cookie在浏览器关闭时,会被删除,即会话Cookie;
HttpOnly: 设置该属性后,客户端将不允许通过JS的document.cookie()获取该cookieCookie安全模型Cookie安全模型
如果未设置http only属性,攻击者可以获取Cookie并写新的Cookie。代码样例:
Cookie安全模型Cookie安全模型
假设黑客发现http://www.xss.com/xxx.html页面的一个跨站漏洞,此时黑客想获取http://www.xss.com/a/xxx.html的cookie,而此时cookie的path为/a,因此无法通过本页的document.cookie获取cookie。可绕过Path获取:
Flash安全策略Flash安全策略
与同源策略类似,来自某个域的flash应用只可以读取来自该域的响应。但是,如果在一个域上的安全策略允许跟Flash应用程序所在域通信,则允许跨域通信。Adobe公司将此策略定义在crossdomain文件中,错误的配置文件可能导致Flash突破同源策略,导致安全问题。如:
Flash安全策略Flash安全策略
对跨站攻击者有帮助的类:
Socket类:可以创建连接至所有被允许的域的原始TCP套接字连接;
ExternalInterface类:可以从flash文件中运行浏览器中的JS;
XML和URLLoader:可以以用户的名义发送HTTP请求到所有被允许的域,实现跨域通信;
XSS触发机制XSS触发机制
直接触发
利用HTML标签属性触发
利用HTM事件触发
利用CSS触发
直接触发直接触发在HTML页中插入脚本标记。JS嵌入到HTML中的两种方式:
1)直接嵌入
2)在外部以js文件的形式嵌入
利用HTML标签属性触发利用HTML标签属性触发利用HTML标签中能够访问文件的属性来执行JS代码。JS中包含一个URL伪协议,可以使用javascript:加上任意JS代码来表示一个URL,浏览器装载此URL时,JS被执行。包括:src、href、dynsrc、longdesc、lowsrc等属性。
< img src=“javascript:alert(‘XSS’)” />
< img dynsrc=“javascript:alert(‘XSS’)” />
< img longdesc=“javascript:alert(‘XSS’)” />
< input src=“javascript:alert(‘XSS’)” />
< embed src=“javascript:alert(‘XSS’)” />
< a href=“javascript:alert(‘XSS’)” >
利用HTML事件触发利用HTML事件触发HTML标签中定义了一系列事件,如:鼠标、键盘事件触发的事件,当满足一定条件时事件被触发,JS代码被执行。如
标签中的onError事件,当图片载入失败时, onError被触发,JS代码被执行。
利用CSS触发利用CSS触发
CSS嵌入HTML中的三种方式:
1)以.css文件的形式:
2)以标签的方式:
< style type="text/javascript">alert('XSS'); style >
3)在标签中以style属性的方式。
利用CSS触发利用CSS触发
IE支持在CSS中使用expression,用来把CSS和JS结合起来,即CSS后跟一段JS代码,CSS属性的值等于JS代码的执行结果:
XSS挖掘技巧XSS挖掘技巧过滤规则:1.关键字过滤:如:javascript等;2.<>等特殊字符转码。
但是HTML并不遵循XHTML
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,所以可以将HTML标签属性值大小写、混合写,而且标签属性可以单引号、双引号,也可以不用引号:如:
写为
可绕过过滤规则
绕过过滤规则绕过过滤规则
插入控制符的ASCII码混淆,不影响原代码的执行。如tab( )、换行符号(
)、回车符(
)等31个控制字符。
如:
,混淆后代码为:
2. 绕过HTML标签内的关键字过滤,在插入代码的属性前加入混淆属性,如:
” onclick=“alert(‘XSS’)” />
3. 插入注释符如:
4.对CSS:\会被浏览器忽略: :
5.编码绕过,如:
等价于
null