xFrame

干货:熟悉面试中常见的的 web 安全问题

强颜欢笑 提交于 2021-02-20 01:10:22
背景 之前出去面试的时候, 经常会被问到一些 安全方面 的问题。 安全涉及的领域很大, 我也仅仅是了解一些皮毛, 每次面试前都要找资料复习, 很麻烦。 所以我就根据之前搜集的一些资料和面试的经验,系统的梳理了一下,希望对大家有所帮助。 「 正文 」 首先简单介绍 几种常见的攻击方式 : SQL注入 XSS CSRF 点击劫持 中间人攻击 1 SQL 注入 这是一种比较简单的攻击方式。 如果后台人员使用用户输入的数据来 组装SQL查询语句 的时候不做防范, 遇到一些 恶意的输入 , 最后生成的SQL就会有问题。 举个例子 比如地址栏输入的是: articlrs/index.php? id = 1 发送一个 get 请求, 调用的查询语句是: sql = " SELECT * FROM articles WHERE id = ", $id 正常情况下, 返回 id = 1 的文章。 如果攻击者想获得所有的文章,语句就可以改成: articlrs/index.php? id = -1 OR 1 = 1 这样就可以了, 为什么呢? 这是因为,id = -1 永远是 false,1=1 永远是true,所有整个where语句永远是ture. 所以 where 条件相当于没有加where条件,那么查询的结果相当于整张表的内容,攻击者就达到了目的。 现在的系统一般都会加入 过滤 和 验证 机制,

iframe嵌套

爱⌒轻易说出口 提交于 2021-02-01 05:23:02
iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了。 <iframe src="demo_iframe_sandbox.htm"></iframe> 但是,有追求的我们,并不是想要这么low的iframe. 我们来看看在iframe中还可以设置些什么属性 iframe常用属性: 1.frameborder:是否显示边框,1(yes),0(no) 2.height:框架作为一个普通元素的高度,建议在使用css设置。 3.width:框架作为一个普通元素的宽度,建议使用css设置。 4.name:框架的名称,window.frames[name]时专用的属性。 5.scrolling:框架的是否滚动。yes,no,auto。 6.src:内框架的地址,可以使页面地址,也可以是图片的地址。 7.srcdoc , 用来替代原来HTML body里面的内容。但是IE不支持, 不过也没什么卵用 8.sandbox: 对iframe进行一些列限制,IE10+支持 上面一些tag,会在下文进行穿插说明,单个不好说。 我们通常使用iframe最基本的特性,就是能自由操作iframe和父框架的内容(DOM). 但前提条件是同域. 如果跨域顶多只能实现页面跳转 window.location.href . 那什么是同域/ 什么是跨域呢?

熟悉面试中常见的的 web 安全问题

安稳与你 提交于 2020-12-23 08:37:58
背景 之前出去面试的时候, 经常会被问到一些 安全方面 的问题。 安全涉及的领域很大, 我也仅仅是了解一些皮毛, 每次面试前都要找资料复习, 很麻烦。 所以我就根据之前搜集的一些资料和面试的经验,系统的梳理了一下,希望对大家有所帮助。 「 正文 」 首先简单介绍 几种常见的攻击方式 : SQL注入 XSS CSRF 点击劫持 中间人攻击 1 SQL 注入 这是一种比较简单的攻击方式。 如果后台人员使用用户输入的数据来 组装SQL查询语句 的时候不做防范, 遇到一些 恶意的输入 , 最后生成的SQL就会有问题。 举个例子 比如地址栏输入的是: articlrs/index.php? id = 1 发送一个 get 请求, 调用的查询语句是: sql = " SELECT * FROM articles WHERE id = ", $id 正常情况下, 返回 id = 1 的文章。 如果攻击者想获得所有的文章,语句就可以改成: articlrs/index.php? id = -1 OR 1 = 1 这样就可以了, 为什么呢? 这是因为,id = -1 永远是 false,1=1 永远是true,所有整个where语句永远是ture. 所以 where 条件相当于没有加where条件,那么查询的结果相当于整张表的内容,攻击者就达到了目的。 现在的系统一般都会加入 过滤 和 验证 机制,

点击劫持漏洞:使用X-Frame-Options 解决方法(应用tomcat)

只愿长相守 提交于 2020-10-05 09:07:30
点击劫持漏洞:使用X-Frame-Options 解决方法(应用tomcat) 参考文章: (1)点击劫持漏洞:使用X-Frame-Options 解决方法(应用tomcat) (2)https://www.cnblogs.com/wdnnccey/p/6476518.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4267218/blog/4659833

vue嵌套grafana展示大盘数据

可紊 提交于 2020-10-03 03:34:25
Grafana集成进自己的监控项目 可能有需求是将grafana的dashboard集成到自己的监控系统里面,这样就避免了进grafana再查看 方案有是有,可能有点不安全,建议实在要这么干的话: 尽量是公司内部玩,也就是纯内网操作; 找IT设置网络访问权限,只有公司IP可以访问监控系统和grafana的域名/IP; 以下是方法: 嵌grafana监控dashboard,只需要在web监控iframe中嵌进去: <iframe src="http://192.168.0.1:3000/d/oidoT24Wk/apache-jmeter?refresh=5s&orgId=1" width="450" height="200" frfameborder="0"></iframe> src后面放dashboard的页面即可 但是这样有个问题,直接打开,会跳转到登录页面,也就是想这么做的话,需要开启 匿名登录 修改grafana配置文件: vim /etc/grafana/grafana.ini 修改为 1 2 3 4 5 6 7 8 9 10 11 12 [auth.anonymous] # enable anonymous access # 去掉注释,改为true,允许匿名访问 enabled = true # specify organization name that should

HTML5安全风险详析之五:劫持攻击

