CORS跨域资源共享漏洞-一次崎岖的学习记录
先来首音乐:whoa 同源策略同源策略简介同源策略(Same-Origin Policy)是浏览器的一种安全机制,用于限制一个源(域名、协议或端口号的组合)的文档或脚本如何与来自另一个源的资源进行交互。具体来说,同源策略阻止不同源之间的网页通过脚本访问对方的资源或执行恶意操作,这有助于保护用户数据安全和隐私。 根据同源策略的规定,浏览器只允许来自同一源的文档之间共享资源(如脚本、样式表和图片),而不允许跨源的文档直接进行读取和操作。这种策略有效地防止了跨站点脚本攻击(XSS)和跨站点请求伪造(CSRF)等安全威胁。 需要注意的是,同源策略仅在浏览器环境中实施,不影响服务器之间的通信。为了在浏览器中进行跨域资源访问,开发者可以通过一些方法如 CORS(跨域资源共享)、JSONP(JSON with Padding)或使用服务器代理来规避这些限制,但需要确保操作的安全性。 总之,同源策略是浏览器为了保护用户信息和防止安全风险而设立的一道安全屏障,对网页开发和安全性有着重要影响。 同源的要求 协议 域名 端口 ...
FFUF用法手册
FFUF 用法手册 前言:FFUF是最好用的目录扫描、FUZZ的工具之一,经常使用且用法灵活多样,于是整理一个用法手册方便查询使用命令 简介FFUF(Fast Unrestricted Web...
Webpack源代码泄露漏洞研究
Webpack源代码泄露漏洞研究Webpack简介Webpack 是一个用于现代JavaScript应用的模块打包器(module bundler)。它的主要功能是将项目中的各种资源(JavaScript、CSS、图片等)作为模块进行管理和打包,生成一个或多个bundle文件,以提高项目的加载和运行效率 Webpack功能简单看一眼就行,不用做细致研究: 1. 模块打包(Module Bundling)将多个模块及其依赖项打包成一个或多个bundle文件,优化加载性能。 2. 代码拆分(Code Splitting)将代码拆分为多个小块,以便按需加载,减少初始加载时间,提高应用程序性能。 3. 加载器(Loaders)允许Webpack处理非JavaScript文件(如CSS、图片、TypeScript等),并将它们转换为Webpack可以理解的模块,增强了对多种资源的支持。 4. 插件(Plugins)扩展Webpack的功能,执行各种任务,如打包优化、资源管理和注入环境变量等,使得构建过程更加灵活和强大。 5. 热模块替换(Hot Module Replacement,...
云主机密钥泄露
前言: 在当今数字化时代,云计算已成为企业和个人管理和存储数据的主要方式之一。云服务提供商如AWS、Azure和GCP提供了灵活、高效和可扩展的解决方案,使得业务可以快速部署和运行。然而,随着云计算的普及,安全问题也随之而来。其中,云主机密钥泄露成为一个日益严重的安全漏洞,给用户带来了巨大风险。云主机密钥是访问和管理云资源的重要凭证,一旦泄露,攻击者可以利用这些密钥未经授权地访问、篡改甚至删除数据,滥用计算资源进行恶意活动,如DDoS攻击或加密货币挖矿,从而导致严重的财务损失和声誉损害。因此,理解和防范云主机密钥泄露漏洞对确保云环境的安全至关重要。 一、简介在云计算和API访问中,AK/SK是常见的术语,分别代表访问密钥(Access Key, AK)和秘密密钥(Secret Key, SK)。它们用于身份验证和授权,确保只有经过授权的用户或应用程序可以访问云资源和服务。云主机密钥泄露(AK/SK)指的是访问密钥、秘密密钥或API密钥等凭证被公开或落入未经授权者之手。这些密钥通常用于认证和授权对云资源的访问,因此它们的泄露会导致严重危害 二、漏洞危害1....
浅谈postMessage安全问题其一
浅谈 postMessage 安全问题(一)什么是同源策略同源策略(Same-Origin Policy)是浏览器的一种安全机制,用于限制一个源(域名、协议或端口号的组合)的文档或脚本如何与来自另一个源的资源进行交互。具体来说,同源策略阻止不同源之间的网页通过脚本访问对方的资源或执行恶意操作,这有助于保护用户数据安全和隐私。 根据同源策略的规定,浏览器只允许来自同一源的文档之间共享资源(如脚本、样式表和图片),而不允许跨源的文档直接进行读取和操作。这种策略有效地防止了跨站点脚本攻击(XSS)和跨站点请求伪造(CSRF)等安全威胁。 需要注意的是,同源策略仅在浏览器环境中实施,不影响服务器之间的通信。为了在浏览器中进行跨域资源访问,开发者可以通过一些方法如 CORS(跨域资源共享)、JSONP(JSON with Padding)或使用服务器代理来规避这些限制,但需要确保操作的安全性。 总之,同源策略是浏览器为了保护用户信息和防止安全风险而设立的一道安全屏障,对网页开发和安全性有着重要影响。 什么是postMessage简介postMessage 是一个 HTML5 提供的...
那些不寻常的XSS场景小总结
前言:挖掘xss漏洞时,我们常常关注的是搜索框,留言板,url参数等等。其实以下的场景有时也可以考虑测试一下,往往会有意想不到的收获…… 登录时的警告信息 登录时,我尝试输入万能密码SQL注入,用户名:admin ‘ or 1=1 – +,密码:随意 结果出现了安全警告信息!前端返回了我输入的有恶意语句的用户名,那么显然这里就是一个可控点,尝试能不能XSS 用户名输入payload,密码随意,结果成功弹窗! 1<script>alert("Hacked")</script>' or 1=1 -- + 文件名上传文件时,当文件名被渲染到前端来,也可以试试文件名中插入js代码,看看能否执行 HTML这想必已经是老生常谈了,文件上传时,如果可以上传html,那么就可以直接实现挂黑页,存储型XSS SVG矢量图svg中也可以插入js代码并执行 记事本写入,保存为 .svg 12345<?xml version="1.0"?><!DOCTYPE svg...
梦想CMS-前台注入
前言:俺开始学代码审计了,之前一直在黑盒方面学习,黑盒漏洞挖掘,没有接触过白盒,于是开始学习代码审计。【PHP代码审计项目】系列是一些用来学习练手的CMS的审计笔记,写的不好,但是也是一个记录吧,多年之后再看也是会感慨万千吧哈哈,最后学习完了代码审计我会写一个总结性的文章,还望各位大佬师傅轻喷,欢迎随时指教小弟…… 审计环境 phpstudy 2018 php-5.4.45 + Apache phpstrom 2018 CMS源码:梦想CMS-v1.4 审计过程 根据CNVD提示,找到目标文件TagsAction.class.php 发现切入点:p()传入的第三个参数是”sql”,于是此处可能存在数据库操作 p()传参 2,1,1 跟进p() 结合注释分析代码可知,p()可接收4个参数,分别是:选择接收数据的方式,是否对接收数据的引号转义,是否验证sql非法字符,是否验证sql保留字,那么p()传参2 1 1...
BlueCMS审计
BlueCMS审计审计过程还是采用正则搜索sql语句的方式,一个一个找可控变量 ad_js.php 这里很明显,ad_id参数值可控,然后又是直接拼接的sql语句,拿给getone函数去执行,那么再跟进看看getone函数写了什么过滤逻辑没有 很好,没有过滤逻辑 那么来触发漏洞,存在漏洞的文件是ad_js.php,参数是ad_id,数字型注入,不用闭合引号 那么直接注入就行 结果输出在注释 但是这里其实也是有过滤的,过滤的逻辑没有直接写在本文件中,而是在包含的文件中: 这里有对输入的参数值进行转义的逻辑 检查是否启用了魔术引号功能,如果没有启用,则用自定义的函数对输入的参数进行引号等符号转义,跟进一下deep_addslashes函数 如果参数是数组类型,则递归处理数组每一个元素,都进行引号等符号的转义 使用php内置的addslashes函数进行转义 123456addslashes() 是 PHP 的一个内置函数,用于向字符串中的特殊字符添加反斜杠(\),以便它们可以在某些上下文中被安全地使用。具体来说,它会为以下字符添加反斜杠:单引号...
梦想CMS-后台注入
前言:俺开始学代码审计了,之前一直在黑盒方面学习,黑盒漏洞挖掘,没有接触过白盒,于是开始学习代码审计。【PHP代码审计项目】系列是一些用来学习练手的CMS的审计笔记,写的不好,但是也是一个记录吧,多年之后再看也是会感慨万千吧哈哈,最后学习完了代码审计我会写一个总结性的文章,还望各位大佬师傅轻喷,欢迎随时指教小弟…… 审计环境 phpstudy 2018 php-5.4.45 + Apache phpstrom 2018 CMS源码:梦想CMS-v1.4 审计过程 根据提示,找到目标文件 BookAction.class.php 其中,”获取回复数据”的代码段,肯定涉及了数据库操作,并且使用GET或者POST方式接收参数id,也就是说id可控!但是需要进一步跟进代码,看怎么执行的sql语句,中途是否有过滤? 跟进getReply(),跳转到它的函数声明 对数组参数$id做了一些处理,implode()把数组参数id转换为以逗号分隔的字符串$id,再把$id拼接”uid in ()”之中,赋值给$param,作为SQL语句中的WHERE...