- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前端漏洞成因与防范
前端漏洞成因与防范
TaoGOGO
常见漏洞
任意重定向;
点击劫持;
XSS;
CSRF;
热身:大家来找茬
?php
//某厂页面
header(‘location:’.$_GET[‘url’]);
?php
$urlData = parse_url($_GET[url]);
if(substr($urlData[host],-10) ==.) {
header(location:.$_GET[url]);
}
任意重定向与跳转
漏洞定义
Web应用程序经常将用户重定向和转发到其他网页和网站,并且利用不可信的数据去判定目的页面。
如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面。
任意重定向漏洞成因
未对目标URL检测或处理
懒惰or自作聪明
本质:“善良”的使用了用户输入的不可信数据
任意重定向漏洞危害
钓鱼
过URL安全扫描
数据泄露
任意重定向漏洞防御
限制重定向范围(白名单)
,内部引入URL安全扫描(黑名单)
点击劫持:眼见不为实
漏洞定义
点击劫持,clickjacking,也被称为UI-覆盖攻击。这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的。
它是通过覆盖不可见的框架误导受害者点击。
虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。
点击劫持成因
劫持用户的点击行为,引诱用户做操作
示例:
iframe src=/taogogo style=opacity: 0;/iframe
Demo!
点击劫持危害
欺骗/诱导用户(管理员)执行一些行为
加粉、删除好友…
点击劫持防御
No frame
X-Frame-Options:Deny
window.confirm()
错误的:
scriptif (top!=self) top.location.href=self.location.href/script
破解:
scriptwindow.onbeforeunload = function(){return “取消保平安;}/scriptiframe src=
练习时间
?php
//某厂页面
header(‘location:’.$_GET[‘url’]);
?php
$urlData = parse_url($_GET[url]);
if(substr($urlData[host],-10) ==.) {
header(location:.$_GET[url]);
}
热身:大家来找茬
title?php echo $_GET[‘t’];? /title
scriptvar title=‘?php echo htmlspecialchars($_GET[‘t’]);?’;/script
XSS漏洞—最常见的漏洞
漏洞定义
当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。
XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。
XSS成因
本质是浏览器端代码注入,恶意script代码被浏览器解析。
分类:反射、存储
script:JS、VBScript、flash、ie的css
奇葩
[\163\165\142\163\164\162][\143\157\156\163\164\162\165\143\164\157\162](\141\154\145\162\164\50\61\51)()
url(javascript:alert(1))
Utf7(demo)
GBK宽字节XSS
Demo!
JsonP
Game!
XSS危害
窃(Cookie)
骗(密码)
肉鸡(扫描器)
浏览器的放大作用
XSS防御
转义标签(htmlspecialchars)
限制字符(preg_match)
过滤(preg_replace)
现代浏览器识别xss防御header(X-XSS-Protection)
http only
HTML Purifier(XSS消毒类库)
Twig(模板引擎)
CSRF——沉睡的巨人
漏洞定义
一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的web应用程序。
这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。
CSRF成因
本质:劫持用户身份凭据,发送伪造请求
特殊:JSON/JavaScript Hijacking/SSRF
CSRF危害
看有哪些请求可以伪造
退出登陆=删贴
修改(路由DNS/
文档评论(0)