Potato家族提权学习

Potato提权(原理简述) 在红蓝对抗过程中Web打点之后往往需要进行提权才能进行横向操作,本篇文章将简单讲述土豆提权原理。 阅读详情

声明

出品|博客(ID:moon_flower)
======================

以下内容,来自moon_flower作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

Origin Potato(MS08-068)

原理就是上文提到的ntlm反射,

图片

重点看一下修复,微软在kb957097补丁中通过修复SMB身份验证答复的验证方式来防止凭据重播。当主机A向主机B进行SMB认证的时候,将 pszTargetName设置为cifs/B,然后在 type2拿到B发送的Challenge之后,在lsass里面缓存 (Challenge,cifs/B),接着B拿到A的ype3,这时会去检查lsass缓存里是否有 (Challenge,cifs/B),如果有就说明这是同一台主机,那么认证失败。

Hot Potato(MS16-075)

影响范围Windows 7,8,10,Server 2008以及Server 2012,经典的ntlm relay 攻击链,依靠windows update触发。

工具地址:

https://github.com/foxglovesec/Potato

图片

实现流程:

1.本地 NBNS Spoofer :冒充名称解析,强制系统下载恶意 WAPD 配置2.伪造 WPAD 代理服务器:部署 malicios WAPD 配置,强制系统进行 NTLM 认证3.HTTP -> SMB NTLM 中继:将 WAPD NTLM 令牌中继到 SMB 服务以创建提升的进程
流程分3步,首先进行本地NBNS欺骗,windows通常通过这一协议进行域名
解析,当windows在hosts文件和dns查询都搜索失败后,会再进行NBNS
查询,在本地广播域中向所有的主机发出UDP广播询问。

但是直接嗅探到网络流量信息需要本地管理员权限,这里曲线救国。

如果我们能提前知道NBNS请求所对应的目标主机的主机名(目标主机 127.0.0.1),就可以创建一个虚假的应答信息,并快速地使用NBNS应答信息来对目标主机进行泛洪攻击。

因为NBNS数据包中有一个长度为2子节的数据-TXID,要求与请求和应答信息相匹配,所以要通过泛洪暴力枚举65536 个可能性。

这是没有匹配到dns的情况,如果之前就保存了主机的DNS记录,那么可以使用UDP端口枯竭(使每一个UDP端口失效),迫使目标系统中所有的DNS查询失败。

下一步是伪造WPAD代理服务器,在windows操作系统中,IE浏览器在默认情况下会通过http://wpad/wpad.dat来自动尝试检查网络代理,同时也有其它一些windows中的服务会采用这一机制(比如利用中提到的Windows Update)。

但是并不是所有网络中都可以正常访问这个url(不是所有的dns域名服务器都存在主机wpad),那么我们就可以伪造一个WPAD代理服务器,结合前文的本地NBNS欺骗,就可以声称WPAD主机的ip地址是目标地址(127.0.0.1)。

这时127.0.0.1本地运行一个HTTP服务器,当收到http://wpad/wpad.dat请求时,做以下答复:

