挖洞经验 | 头像上传构造存储型XSS技术分析 渗透测试

挖洞经验 | 头像上传构造存储型XSS技术分析

本文中,作者在测试某Web目标站点APP的过程中,通过其中的用户头像上传功能,可以成功上传并加载HTML文件,进步利用该HTML文件可以形成存储型XSS攻击,读取用户的密码信息。我们一起来看看其利用姿势。 漏洞发现 当我注册登录了目标站点APP之后,经过对用户设置项的检查后发现,其中存在一个用户头像上传功能,如下: 于是,我就用Burp对该上传功能进行抓包分析: 请注意,这里我用到了PATCH请求操作,可见其中的ProfilePicture参数为一串base64编码的图像化字串,另外,之前的ProfilePictureMIME参数为image/p...
最新
阅读全文
技术讨论 | Exchange后渗透分析下篇 渗透测试

技术讨论 | Exchange后渗透分析下篇

上回我们说到,通过ruler可以给已知用户名、口令的用户增加规则,从而在使用Outlook连接Exchange邮箱服务器的主机上做到任意代码执行。那么问题来了,如果不知道该用户的口令,能否控制他们的主机呢? 数据包分析 首先需要明白ruler的具体实现过程和原理,到底是如何给其他用户增加规则、修改主页、发送form的。但是大致上我们可以猜测是给Exchange服务器对应的接口发送了几个数据包做到的。 这些数据包发送到了哪个接口,需要从接口处获得什么作为返回,以便进行下一次的请求。 因此需要对ruler的源码进行阅读同时结合对它发数据包的分析弄清楚整个的流程。 ...
阅读全文
利用WAF进行拒绝服务攻击 渗透测试

利用WAF进行拒绝服务攻击

一、拒绝服务攻击 拒绝服务攻击,英文名称是Denial of Service. 简称DOS,即拒绝服务,造成其攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。 最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽, 最后导致合法的用户请求无法通过。 常规的dos攻击 由黑客控制多台服务器,让这多台服务器同时去请求一个目标机器,导致目标资源耗尽。 二、WAF 也称为:网站应用级入侵...
阅读全文
CVE-2020-5410 Spring Cloud Config目录穿越漏洞 渗透测试

CVE-2020-5410 Spring Cloud Config目录穿越漏洞

漏洞描述 Spring Cloud Config,2.2.3之前的2.2.x版本,2.1.9之前的2.1.x版本以及较旧的不受支持的版本允许应用程序通过spring-cloud-config-server模块提供任意配置文件。恶意用户或攻击者可以使用特制URL发送请求,这可能导致目录遍历攻击。 Spring cloud Config已经出现过两次目录穿越漏洞,分别是CVE-2019-3799和CVE-2020-5405,可参考之前的文章:https://xz.aliyun.com/t/7558。 漏洞补丁 这次补丁主要是两个部分,第一个部分是将对路径的检测方法...
阅读全文
各种提权姿势总结 提权教程

各种提权姿势总结

提权技巧 1.cmd拒绝访问就自己上传一个cmd.exe,自己上传的cmd是不限制后缀的,还可以是cmd.com cmd.txt cmd.rar等 2.net user不能执行有时候是net.exe被删除了,可以先试试net1,不行就自己上传一个net.exe 3.cmd执行exp没回显的解决方法:com路径那里输入exp路径C:\RECYCLER\pr.exe,命令那里清空(包括/c )输入net user jianmei daxia /add 4.有时候因为监控而添加用户失败,试试上传抓取hash的工具,如PwDump7.exe,得到hash之后可以进...
阅读全文
【奇技淫巧】记一次实战access注入绕过安全狗 渗透测试

【奇技淫巧】记一次实战access注入绕过安全狗

网站存在注入点地方 当时测试了布尔盲注,发现有安全狗waf 对其fuzz一波,发现数据库时access数据库 由于access数据不能使用注释,并且没有数据库,幸好是安全狗,绕过方法如下 因为安全狗是对整段url进行检查,发现aa参数和bb参数包裹的是注释所以放过 其他页面也存在注入点 ...
阅读全文
菜刀连接PHP WebShell返回200错误 渗透测试

菜刀连接PHP WebShell返回200错误

错误详情 WebShell内容: <?php     @eval($_POST['cmd']); ?> 1 2 3 错误详情: 在Hackber或BurpSuite中却没有问题: 原因分析 PHP7版本过高,在PHP7中,动态调用一些函数是被禁止的,比如在array_map中调用assert会提示:Warning: Cannot call func_num_args() dynamically in %s on line %d 如果把一句话Shell中的@符号去掉,会提示:Cannot call assert() with s...
阅读全文
Java命令注入原理并结合Java Instrument技术 渗透测试

