• / 38
  • 下载费用:5 金币  

29-XSSwithHTML5.pptx

关 键 词:
29 XSSWITHHTML5
资源描述:
基于HTML5的XSS攻击,制作者:龙光昊 2015140250 黄奕玮 2015140251 杨凯 2015140252 胡雪智 2015140253,目录,1.什么是XSS2.html5安全漏洞3.基于HTML5的xss介绍4.HTML5下的XSS攻击示例,一、XSS定义,XSS定义,xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。 xss攻击可以分成两种类型:非持久型攻击持久型攻击,1.非持久型xss攻击,顾名思义,非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。假设有以下index.php页面:该页面显示两行信息:从URI获取 'name' 参数,并在页面显示显示跳转到一条URL的链接,非持久型xss攻击,这时,当攻击者给出以下URL链接:当用户点击该链接时,将产生以下html代码,带'attacked'的告警提示框弹出:,非持久型xss攻击,除了插入alert代码,攻击者还可以通过以下URL实现修改链接的目的:当用户点击以上攻击者提供的URL时,index.php页面被植入脚本,页面源码如下:用户再点击 "Click to Download" 时,将跳转至攻击者提供的链接。,非持久型xss攻击,对于用于攻击的URL,攻击者一般不会直接使用以上可读形式,而是将其转换成ASCII码,以下URL同样用于实现链接地址变更:,2.持久性XSS攻击,持久型xss攻击会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。下面来看一个利用持久型xss攻击获取session id的实例。,持久性XSS攻击,我们知道HTTP是一个无状态维持的协议,所有请求/应答都是独立的,其间不保存状态信息。但有些场景下我们需要维护状态信息,例如用户登录完web应用后,再一定时间内,用户再进行登录,应不需要再输入用户名/密码进行鉴权。这时我们用cookie和session解决状态维护问题,当用户首次登入时,服务器为该用户创建一个 session ID,同时向游览器传送一个 cookie,cookie保存会话连接中用到的数据,session ID作为会话标识,游览器后续的请求均基于该session ID。攻击者可以提供一个攻击链接,当用户点击该链接时,向攻击者自己的服务器发送一条保存有用户session ID的信息,这样就可以窃取到用户的session ID,得到用户的执行权限。,持久性XSS攻击,现有login.php,其根据 user_name 在数据中查找相应的 pass_word,然后将用户提供的 password 与查数据库所得的 pass_word 进行比较,如果验证成功则创建对应于 user_name 的 session。另有home.php,其根据登入的用户是 admin 还是其他用户,显示不同内容,对于admin,其列出所有用户,对于其他用户,提供包含输入框的form,可在数据库中插入新的用户名信息。注意以上场景中,对 admin 和其他用户进行了不同的权限设置,admin可以看到所有用户列表,下面我们来看如何获取 admin 的session ID,从而使得其他用户也能获得 admin 的权限。,持久性XSS攻击,攻击流程:首先,攻击者以一个普通用户登录进来,然后在输入框中提交以下数据:攻击者提交了一条带标签的数据,该条数据将保存在数据库中,而当 admin 用户登入时,包含 "bangerlee" 的用户列表将显示,如果 admin 用户点击 "bangerlee" 时,在 "attacker-site.com" 所在的服务器上,攻击者就可以窃取到 admin 的session-id:有了该session-id,攻击者在会话有效期内即可获得 admin 用户的权限,并且由于攻击数据已添加入数据库,只要攻击数据未被删除,那么攻击还有可能生效,是持久性的。,二、HTML5安全漏洞,html5的安全性问题,点击劫持更加容易:点击劫持本身不是种新的攻击,这种攻击的目的是窃取受害者的鼠标按钮点击,然后将点击定向到攻击者所指定的其他页面。攻击者的目的是让 用户在不知情的情况下点击隐藏的链接。目前,对于点击劫持最好的服务器端防御措施之一是被称为Framekilling的技术。本质上来说,受到影响的网 站可以利用JavaScript来验证自己是否在一个iframe中运行,如果是的话,就拒绝显示页面内容。这种技术已经被在用在Facebook、Gmail和其他一些网站中。但是HTML5在iframe中增加了一个新的沙盒属性,该属性会让网站停止执行JavaScript脚本。在大多数情况 下,这其实是比较安全的做法,但也存在缺点,就是会抵消目前对点击劫持最好的防御措施。,html5的安全性问题,利用跨域请求或WebSockets的端口扫描:有了HTML5,浏览器现在可以连到任何IP地址或网站的(几乎)任何端口。虽然除非目标网站有特别的允 许,不然并不能接收到来自任意端口连接的回应,但是研究人员表示,这类请求所花的时间可以用来判断目标端口是打开的还是关闭的。因此攻击者就可以直接利用 浏览器对受害者的内部网络进行端口扫描。,html5的安全性问题,利用桌面通知做社会工程学攻击:HTML5的有一个优秀的新功能:桌面通知。这些出现在浏览器之外的弹出窗口,其实是可以用HTML程序代码进行定制的。虽然这种 功能带来了很不错的交互方式,但也可能导致社会工程学攻击,例如网络钓鱼或者假冒杀毒软件等。,html5的安全性问题,利用地理定位追踪受害者:地理定位是HTML5新功能中最受注目的一个。因为安全和隐私的考虑,网站必须先得到用户的批准,随后才能获得位置讯息。然而就和以前出现过的其他功能一样,例如Vista的用户帐户控制,Android的应用程序权限,还有无效的HTTPS凭证等,这些需要用户作决定的安全措施几乎没有任何效果。而一旦有了授权,网站不仅可以知道受害者的位置,而且还可以在用户移动时对其进行实时追踪。,html5的安全性问题,表单篡改:另一个新功能让攻击者可以在被注入JavaScript的网站(例如XSS攻击)中更改该网页上的表单行为。举例来说,攻击者可以改变一个网络商店的正常行为,不是将内容送到购买或是登录页面,而是将用户的身分认证信息发送到攻击者自己的网站。,HTML5对安全的改进,iframe沙箱 HTML5为iframe元素增加了sandbox属性防止不信任的Web页面执行某些操作,例如访问父页面的DOM、执行脚本、访问本地存储或者本地数据库等等。但是这个安全策略又会带来另外的风险,这很有趣,例如ClickJacking攻击里阻止JavaScript脚本的运行来绕过JavaScript的防御方式。,HTML5下新的XSS攻击载体,直到现在,还有很多开发者总喜欢开发自己定义的XSS黑名单过滤器,以阻止XSS攻击,包含了大多网络上常见的XSS利用的代码,如
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:29-XSSwithHTML5.pptx
链接地址:http://www.gold-doc.com/p-256592.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开