FindProxyForURL(url,host){    if (dnsDomainIs(host, "localhost")) return "DIRECT";    return "PROXY 127.0.0.1:80";
这样目标上所有的 http 流量都通过127.0.01重定向。之前对于NTLM 反射的补丁只限于SMB->SMB,但NTLM支持跨协议,也就是说像HTTP->SMB仍可正常工作。

现在HTTP流量都会途径我们控制的HTTP服务器,那么就可以将其重定向到

URL: http://localhost/GETHASHESxxxxx,以NTLM身份验证的401请求响应(其中xxxxx是某个唯一标识符)。然后将NTLM凭据中继到本地SMB监听器以创建运行用户定义命令的新系统服务。

当这个请求由高权限发起的时候(比如windows update,system权限),就完成了提权。再看一下漏洞的触发,依赖于发送http://wpad/wpad.dat请求,而当windows已经由WPAD的缓存条目或因为没有找到WPAD而允许直接上网时,需要30-60min才会刷新。

Rotten Potato(MS16-075的变种)

通过DCOM call来使服务向攻击者监听的端口发起连接并进行NTLM认证,

需要SelmpersonatePrivilege权限。

可以立即触发,不需要等待windows更新。

影响范围:< win10 1809和windows server 2019

图片

实现流程:

1.通过 NT AUTHORITY/SYSTEM 运行的 RPC 将尝试通过 CoGetInstanceFromIStorage API 调用向我们的本地代理进行身份验证2.135 端口的 RPC 将用于回复第一个 RPC 正在执行的所有请求充当模板3.AcceptSecurityContextAPI 调用以在本地模拟 NT AUTHORITY/SYSTEM
首先是用CoGetInstanceFromIStorage尝试从调用者(system)指定的位置获取指定对象的实例,下面代码试图从127.0.0.1的6666端口上获取一个BITS对象。(实际上是从IStorage中获取对象)

其中,CLSID是标识COM类对象的全局唯一标识符,类似uuid。BITS(后台只能传输服务)实现从HTTP web服务器和SMB服务实现文件共享,BITS实现了 IMarshal接口并允许代理声明强制NTLM身份验证。

public static void BootstrapComMarshal(){IStorage stg = ComUtils.CreateStorage();//使用已知的本地系统服务 COM 服务器,在此强制执行 BITSv1Guid clsid = new Guid("4991d34b-80a1-4291-83b6-3328366b9097");TestClass c = new TestClass(stg, String.Format("{0}[{1}]", "127.0.0.1", 6666)); // ip and portMULTI_QI[] qis = new MULTI_QI[1];qis[0].pIID = ComUtils.IID_IUnknownPtr;qis[0].pItf = null;qis[0].hr = 0;CoGetInstanceFromIStorage(null, ref clsid, null, CLSCTX.CLSCTX_LOCAL_SERVER, c, 1,       qis);}
现在有一个COM试图连接127.0.0.1:6666(通过RPC协议),那么我们在6666
端口上建立一个本地TCP监听器,如果这时我们以正确的方式回复,
那么这个COM(system 权限运行)就会尝试与我们进行NTLM身份验证。


在这里我们做的是将6666接收到的数据包中继到本地的135端口的RPC监听上,并将135端口返回的数据包作为回复COM的模板。

如果从调用函数的层面理解NTLM的认证过程,有下图:

图片

重点看服务端的调用,首先调用acquirecdentialshandle获取相应的句柄,然后用AcceptSecurityContext处理type1,这个函数的输出就是type2的消息,该消息将被发送回试图进行身份验证的客户端,这里就是DCOM。

当客户端回复type3后,服务端将其传递给AcceptSecurityContext,以完成身份验证并获得令牌。在我们的攻击中,type1被转发到了RPC的135端口上,RPC回复一个Type2,但不是直接转发回去,需要在中转的时候进行一些处理,这里做的使用AcceptSecurityContext 调用的结果替换发送到COM数据包中的NTLM blob(?)。

但为什么要这样?因为我们需要的是用system账户运行的COM来完成NTLM Challenge和Reserved(我们使用这两个部分来协商本地令牌),所以如果不替换,后续再次调用AcceptSecurityContext就会失败。

到现在为止,我们能确定的是,客户端以system权限执行的COM需要对服务端返回的NTLM type2数据包中的NTLM Server Challenge和Reserved部分进行一些操作(magic?)

而只有对AcceptSecurityContext生成的结果执行这些操作的时候,才能获得令牌。

这里的Reserved字段实际上是对SecHandle的引用,当system账户接收到 NTLM type2的消息时,会在内存中进行Reserved验证(如果没有替换,将被认证为RPC而不是我们。

完成上述操作后,system权限运行的COM将向我们发送type3(是空的?),

但会用它来调用AcceptSecurityContext。最后使用其调用结果用

ImpersonateSecurityContext获得一个模拟令牌。

有了模拟令牌,根据 SeImpersonate 权限的特性,可以以此令牌创建进程(基本直接翻译原文,其中有很多地方还不是很理解,有错误希望各位师傅指出)

原版的Rotten Potato的实现基于meterpreter shell,后来有人写了webshell的版本(也就是Lonely Potato)。

复现:新建一个IIS服务器,传上shell,连上马

图片

尝试获取不同权限,直接cd到public中可以获取IUSR权限

图片

用烂土豆提权:

图片

PrintSpoofer

看这个洞之前先回顾一下getsystem的原理那篇文章,提权的原理就是诱使 system权限的服务访问我们指定的命名管道,getsystem提供各种模式欺骗 system连接管道:

图片

其中第5个就是PrintSpoofer,利用了打印机组件路径检查的bug。
项目地址:

https://github.com/leechristensen/SpoolSample

Windows的MS-RPRN协议用于打印客户机和打印服务器之间的通信,默认情况下启用。

协议定义的RpcRemoteFindFirstPrinter-ChangeNotificationEx()

调用创建一个远程更改通知对象,该对象监视对打印机对象的更改,并将更改通知发送到打印客户端。

DWORD RpcRemoteFindFirstPrinterChangeNotificationEx(     /* [in] */ PRINTER_HANDLE hPrinter,    /* [in] */ DWORD fdwFlags,    /* [in] */ DWORD fdwOptions,    /* [unique][string][in] */ wchar_t *pszLocalMachine,    /* [in] */ DWORD dwPrinterLocal,    /* [unique][in] */ RPC_V2_NOTIFY_OPTIONS *pOptions)
同时,Print Spooler服务的RPC接口暴露在命名管道:\\.\pipe\spoolss 中,
该服务默认开启。其中pszLocalMachine是指向表示客户端计算机名称的
字符的指针,需要传递一个UNC路径,传递\\127.0.0.1时,服务器会访问
 \\127.0.0.1\pipe\spoolss,但这个管道已经被系统注册了,

并由NT AUTHORITY\SYSTEM控制。那么下一步就是要想办法把这个请求让
我们准备好的恶意管道接收。

考虑到UNC路径的性质,如果主机名包含/,它将通过路径检查,但真正连接的时候会转化为\ 。那么,如果传递一个\\127.0.0.1/pipe/foo,检查时会认为127.0.0.1/pipe/foo是一个主机名,随后在连接named pipe时会对参数做标准化,于是就会连接\\127.0.0.1\pipe\foo\pipe\spoolss,那么攻击者就可以把主机名改为\\127.0.0.1/pipe/foo并注册这个named pipe从而窃取 client的token。

工具地址:

https://github.com/itm4n/PrintSpoofer

还有crisprss修改的免杀版:

https://github.com/crisprss/PrintSpoofer

图片

参考

  • https://www.anquanke.com/post/id/92908

  • https://forum.butian.net/share/860

  • https://tttang.com/archive/1560/

  • https://www.anquanke.com/post/id/217397

  • https://www.anquanke.com/post/id/83322

  • https://www.anquanke.com/post/id/194514

欢迎关注长白山攻防实验室微信公众号
定期更新优质文章分享

Potato家族本地提权分析 0x00 前言 在实际渗透中,我们用到最多的就是Potato家族的提权。本文着重研究Potato家族的提权原理以及本地提权细节 0x01 原理讲解 1.利用Potato提权的是前提是拥有SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限,以下用户拥有SeImpersonatePrivilege权限(而只有更高权限的账户比如SYSTEM才有SeAssignPrimaryTokenPrivilege权限): 本地管理员账户(不包括管理员组普通账户)和本地 阅读详情

相关推荐

Windows提权实战:SeImpersonatePrivilege与Potato家族技术深度解析

在Windows安全体系中,访问令牌是进程身份验证的核心凭证,它决定了进程对系统资源的访问权限。模拟机制允许线程在不同于其进程的安全上下文中执行,这原本是为了支持多线程服务高效处理客户端请求而设计的功能。然而,当服务账户被授予SeImpersonatePrivilege特权时,这一安全特性可能被攻击者利用,通过诱骗高权限进程进行身份验证,从而窃取并模拟其令牌,实现权限提升。这种技术在内网渗透和红队评估中具有重要价值,特别是在获得初始立足点后,需要横向移动或提升权限的场景。围绕这一核心思想,Potato家族工

weixin_34199335的博客 347

Windows烂土豆提权复现(MS16-075)

Windows烂土豆提权复现(MS16-075)

oiadkt的博客 3297

SeImpersonatePrivilege特权完全指南:从原理到Potato家族提权实战

本文深入解析了Windows系统中的SeImpersonatePrivilege特权原理及其在权限提升中的核心作用。文章详细剖析了以该特权为基础的Potato家族提权技术,包括Juicy Potato、PrintSpoofer等变种的演变与实战利用条件,并从防御视角提供了检测与缓解措施,为安全研究人员和系统管理员提供了从理论到实践的完整指南。

k8l9m0n的博客 200

烂土豆提权(MS16-075)--令牌窃取提权

漏洞介绍 当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块 (SMB) 中存在特权提升漏洞。成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。 若要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行一个为利用此漏洞而经特殊设计的应用程序,从而控制受影响的系统。此更新通过更正 Windows 服务器消息块 (SMB) 服务器处理凭据转发请求的方式来修复此漏洞。 注:烂土豆(Rotten Potato)提权是一个本地提权,是针对本地用户的,不能用于域用户

bring_coco的博客 4855

红队工具箱升级指南:手把手整合PostExpKit提权模块到CobaltStrike 4.7

本文详细介绍了如何将PostExpKit提权模块深度整合到CobaltStrike 4.7中,提升红队攻防演练效率。通过环境准备、核心功能解析、内存操作实战等步骤,手把手教您实现无文件提权操作,特别适合需要快速突破内网边界的安全从业者。

fox11的博客 762

Windows权限提升实战:从信息收集到SYSTEM提权完整路径解析

权限提升是渗透测试与系统安全领域的核心概念,指攻击者在已获得初始访问权限的基础上,通过利用系统配置缺陷、软件漏洞或逻辑错误,获取更高特权账户(如SYSTEM/root)控制权的技术过程。其原理通常基于操作系统安全模型中的访问控制机制、令牌模拟或服务配置漏洞。这项技术的价值在于揭示了纵深防御体系中的薄弱环节,帮助安全团队评估真实风险,是红蓝对抗、漏洞评估和系统加固的关键实践。在应用场景上,权限提升技术广泛应用于渗透测试、红队演练、漏洞研究及系统安全审计。本文以一次完整的Windows服务器提权实战为例,深入剖

weixin_33816821的博客 370

Potato提权小结

前言 当我们拿到webshell 却苦于无法提权 早之前有巴西烤肉提权,有pr提权 今天 来一个土豆提权合集 妈妈再也不担心我的webshell无法提权了 Hot Potato 前言 利用 Windows 中的已知问题在默认配置中获得本地权限提升 即 NTLM 中继(特别是 HTTP->SMB 中继)和 NBNS 欺骗 攻击者可以在安装了Windows操作系统的工作站中将自己的低权限提升至NT AUTHORITY\SYSTEM 影响范围 Windows 7、8、10、Server 2008 和 Ser

wo41ge的博客 3万+

Windows提权方法大全汇总(值的收藏)

一、无引号服务路径 ( Trusted Service Paths ) 先说实用度,比较被动,而且比较看脸。 Windows下服务的权限通常是SYSTEM。如果我们能够替换服务的启动程序为我们的恶意程序(如反弹shell),即相当于获得了SYSTEM权限,达到了提权的目的。 无引号服务路径有可能会导致这种情况的发生。 所谓无引号服务路径,就是服务启动程序的路径中包含了空格且未被引号包含起来。比如这样 C:\Program Files\floder1\service.exe 因为空格的存在,Windows.

MachineGunJoe666 5705

常见的Windows提权方法

目录 1、无引号提权路径(Trusted Service Paths) 2、易受到攻击的服务(Vulnerable Services) 3、AlwaysInstallElevated(始终安装高架) 4、信息泄露 5、基于资源的域约束性委派利用 6、POTATO家族 7、MySQL下的提权技术 MOF提权 UDF提权 启动项提权 8、命令管道提权 9、令牌窃取 10、常见Windows的提权CVE 1、无引号提权路径(Trusted Service Paths) 原理:利用.

weixin_48968378的博客 4161

48-4 内网渗透 - Rotten Potato(烂土豆) 提权

在渗透测试中,Potato家族是一种常用的提权技术,主要利用Windows服务账户的特权来将已获取的权限提升至系统(SYSTEM)级别。具体而言,Potato家族的攻击方式是将已获得的NT AUTHORITY\SYSTEM账户的访问令牌传递给CreateProcessWithTokenW或CreateProcessAsUserA函数,从而在SYSTEM账户的上下文中启动新进程,从而实现权限提升。,这篇文章介绍的提权方式跟之前最大的优势就是可以通过。,上一篇文章介绍的只能在管理员权限的基础上提升。

weixin_43263566的博客 1296

烂土豆 (ms16-075) 提权方法

所谓的烂土豆提权就是俗称的MS16-075,其是一个本地提权,是针对本地用户的,不能用于域用户。可以将Windows工作站上的特权从最低级别提升到“ NT AUTHORITY \ SYSTEM” – Windows计算机上可用的最高特权级别。

渗透之路,攻防之间皆学问 1万+

10月29日笔记(其余提权技术)

MSI安装策略提权是由于用户在配置MSI安装策略时,启用了“永远以高特权进行安装“(AlwaysInstallElevated,默认情况下为禁用状态),使得任何权限的用户都可以通过 SYSTEM 权限安装MSI程序。此时测试人员可以在目标主机上安装一个预先制作的恶意MSI文件,以获得SYSTEM 权限。MSI全称:Microsoft Installer,是微软格式的应用程序安装包,实际上是一个数据库,包含安装和卸载软件时需要使用的大量指令和程序数据。

m0_74736832的博客 1226

自动驾驶入门到进阶完整指南:感知、预测、规划、端到端、仿真测评与场景挖掘全解析

对小白来说,不建议一开始直接冲端到端大模型。先学数据和坐标系:否则所有结果都看不懂。再学 LiDAR 3D 检测:最容易建立空间感。再学 BEV/多相机感知:这是当前主流。再学轨迹预测:理解交互和多模态。再学规划控制:理解车为什么这样开。再学仿真和闭环评测:理解 open-loop 和 closed-loop 差异。最后学端到端/VLM/VLA:这时候你才知道它到底替代了哪些模块。贯穿始终学习场景挖掘和安全测评:这是工业界最核心的能力之一。

u013250861的博客 397

delphi启动ie调用本地html传参数_Potato家族本地提权分析

0x01 前言在实际渗透中,我们用到最多的就是Potato家族的提权。本文着重研究Potato家族的提权原理以及本地提权细节本文来自团队成员Polar bear的原创文章,如需转载请联系告知并注明出处0x02 原理讲解1、利用Potato提权的是前提是拥有SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限,以下用户拥有SeImpe...

weixin_39590989的博客 196

【遥感数字图像处理(朱文泉)】第一章 数字图像基础

关于图像的定义、类型、模拟图像和数字图像

甜子yu的博客 4405

麒麟linux离线源码编译安装zabbix-agent

离线源码编译安装zabbix-agent

qq_37263429的博客 2269

Windows提权方法大全汇总(非常详细)零基础入门到精通,收藏这篇就够了

但是以上步骤还是有一些细节的:我们当前并非管理员权限,大几率是无法嗅探本地流量的,如果我们能够事先知道目标主机期望NBNS查询获得的主机名,我们可以伪造一个响应,对发送NBNS查询的那个主机快速的大量发送NBNS响应 .但是nbns流量包还有个叫特征码的东西,请求包和响应包的特征码必须相同,所以我们被迫发送65536个包爆破这个特征码——本地发包速度很快,本地NBNS欺骗成功率基本上在100%。3.因为机器账户是我们创建的,我们知道他的密码账户,可以让它利用S4U2SELF协议获得一个不可转发ST。

Javachichi的博客 1986

Flowable多数据源实战:从配置到指定Schema的避坑指南

本文详细介绍了Flowable多数据源配置的实战指南,包括基础配置、数据源Bean创建、指定Schema的进阶配置以及常见问题排查。通过具体代码示例和避坑建议,帮助开发者高效实现多租户系统中的工作流引擎集成,特别强调了schema设置和事务管理的注意事项。

weixin_30824599的博客 486

Windows提权实战:Juicy Potato从IIS服务账户到SYSTEM权限

Windows提权是渗透测试与安全研究中的核心环节,其关键在于理解系统服务账户的特权设计。当攻击者通过Web漏洞获取IIS等服务账户权限后,SeImpersonatePrivilege等特权往往成为突破口。Potato家族提权技术正是围绕这类特权展开,而Juicy Potato作为经典变种,在Windows Server 2016等旧版本系统上效果显著。本文以一次靶机实战为例,详细展示从信息收集、CLSID选择到最终获取SYSTEM权限的完整过程,并针对常见失败原因给出系统化排查思路。理解这些原理,不仅能帮

weixin_34050519的博客 349

RK3566添加ffpeg【Buildroot系统】

有很多人都发现了RK3566系列的芯片是不可以直接使用ffmpeg官网源码的!会报错: Not a video capture device. /dev/video0: No such device 接下来我们就来解决这个问题!!

honmy18的博客 4070

OpenHarmony开发一个App,安装到BearPi-HM Micro开发板

建议先阅读我们这篇,这里面详细介绍了,以及hap包安装的全过程。本篇是介绍如何开发一个App,然后安装到开发板上,比如hap包,无法安装等问题。

Halifax 1030

土豆家族工具使用适配表格大全【windows提权】

【摘要】"土豆家族"是一系列Windows本地提权工具,通过DCOM/RPC/NTLM中继等技术从低权限提升至SYSTEM。主流工具包括Hot Potato(2016,NTLM中继)、JuicyPotato(2017,多CLSID)、RoguePotato(2019,RPC重定向)和GodPotato(2023,全版本兼容)等。这些工具多需SeImpersonatePrivilege权限,针对不同Windows版本(如Win10 1809前后)存在兼容性差异。典型使用步骤包括下载二进制文

vortex5的博客 1313

MIPI D-PHY IP 使用说明(一)

目录 前言 一、IP 特点 二、IP 可用性 三、IP 总览 四、IP 声明 五、IP 结构 六、IP 分流桥 模式 七、端口描述 1、PPI 接口信号 1、常规 PPI控制信号 2、发送模式 时钟通道 高速 PPI 信号 3、发送模式 时钟通道 逃逸模式PPI 信号 4、发送模式 数据通道 高速 PPI 信号 5、发送模式 数据通道 控制接口PPI 信号 6、发送模式 ...

记录所学,分享知识,结识挚友 2507

Windows Potato 提权工具家族调研报告

随着微软不断修补旧的漏洞,Potato 家族也在不断进化。权限,结合 NTLM 中继/反射或 DCOM/RPC 触发机制,最终获取 NT AUTHORITY\SYSTEM。在 Windows 本地提权领域,“Potato”系列工具主要通过滥用服务账户(如。或 SeAssignPrimaryTokenPrivilege。)拥有的 SeImpersonatePrivilege。如果目标用户没有这两个权限,上述所有工具均无法使用。所有 Potato 提权工具生效的。

OneCrab的博客 261

Midscene.js(3):手把手教你用 YAML 脚本实现 AI 驱动的 Web UI 自动化「喂饭教程」

Midscene.js是一款开源的AI驱动UI自动化工具,通过自然语言描述即可控制浏览器或Android设备执行操作。它支持YAML脚本编写测试用例,降低了自动化测试门槛。

blues_C的博客 3246

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Windows权限提升 & 数据库提权深度手册

本文摘要: 本文系统讲解了Windows系统与数据库权限提升技术,涵盖四大核心内容: Windows提权体系 权限层级划分(User→SYSTEM→TrustedInstaller) 7类主流提权方法:内核漏洞(如MS16-032)、服务配置错误、注册表滥用、DLL劫持、计划任务、凭证窃取(Mimikatz)、Potato家族提权(JuicyPotato等) 数据库提权技术 MySQL:UDF函数提权、MOF文件攻击、日志写WebShell MSSQL:xp_cmdshell利用、CLR程序集攻击、链接服务

油墨香^-^的博客 244

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Spring4Shell(CVE-2022-22965)
下一篇: 弱密码测试工具blaster使用演示
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值