Java命令注入原理并结合Java Instrument技术

一、前言 命令注入:恶意用户构造恶意请求,对一些执行系统命令的功能点进行构造注入,从而达到执行命令的效果。 二、演示环境搭建 这里采用springboot+swagger搭建一个模拟的web环境:启动成功后访问:http://localhost:8090/swagger-ui.html#/commandi主要有三个接口: 1 /command/exec/string 主要实现Runtime.getRuntime().exec() 入参为String 2 /command/exec/array 主要实现Runtime.getRuntime().exec() 入参为S...
阅读全文
简述获取shellcode的几种方式 渗透测试

简述获取shellcode的几种方式

0×00 shellcode简介 在攻击中,shellcode是一段用于利用软件漏洞的有效负载,shellcode是16进制的机器码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 可在寄存器eip溢出后,放入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。 shellcode可以按照攻击者控制是否在目标机器上执行载荷分为本地shellcode和远程shellcode。本地运行的shellcode经常用于在攻击者对计算机的访问权限有限,需要利用软件漏洞提升权限;远程shellcode常用于攻击者以运行在某个网络中的另一台机...
阅读全文
一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权 渗透测试

一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权

之前在某厂的某次项目开发中,项目组同学设计和实现了一个“引以为傲”,额,有点扩张,不过自认为还说得过去的 feature,结果临上线前被啪啪打脸,因为实现过程中因为一行代码(没有标题党,真的是一行代码)带来的安全漏洞让我们丢失了整个服务器控制权(测试环境)。多亏了上线之前有公司安全团队的人会对代码进行扫描,才让这个漏洞被扼杀在摇篮里。 背景说明 我们的项目是一个面向全球用户的 Web 项目,用 SpringBoot 开发。在项目开发过程中,离不开各种异常信息的处理,比如表单提交参数不符合预期,业务逻辑的处理时离不开各种异常信息(例如网络抖动等)的处理。于是利用 SpringBoot ...
阅读全文
HW弹药库之红队作战手册 渗透测试

HW弹药库之红队作战手册

上个月5月9号发了两个HW红方弹药库的,今天再来发一个红队作战人员手册,我大概看了看手册里面的exp零组文档包含了很多, 本文来自 klionsec的github 说明 以下仅针对日常 "红队" 场景, 进行了一次相对全面完整的实战攻击利用技术提炼汇总 针对不同的渗透阶段,所可能会用到的一些技术都做了详尽梳理说明 (后面可能还会整理出对应的完整工具链,虽然那不是最主要的) 由于红队不同于一般的渗透测试, 强调更多的是如何搞进去拿到相应机器权限 或者 实现某特定目的 而不局限于你一定要在什么时间, 用什么技术 或者 必须通过什么途径去搞,相比传统渗透测试,红队则更趋于真实的...
阅读全文
实战笔记—滑动验证码攻防对抗 渗透测试

实战笔记—滑动验证码攻防对抗

一、背景介绍   在业务安全领域,滑动验证码已经是国内继传统字符型验证码之后的标配。众所周知,打码平台和机器学习这两种绕过验证码的方式,已经是攻击者很主流的思路,不再阐述。本文介绍的是一个冷门的绕过思路和防御方案。这些积累,均来自于实战之中,希望有用。 二、思路介绍 知己知彼,百战不殆。     如果不清楚攻击者的手段,又如何能制定防御方案?     滑动验证码绕过思路 漏洞名字:session参数重复校验漏洞 思路介绍: 此思路来源于一次对黑产路径的溯...
阅读全文
2020应急响应实战指南 渗透测试

2020应急响应实战指南

攻防攻防,有攻就有防,我们常说“未知攻焉知防”,所以一般来说,在安服团队里,应急响应是由有经验的渗透测试人员来承担;而在企业里面,应急响应则是由比较有经验的运维人员来承担。 早在17年的时候,我将自己经手处理过的一些应急响应案例,脱敏保留特定场景,整理成了一份应急响应实战笔记分享给团队的小伙伴,后来我把它上传到GitHub,目前star已超过2k+ 。 这阵子,我重新对这份笔记进行编排,并增加了部分章节,使之更完善一点。 这份应急响应笔记,我将它分为技巧篇和实战篇。技巧篇,分享了各种入侵排查、日志分析、权限维持的技巧;实战篇,分享了各种window和Linux病毒木马处理...
阅读全文
Linux常见的持久化后门汇总 提权教程

Linux常见的持久化后门汇总

