0%

[西湖论剑2020]HardXSS

西湖论剑加bytectf连遇到两个前端题,终于该好好学习一下前端安全了

jsonp

jsonp是为了跨域获取数据而产生的一种临时方案,现在通常使用更牛逼的CORS,jsonp的简单实现就是在HTML页面上定义一些函数,不妨就叫它callBackFunc,然后用script的src=xxx.com/callback=callBackFunc 导入,服务端那边就整一个类似于如下代码的方式返回回去,这样子返回回去就是函数的形式可以直接执行

<?php
header('Content-type: application/json');
//获取回调函数名
$jsoncallback = htmlspecialchars($_REQUEST ['jsoncallback']);
//json数据
//进行一些处理获得json格式的data
$json_data = $data;
//输出jsonp格式的数据
echo $jsoncallback . "(" . $json_data . ")";
?>
阅读全文 »

熔断&幽灵

上次看浏览器看到CORB的时候提到了熔断和幽灵漏洞,今天刚好遇到了一篇文章讲这个洞的成因,记录一下(总觉得越学方向越奇怪了
meltdown
并且这个图我很喜欢,很有感觉

熔断和幽灵两个漏洞的成因基本上是一致的,但在实现上有细微的区别,漏洞的危害是内核任意空间读取

最近又重新回顾了一下,补充一下

熔断

阅读全文 »

浏览器JS运行相关

前端学习系列,总觉得学着学着就像自己转前端了一样,起因是今天西湖论剑出了一个XSS的难度正无穷的题,后来放了个hint提到了service worker线程,就提到了JavaScript主进程是单线程的,如此这般如此这般。
最后结束了题做不出来前端知识又学了一点点

浏览器基本模型

当前的浏览器多采用多进程模型,开那么四五六七个进程来执行任务,他们分别有Browser Process,Network Process,GPU Process,Render Process等等等等一大堆进程,各司其职完成工作。
Browser Process是主进程,就是控制诸多进程的控制进程,Network Process必然就是网络请求管理进程了,不多说,今天主要分析的就是这个Render Process,它主要进行页面渲染(加特效什么的),脚本执行,事件处理等等

渲染进程

阅读全文 »

前端安全笔记

打DiceCTF的全前端选择打到自闭,然后开始临时学前端,翻到了自己之前写的东西发现不仅很简陋还有写错的部分。。。。整体改一下

CSRF

第一、三方cookie

第一方cookie指的是由网络用户访问的域创建的cookie
第三方cookie即第三方网站引导发出的cookie

阅读全文 »

RPO简单入门

今天和AA聊天感觉最近刷题刷的有点无意义,应该学点东西而不是变成赛棍,故开始学习一些乱七八糟的新知识,比如这个RPO攻击,还蛮有意思的

简介

RPO即relative path overwrite,相对路径覆盖,通过浏览器和服务器解析差异进行攻击

当我们用src标签引入js或者是css资源的时候,如果是以相对路径引入,如src=static/1.js,而这个资源是由浏览器去请求的,浏览器并不知道自己服务器端的文件结构,所以只能凭借url去解析,把最后一个/作为目录发起一个访问,如果我们的url是www.z3ratu1.com/index/RPO/aaa,那么浏览器访问资源的路径就是www.z3ratu1.com/index/RPO/static/1.js

阅读全文 »