限于喜欢 提交于 2020-10-02 20:32:46
本文我们要讲到一类的HTML5安全问题,也就是劫持的问题。 下面我们要讲到一类的HTML5安全问题,也就是劫持的问题。 一、ClickJacking-点击劫持 这种攻击方式正变得越来越普遍。被攻击的页面作为iframe,用Mask的方式设置为透明放在上层,恶意代码偷偷地放在后面的页面中,使得一个页面看起来似乎是安全的,然后诱骗用户点击网页上的内容,达到窃取用户信息或者劫持用户操作的目的。下图中,欺诈的页面放置在下层,被攻击的银行页面作为透明的层放置在上层,用户看到的是欺诈页面上显示的信息并进行输入和点击,但是真正的用户行为是发生在银行页面上的。 想象一下,点击劫持可以诱使你发布一条虚假微博、或者发送一封虚假邮件甚至盗取你的个人信息。例如下图可以诱使我们发布一条虚假的Twitter消息。 这里有一个测试工具clickjacktest可以检测你的页面是否有点击劫持的风险,你可以输入一个网址并点击Test,如果页面可以正常显示并加载,那么表示这个页面存在被点击劫持攻击的风险,如果页面显示为一片空白,那么表示页面比较安全。 二、CookieJacking-Cookie劫持 ClickJacking只涉及点击操作,但是HTML5的拖放API使得这种攻击扩大到拖放操作。因为现在Web应用里,有大量需要用户拖放完成的操作。在同源策略里,一个域的Cookie只能被本域所访问

Geekpwn 2020云端挑战赛 Noxss & umsg

爷,独闯天下 提交于 2020-08-19 22:31:11
作者:LoRexxar'@知道创宇404实验室 时间:2020年7月14日 前两天看了今年Geekpwn 2020 云端挑战赛,web题目涉及到了几个新时代前端特殊技巧,可能在实战中利用起来难度比较大,但是从原理上又很符合真实世界的逻辑,这里我们主要以解释题目为主,但是也探索一下在真实场景下的利用。 Noxss noxss提供了一个特殊的利用方式,就是当我们没有反射性xss的触发点时,配合1-click,哪怕是在真实世界场景并且比较现代前端安全的场景下,还有没有什么办法可以泄露页面内容呢? 从题目开始 首先我们从题目给的源码出发,主要的代码有两个部分 app.py from flask import Flask , request , jsonify , Response from os import getenv app = Flask ( __name__ ) DATASET = { 114 : '514' , 810 : '8931919' , 2017 : 'https://blog.cal1.cn/post/RCTF %202017% 20rCDN %20% 26%20noxss%20writeup' , 2019 : 'https://hackmd.io/IlzCicHXSN-MXl2JLCYr0g?view' , 2020 : 'flag{xxxxxxxx}' , }

Web前端之iframe详解

落花浮王杯 提交于 2020-08-16 12:10:13
iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了。 <iframe src="demo_iframe_sandbox.htm"></iframe> 但是,有追求的我们,并不是想要这么low的iframe. 我们来看看在iframe中还可以设置些什么属性 iframe常用属性: 1.frameborder:是否显示边框,1(yes),0(no) 2.height:框架作为一个普通元素的高度,建议在使用css设置。 3.width:框架作为一个普通元素的宽度,建议使用css设置。 4.name:框架的名称,window.frames[name]时专用的属性。 5.scrolling:框架的是否滚动。yes,no,auto。 6.src:内框架的地址,可以使页面地址,也可以是图片的地址。 7.srcdoc , 用来替代原来HTML body里面的内容。但是IE不支持, 不过也没什么卵用 8.sandbox: 对iframe进行一些列限制,IE10+支持 上面一些tag,会在下文进行穿插说明,单个不好说。 我们通常使用iframe最基本的特性,就是能自由操作iframe和父框架的内容(DOM). 但前提条件是同域. 如果跨域顶多只能实现页面跳转 window.location.href . 那什么是同域/ 什么是跨域呢?

2.7.1. HTTP标准

谁说我不能喝 提交于 2020-08-14 16:20:14
2.7.1. HTTP标准 2.7.1.1. 报文格式 2.7.1.1.1. 请求报文格式 <method><request-URL><version> <headers> <entity-body> 2.7.1.1.2. 响应报文格式 <version><status><reason-phrase> <headers> <entity-body> 2.7.1.1.3. 字段解释 method HTTP动词 常见方法:HEAD / GET / POST / PUT / DELETE / PATCH / OPTIONS / TRACE 扩展方法:LOCK / MKCOL / COPY / MOVE version 报文使用的HTTP版本 格式为 HTTP/<major>.<minor> url <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> 2.7.1.2. 请求头列表 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型 Accept

网络安全

我怕爱的太早我们不能终老 提交于 2020-08-14 08:07:14
XSS XSS(Cross site scripting) 跨站脚本攻击 网站存在漏洞,允许恶意用户注入恶意代码 例子,网站允许 img src 路径的拼接;写入可执行脚本 innerHTML 容易引发跨站脚本攻击 CSRF 什么是 CSRF CSRF(Cross-site request forgery) 跨站请求伪造 :攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的 一个典型的 CSRF 攻击有着如下的流程: 受害者登录a.com,并保留了登录凭证(Cookie)。 攻击者引诱受害者访问了b.com。 b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带 a.com 的Cookie a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求 a.com以受害者的名义执行了act=xx 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作 CSRF的特点 攻击一般发起在第三方网站,而不是被攻击的网站。被攻击的网站无法防止攻击发生 攻击利用受害者在被攻击网站的登录凭证,冒充受害者提交操作;而不是直接窃取数据 整个过程攻击者并不能获取到受害者的登录凭证