0x00:前言     持久化后门是指当入侵者通过某种手段拿到服务器的控制权之后,通过在服务器上放置一些后门(脚本、进程、连接之类),来方便他以后持久性的入侵,简单梳理一下日常遇见windows用的比较多的一些持久化方式方便以后排查问题使用. Linux 0x01:SSH 一、ssh软连接     SSH软连接后门的原理 1、Linux软连接ssh后门需要ssh配置允许PAM认证才能使用 2、将sshd文件软连接名称设置为su,这样应用在启动...
阅读全文
DEDECMS伪随机漏洞 (二) :Cookie算法与Rootkey随机强度分析 代码审计

DEDECMS伪随机漏洞 (二) :Cookie算法与Rootkey随机强度分析

一、Cookie算法 1.COOKIE的作用和常见的构造形式 作用: 权限鉴别、无会话状态。 构成: 常常是以下形式 cookie = F(x,y), F为不可逆函数, x为盐 , y为和权限/用户相关的数据 我们可以知道的部分, F-> 一般常常为hash函数md5,sha256等 y-> 比如用户名称/id编号/权限简称 我们无法知道的部分, x 2.定位算法-动态调试 根据常识, 在登陆后, server端会返回cookie! 2.1在web站点上进行登陆,并抓包, 看到...
阅读全文
挖洞经验 | 雷蛇电子钱包APP漏洞分析 渗透测试

挖洞经验 | 雷蛇电子钱包APP漏洞分析

雷蛇支付(Razer Pay)在新加坡和马来西亚被广泛使用,在该篇Writeup中,作者通过APP逆向分析,利用Frida调试,发现了雷蛇支付电子钱包(Razer Pay Ewallet)中的用户签名(Signature)生成漏洞,由此可读取雷蛇支付用户的聊天记录、删除用户绑定的银行账户并窃取用户个人敏感信息,漏洞最终获得了雷蛇官方将近$6,000的奖励。以下是作者的漏洞发现思路,仅当姿势学习借鉴: 漏洞背景 雷蛇(Razer Inc,RΛZΞR)是一家在新加坡创立的游戏周边设备公司,又被称为“绿光灯厂”,近年开始进军电子消费业务。雷蛇的两个总部分别设立在新加坡及美国圣地牙哥...
阅读全文
php 反序列化 魔术方法 代码审计

php 反序列化 魔术方法

1.__wakeup()函数漏洞就是与对象的属性个数有关,如果序列化后的字符串中表示属性个数的数字与真实属性个数一致,那么i就调用__wakeup()函数,如果该数字大于真实属性个数,就会绕过__wakeup()函数。 2、__construct() 实例化对象时被调用。__construct()是构造函数,同时当函数名和类名相同的时候,也是构造函数,构造函数有两种表达方式。 但是当__construct和以类名为函数名的函数同时存在的时候,__construct将被调用,而以类名作为函数名的构造函数不被调用。 3、__destruct() 当删除一个对象或对象操作终止时被调用...
阅读全文
SRC漏洞挖掘信息收集与挖掘技巧 渗透测试

SRC漏洞挖掘信息收集与挖掘技巧

分享自己常用的“信息收集”思路以及漏洞挖掘技巧。信息收集在渗透测试中的地位不言而喻,你拥有的“资产信息”决定你的漏洞产出。 子域名收集 暴力破解 本地工具,Layer的子域名挖掘机等工具。 优点:能够枚举到很多通过证书查询查不到的子域名。 缺点:速度慢,靠字典。 搜索引擎搜索 Google、百度、360、bing、搜狗等主流搜索引擎,通过搜索语法进行搜索。 优点:发现域名时往往会同时发现一些敏感的页面。 缺点:收录有限。 证书查询 常用证书查询的站点...
阅读全文
Django初次尝试编写Web漏洞扫描器挖坑记录 神兵利器

Django初次尝试编写Web漏洞扫描器挖坑记录

Django 很适合用来写安全小工具,因为很多安全工具都是 Python 编写的,所以 Django 集成的话就可以少走很多弯路,又因为 Django 的官方文档比较全,目前 Django 最新的版本都已经到 Django3 了,很适合新手上手使用。本文的项目暂时还没有开源,这个只是国光初次尝试写的第一个版本,代码很多地方都需要重构,功能上也有很多待完善,目前写这篇文章只是想理一下思路,证明自己可以写扫描器,因为之前立过写扫描器的 Flag ,国光建议大家也可以尝试用 Django 之类的 Web 框架整合自己的小工具。 相关技术 Python 3.8.0 Python ...
阅读全文
Nuclei:一款快速自定义模板扫描工具 神兵利器

Nuclei:一款快速自定义模板扫描工具

Nuclei是一款运行速度非常快且易于使用的扫描工具,它可以帮助研究人员基于模板执行可配置的目标扫描任务,并提供了大量可扩展接口以辅助使用。 Nuclei可以基于模板来跨目标发送请求,能够实现零误报,并且可以帮助研究人员对已知路径执行有效的扫描。Nuclei的主要使用场景为网络侦察的初始阶段,可以帮助研究人员快速检查已知且易于探测的目标中是否存在安全漏洞。该工具使用了retryablehttp-go库来处理各种错误,并在Web应用防火墙屏蔽的情况下进行自动重传,这也是该工具的核心模块之一。我们还专门开源了一个专门的 资源库来维护各种类型的扫描模板,我们也欢迎社区中的各位大佬贡献自己的力...
阅读全文
黑灰产的廉价“温床”—跑分平台 界内新闻

黑灰产的廉价“温床”—跑分平台

背景:上一篇“我被“**APP”诈骗了”发布之后,很多网友私信反映,根据大量留言内容,主要包含两个方面,一方面是他们自己的支付宝收款码、银行卡号被诈骗团伙利用了,另外一方面是自己被骗了,看有没有什么办法追回失去的金钱,这是什么情况?根据我们以往的经验,这很有可能是诈骗团伙使用第三方平台获取的收款码或银行卡信息来逃避追责,以降低安全风险,或者平台跑路。 在恒安嘉新 App全景态势与案件情报溯源挖掘平台上,我们发现一批关于“跑分平台”的应用程序,如图1所示,这类应用程序行为并不复杂,通常是采用网上公开源码或工具,批量一键生成,制作成本低,从年龄的角度划分,这类样本制作、传播趋向年轻化。本文主要是针对...
阅读全文
白盒系列之变量追踪引擎(一) 代码审计

白盒系列之变量追踪引擎(一)

一、白盒整体概括 在开始变量追踪的正式讲解之前,先概括的看一下目前各大厂对于白盒的使用情况,可以简单的概括为下图的模型。 上图列出了触发白盒扫描的几个关键节点,分别为开发、集成、发布阶段,目前大部分公司多在发布阶段进行强制卡点,如果发现存在严重漏洞,则会终止整个发布流程,确保应用不能带漏洞上线。发布阶段进行扫描是目前执行扫描最多的一个阶段,为了能够让开发者在发布之前就能够对漏洞进行修复,在代码集成,甚至本地开发阶段都会进行扫描。其实按照理想状态,在本地开发阶段进行扫描应该是开发者修复最好的时机,因为这个阶段开发者对于代码的印象最深,同时漏洞的展示效果也最好,能够通过ID...
阅读全文
iOS逆向之人脸识别绕过 界内新闻

iOS逆向之人脸识别绕过

0×00前言 达到目的的手段有很多种,也许存在优劣之分,我只是选择了其中一种我认为好玩的方式。人脸识别校验状态存储在服务端,因此即使通过该种方法绕过客户端人脸识别,由于并未获得合法session,因此无任何危害,仅做为IOS逆向学习思路。 0×01 准备 本文所使用环境: 越狱IOS手机1个(本文所用为12.4.4) appstore下载的app一个: 登录时存在人脸识别: 0×02 脱壳 apple在上架应用时,appstore会为上架的app加一层壳。在加壳状态下进行...
阅读全文
看我如何制造漏洞绕过安全软件来加入自启动 提权教程

看我如何制造漏洞绕过安全软件来加入自启动

不让我注入进程撒?加服务启动你拦截我撒?来  我用另类方法”注入”加入自启动? 众所周知,某0卫士对启动这一块做的比较严格。以往来说 大家都喜欢注册表启动,后来注册表被杀的太厉害。结果GG了。然后衍生出来服务启动?不过好景不长,服务启动也被和谐…..有反驳的可以附上你代码? (有点空手套EXP的感觉)  当然  也有服务能启动的,前提是你找到一个靠谱的白名单程序…抠鼻..我找到了…就是…不告诉你 以上是背景….目前来说  比较靠谱的一种做法是进程注入。进程注入多用于隐匿自身 以及做一些其他不可描述的事情。但…..各位程序大佬清楚 大多的 传统的...
阅读全文
看我如何制造漏洞绕过安全软件来加入自启动 渗透测试

看我如何制造漏洞绕过安全软件来加入自启动

不让我注入进程撒?加服务启动你拦截我撒?来  我用另类方法”注入”加入自启动? 众所周知,某0卫士对启动这一块做的比较严格。以往来说 大家都喜欢注册表启动,后来注册表被杀的太厉害。结果GG了。然后衍生出来服务启动?不过好景不长,服务启动也被和谐…..有反驳的可以附上你代码? (有点空手套EXP的感觉)  当然  也有服务能启动的,前提是你找到一个靠谱的白名单程序…抠鼻..我找到了…就是…不告诉你 以上是背景….目前来说  比较靠谱的一种做法是进程注入。进程注入多用于隐匿自身 以及做一些其他不可描述的事情。但…..各位程序大佬清楚 大多的 传统的...
阅读全文