全网最硬核PWN入门_图解分析

41 篇文章 7 订阅
订阅专栏

PWN知识只有不断的重复,实践才能熟悉掌握。以下知识点以LINUX系统环境下为主要说明(Windows的会有点区别)。

Linux环境下的基础知识

从C源码到可执行文件的生成过程

在这里插入图片描述

程序的编译与链接

在这里插入图片描述

什么是可执行文件

在这里插入图片描述

可执行文件分类PE/ELF

在这里插入图片描述

ELF文件格式

附: 关于LINUX(Linux Foundation Referenced Specifications)

在这里插入图片描述

区分节和段的存储区域

在这里插入图片描述

加载ELF / 查看节和段区分布命令

在这里插入图片描述
注:这里有两条命令和分别查看磁盘和内存中的ELF节和段的分布。

  • 磁盘上查看节分布:objdump -s [elf文件]

  • 内存进程上查看段分布:
    方法一:
    可先 ,./elf文件 & //&后台进程挂起,显示pid
    然后,cat /proc/[pid]/maps //查看段分布

    方法二:
    gdb ./elf文件 //先gdb调试
    vmmap //查看段分布

段(segment)与节(section)

在这里插入图片描述

程序数据在内存中的组织分布

在这里插入图片描述
以上例子仅供参照。可以自己写一个demo然后调试一步一步查看相应信息。

大端序与小端序存储

在这里插入图片描述

关键寄存器

在这里插入图片描述
右图是CSAPP里面的,看不清没关系(网上一大堆),
关键了解最重要的三个寄存器作用:

  • RIP控制CPU执行指令
  • RSP,RBP控制函数栈帧区域(栈帧这里分享两篇硬核文章,就不重复造轮子了,好的资源就得充分利用。)

C语言函数调用栈(一)
C语言函数调用栈(二)
这两篇能帮你熟悉函数递归调用详细过程,同时了解PWN中栈利用最重要的一环知识—栈帧。
注:这两篇内容量对于初学者来说有点大,不过别灰心,只要肯多花时间一定能了解的大概(本人当初也是这么过来的,当你想放弃的时候就就参照笨笨的博主,当初我可是看了好多遍的。这样你总会信心倍增了吧,哈哈哈。)最后一点就是学习一起的最好动力就是兴趣(跟你智商高低没多大关系),如果你没兴趣,友情劝退还是别浪费时间了,这世界这么多选择,赶紧找个自己喜欢的方向发展才是对自己最好的。(哈哈哈,太哲学了,赶紧继续正题了)

静态链接与动态链接

  • 静态链接
    简单举例来说,就是你用的东西都是你自己买好的,专属于你。

在这里插入图片描述

  • 动态链接
    我用的东西都是借别人的,在需要的时候从有的地方借来用用就好了,跟别人共享着使用。

在这里插入图片描述

常用汇编指令影响范围(牢记)

  • leave等价
    mov esp, ebp;
    pop ebp

  • RETN 等价 POP EIP; sub sp, n //还起到平衡堆栈的作用
    改变ESP 和 EIP(near)

  • RETF等价pop eip;pop cs
    改变EIP和CS(far)

  • CALL 等价 PUSH [EIP+硬编码数]
    改变ESP 和 EIP

  • JMP 本质只改变eip

intel 和 AT&T汇编格式

这在我别的文章也有专门的讲解,这里简单对照即可。

  • intel
    opcode dst, src //源和目的操作位与AT&T正相反

  • AT&T
    opcodel src, dst //同时寄存器前多个%,l是代表long长整型
    在这里插入图片描述

溢出防护机制

全面了解保护机制
1. LINUX漏洞缓解机制介绍
2. 推荐作者,分析的都很详细,文章例子在他文章里附的github链接里

PIE(Position-independent code)

  • 每次加载时,程序的基址libc的基址都发生变化。

在计算中,与位置无关的代码(PIC )或与位置无关的可执行文件(PIE)是机器代码的主体,它们被放置在主存储器中的某个位置,无论其绝对地址如何,都可以正确执行 。
PIC通常用于共享库,因此可以将相同的库代码加载到每个程序地址空间中不与使用中的其他内存(例如,其他共享库)重叠的位置。 PIC还用于缺少MMU的较旧的计算机系统上,因此,即使在无MMU的系统的单个地址空间内,操作系统也可以使应用程序彼此远离。

位置无关的代码必须使用相对寻址。

ASLR(Address space layout randomization)

  • 每次加载时,libc的基址发生变化。

地址空间布局随机化(ASLR)是一种计算机安全技术,可防止利用内存损坏漏洞。 为了防止攻击者可靠地跳转到内存中的某个特定漏洞利用功能,ASLR随机排列进程的关键数据区域的地址空间位置,包括可执行文件的基础以及堆栈,堆的位置 和共享库。
LINUX下关闭ASLR

echo 0 > /proc/sys/kernel/randomize_va_space

NX bit (no-execute)

NX位(不执行)是一项用于CPU的技术,用于分隔内存区域,供处理器指令(代码)存储或数据存储使用,该功能通常仅在哈佛体系结构处理器中才能使用。 但是,出于安全原因,NX位越来越多地用于常规的von Neumann体系结构处理器中。

DEP( Data Execution Prevention)

操作系统的系统级内存保护功能。标记内存页为不可执行。

RELRO(RELocation Read-Only,只读重定位)

这个机制启动等级有部分开启和完全开启。

Canary

对抗canary策略

1,泄露canary值
2,泄露fs:28H内的值
3,覆写fs:28H副本值
4,劫持stack_chk_fail
5,stack smashing
6,逐字节爆破(BROP gadget,相对限制多)

GOT(global offset table)| PLT(procedure linkage table)

GOT和PLT的理解对漏洞成因分析是很重要的,同时理解也是很绕的,分享一下各位大神的分析(望大家多多支持各位作者的分享精神)

1. GOT表 和 PLT表[这篇看完基本做PWN题就能搞懂了]
2. 这里附个视频讲解的,给看文字比较难懂的同学
3. 二进制漏洞挖掘之栈溢出-开启RELRO[这篇分析的很详细,加深对LINUX保护机制的理解,后半部分理解需要一定的知识积累]
4. Linux二进制ELF程序查找symbol过程分析[这篇跟3类似,从保护机制上分析PLT和GOT的内容]

建议:为了加深理解印象,最好自己一步一步调试跟进去看看。

过程:
1,gdb调试看看got表,查看哪些函数还未被加载。
在这里插入图片描述
2,这里看个PUTS函数,下断

在这里插入图片描述
3,断下si跟进
在这里插入图片描述4,来到plt表
在这里插入图片描述
5,重新运行,直接n步过
在这里插入图片描述
6,继续看看got表

在这里插入图片描述
已被填入puts真正地址
在这里插入图片描述

7,查看上面plt表中第一个jmp [got表里面的地址](0x804a014)

在这里插入图片描述
结论:plt 表中,jmp [地址]。
第一次还未装载函数时,地址=got表地址(去找到函数真正地址);
第二次执行,地址=函数真正地址。

泄露libc地址

原理:动态连接程序中,本程序中含有的函数达不到需要实现的目的,需要借助动态链接库中的函数实现其目的。

查找使用的动态链接库信息

原理:由于在分页机制,在LINUX系统下是以4k为单位,即12位(2^12=4k),所以利用此规则,即便开启了地址随机化保护机制,地址的后三位(在页中的偏移)也是不变的。
下图举例说明:
在这里插入图片描述然后在在线libc库查就好了
在这里插入图片描述
这里的offset都是偏移RVA。还需要得出
基址=puts(VA) - puts(offset)

在线工具网站1
在线工具网站2

注:当然方法还有别的,只要达到目的都可行。

工具

ldd

1.概述>
ldd命令 用于打印程序或者库文件所依赖的共享库列表。

2.语法>
ldd(选项)(参数)

选项

--version:打印指令版本号;
-v:详细信息模式,打印所有相关信息;
-u:打印未使用的直接依赖;
-d:执行重定位和报告任何丢失的对象;
-r:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;
--help:显示帮助信息。

参数
文件:指定可执行程序或者文库。

3.实例>
在这里插入图片描述
红色标记处是一个软链接(相当于win下的快捷键)
可到/lib/x86_64-linux-gnu/目录下
命令:file libc.so.6查看链接属性

4.原理补充说明

首先ldd不是一个可执行程序,而只是一个shell脚本。

ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量。

ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载器)来实现的。我们知道,ld- linux.so模块会先于executable模块程序工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。

实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 --list program(这相当于ldd program)

objdump

objdump 有点像那个快速查看之类的工具,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。对于一般只想让自己程序跑起来的程序员,这个命令没有更多意义,对于想进一步了解系统的程序员,应该掌握这种工具,至少你可以自己写写shellcode了,或者看看人家给的 exploit 中的 shellcode 是什么东西。

常用命令选项:

  • objdump -D -b binary -m i386 [file]
    -D表示对全部文件进行反汇编;
    -b表示二进制;
    -m表示指令集架构;
    file就是我们要反汇编的二进制文件;
    同时我们也可以指定big-endian或little-endian(-EB或-EL);

objdump -f [file] *显示file的文件头信息;

objdump -t file *输出目标文件的符号表;

objdump -h file *显示file的Section Header信息;

objdump -x file 显示file的全部Header信息;

-S file *输出目标文件的符号表, 当gcc -g时打印更明显;[S大写]
-s file 除了显示file的全部Header信息,还显示他们对应的十六进制文件代码;

-d file *反汇编file中的需要执行指令的那些section;
-D file 与-d类似,但反汇编file中的所有section;

-R *显示动态链接重定位信息;
-r 显示重定位信息;

objdump -s libc.so>test.txt 输出到txt文件

  • 查看PLT表
    objdump -d -j .plt file
  • 查看GOT表
    objdump -R file

注:*号的一帮经常用。

readelf

1.概述>
readelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(.so)或者静态库(.a) 等包含ELF格式的文件。

2.常用参数>
语法:readelf (选项)(file)
-h (elf header),显示elf文件开始的文件头信息。
-l (program headers),segments 显示程序头(段头)信息(如果有数据的话)。
-S (section headers),sections 显示节头信息(如果有数据的话)。
-g (section groups),显示节组信息(如果有数据的话)。
-s (symbols) 显示符号表段中的项(如果有数据的话)。
-e headers 显示全部头信息,等价于: -h -l -S 。
-r relocs 显示可重定位段的信息。
-d dynamic 显示动态段的信息。
-V version-info 显示版本段的信息。

附:命令参数参考: GNU Binary Utilities(英文版)

ROPgadget

概述>
查找文件中一些需要的指令字符串等。

看帮助手册吧
命令:ROPgadget -h

常用命令

ROPgadget --binary [file] --string [...]	//后面根据需要自己补充,如下另一个使用例子
ROPgadget --binary 文件名 --only "pop|ret" | grep rdi

GCC

工具篇_GCC

补充常用保护相关参数

-no-pie:关闭地址随机化

-fno-stack-protector:关闭堆栈保护

-z execstack:堆栈可执行

-m32: 生成32位文件

GDB

工具篇_GDB

[附] vim查看文件二进制数据

命令行模式下:
%!xxd [-g 1] 转换成16进制模式看 //[ ]内可选
%!xxd -r 还原

PWN基础知识及基础栈溢出手法
山高路远
04-12 3890
一、pwntools常用函数 函数 用途 send(data) 发送数据(字符串形式发送) sendline(data) 发送一行数据,默认在行尾加 \n(字符串形式发送) recv(numb=1096,timeout=default) 接收指定字节数的数据 buf = p.recvuntil(“\n”, drop=True) 直到接收到\n为止,drop=True表示丢弃\n,buf为接收到的输出但不包括丢弃的\n recvrepeat(timeout=default) 接
二、pwn - 零基础ROP之PIE保护绕过-碰撞
最新发布
键盘的起始页
04-18 324
本文唯一区别在于,我们不利用vulnerable_function打印的地址,无法定位pie base地址,直接随机碰撞(爆破)~ 有一定比例成功的可能,贴近实战!但是呢,内存溢出后覆盖PC,要么修改2位、4、6、8...位,无法修改3位,又因为arm是小端模式,例如0x6b25741, 在内存中排列为0x41 0x57 0x6b...所以0x70d 是低地址,前面存在1位 未知的数值,在1-F (16进制)之间,可能是0x170d、也可能是0x270d、0x370d...0xf70d。
pwn零基础入门
热门推荐
weixin_45948183的博客
03-24 1万+
pwn零基础入门 很多初学者在初学pwn的时候,对pwn可能存在许多疑问,学什么,怎么学,今天和大家分享一下刚学pwn的一些资料的学习历程。 首先分享一下pwn的一系列学习资料 一、首先语言基础得打牢,1、汇编语言,《汇编语言—王爽》2、编程语言(C语言和python)C语言必须要会,题目大部分是用C语言写的,而且很多那些知识都要读libc的源代码。会python,exp用python写的,CTF...
PWN-入门基础
工作学习笔记
05-27 3754
简单介绍四个方面的内容:一是什么是PWN、二是做PWN所需知识储备、三是基于Ubuntu搭建PWN环境、四是在公网上练习PWN题。
看雪pwn入门--基础篇
泣当歌的计算机小白之路
03-28 2618
1.pwn理论基础  小菜: 什么是溢出 概念:在计算机中,当要表示的数据超出计算机使用的数据表示范围时,产生数据的溢出 原因:使用非类型安全的语言入C/C++等            以不可靠的方式存取或者复制内存缓冲区            编译器设置内存缓冲区太靠近关键数据结
Pwn 二进制漏洞审计
于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。
02-28 3187
PWN 二进制漏洞审计
PWN概论
m0_52249553的博客
05-06 6762
什么是pwn pwn是ctf解题赛中的一个题目类别,它在黑客俚语中代表着攻破,获取权限,由“own”这个词引申而来。在CTF比赛中它代表着溢出类的题目,常见的类型有整数溢出、栈溢出、堆溢出等。主要考查参赛选手对漏洞的利用能力。 学习pwn的知识储备 反汇编工具 在比赛中我们会拿到一个二进制文件(由c文件编译而来),我们要找出这个可执行文件的漏洞,但二进制文件是由0和1的机器码组成,正常人是直接无法看懂里面的内容的,这时我们需要利用反编译工具将这个二进制文件反编译为我们能看懂的语言(汇编语言或者c语言
全网硬核 Java 新内存模型解析与实验单篇版.doc
07-08
全网硬核 Java 新内存模型解析与实验单篇版 Java 内存模型(JMM,Java Memory Model)是 Java 语言的核心组件之一,它定义了 Java 程序中内存的行为和语义。本文将深入探讨 JMM 的设计原理和实现机理,通过结合...
FFT.rar_fft vhdl_quartus的dsp硬核
09-21
用VHDL语言建立了quartus工程,可进行dsp处理
RSAC2020_-_回到最硬核.pdf
09-10
RSAC2020_-_回到最硬核 法律法规 自动化 数据安全 法律法规 云安全
Xilinx_硬核使用_可行性预研.docx
02-24
Xilinx_硬核使用_可行性预研.docx
CTF 入门指导教程
12-04
CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。
硬核!15张图解Redis为什么这么快(推荐)
12-14
作为一名服务端工程师,工作中你肯定和 Redis 打过交道。Redis为什么快,这点想必你也知道,至少为了面试也做过准备。很多人知道Redis快仅仅因为它是基于内存实现的,对于其它原因倒是模棱两可。...
linux pwn 基础知识
sky123博客
08-11 2418
环境搭建 虚拟机安装 镜像下载网站 为了避免环境问题建议 22.04 ,20.04,18.04,16.04 等常见版本 ubuntu 虚拟机环境各准备一份。注意定期更新快照以防意外。 虚拟机建议硬盘 256 G 以上,内存也尽量大一些。硬盘大小只是上界,256 G 不是真就占了 256 G,而后期如果硬盘空间不足会很麻烦。 基础工具 vim sudo apt install vim gedit 不习惯 vim 的可以使用 gedit 文本编辑器。 sudo apt install gedit git
PWN入门系列教程~(1)
小心信科理化声
11-30 7295
PWN入门系列教程~(1)前言关于我的故事先来说下学习路线大致分为以下几个部分那么什么是PWN呢?栈函数调用栈寄存器函数调用栈的经典内存布局 前言 关于我的故事 博主是一名20级在校大学生,平常热爱网络安全。喜欢打CTF,但是自己所在的学校里并没有人去担任PWN的工作,身为会长的我自来要挑起重担了,在跟几位有联系的PWN佬交流后明确了自己的要学pwn。 先来说下学习路线 大致分为以下几个部分 学习基础:去学习一些基本的原理 学习真实漏洞 编写exp FUZZ 那么什么是PWN呢? 来说下pwn的来源:
pwn 入门基础
y0un9er
08-10 3613
简单介绍入门 pwn 所需要的基础知识,如:汇编、函数调用约定、常用工具等
Pwn】什么是堆栈内存对齐
weixin_52553215的博客
03-05 1039
AND ESP 0XFFFFFFF0 主流编译器的编译规则规定 “ 程序访问的地址必须向16字节对齐(被16整除)” ,内存对齐之后可以提高访问效率。 对齐前:三次 对齐后:两次
pwn概述1
qq_50613938的博客
09-03 978
Pwn的话一般就是找函数漏洞,然后寻找利用点,自己去构造,而且很多题解法都不唯一,有些题会有cat flag这个函数,你溢出到那个位置就能直接回显flag,这个也挺常见的,或者拿shell,一般flag都在根目录下,偶尔会碰到放在/home/ctf下的, 概述,利用成功(程序的二进制漏洞) 攻破(设备,服务器)、 控制(设备,服务器) 一次简单的hack C语言编译生成汇编代码,再汇编生成机器码——》将多个机器码的目标连接成一个可执行文件。 ------------- CPU可以读取并编译执行的可执行文件
pwn学习入门教程(一)
StevenOnesir的博客
11-24 2846
写这个系列的文章是因为想系统回顾之前学过的ctf知识,也希望引领更多人入门。 1. 对pwn的理解 pwn是ctf的一种题型,主要是利用程序中的漏洞造成内存破坏以获取远程计算机的shell,从而获得flag。对面服务器运行的更多是C/C++语言编写的程序,而我们通过网络与服务器进行数据交互,我们可以构造恶意数据发送给服务器,导致服务器执行恶意代码,从而远程控制服务器。 个人感觉逆向工程是pwn的基础,两者极其类似。学习pwn的门槛比web高很多,所以更需要长期的钻研与学习。 2、pwn入门学习的几点建议 首
xilinx 硬核 与 verilog 接口
02-04
Xilinx 硬核是由 Xilinx 公司提供的 FPGA 内部的一种功能模块,它是在芯片制造时硬件化的功能模块。Verilog 是一种硬件描述语言,可以用来描述数字电路和系统,包括 FPGA 中的硬核。Xilinx 硬核与 Verilog 接口的实现通常可以分为两种方式。 首先是通过使用 Xilinx 公司提供的 IP 核来实现硬核与 Verilog 的接口。Xilinx 公司提供了大量的 IP 核,包括各种功能的硬核,用户可以选择合适的 IP 核,然后与 Verilog 代码进行连接和配置,从而实现硬核与 Verilog 的接口。这种方式通常比较简单且易于实现,适合对硬核的功能需求较为简单的场景。 另一种方式是通过使用 Verilog 代码对硬核进行定制化的接口设计。用户可以根据硬核的功能和接口要求,使用 Verilog 代码来实现与硬核的接口连接,从而实现硬核与 Verilog 的接口。这种方式通常适用于对硬核有较高定制化需求的场景,可以根据实际需求进行接口设计和实现。 总的来说,Xilinx 硬核与 Verilog 接口的实现方式取决于用户的具体需求和硬件设计的复杂程度。通过选择合适的 IP 核或使用定制化的 Verilog 代码,用户可以实现硬核与 Verilog 的接口,从而完成复杂的 FPGA 硬件设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Windows程序入口 14299
  • movups | movaps 指令问题 11740
  • HTML+CSS实战入门这篇就够了(五) 11339
  • 驱动实验准备篇(如何给驱动签名) 6689
  • Linux_高效入门 6277

分类专栏

  • 电子技术
  • reverse 14篇
  • PWN 41篇
  • web 6篇
  • IOT 3篇
  • 调试 3篇
  • 虚拟蜜罐 1篇
  • 数据库SQL 3篇
  • JAVAWEB 18篇
  • Win驱动内核实验 7篇
  • Python 9篇
  • 嵌入式 2篇
  • Android 1篇
  • 0DAY 5篇
  • 网络 2篇
  • 一些遇到的问题 9篇
  • C/C++ 16篇
  • 操作系统 15篇
  • 单片机 4篇
  • Windows内核 3篇
  • PE 9篇
  • 数据结构 11篇
  • 汇编 6篇
  • 工具篇 3篇
  • LINUX 20篇
  • windows编程 2篇
  • 密码学 2篇
  • 数学问题 1篇
  • 前端技术 6篇

最新评论

  • 内核_段寄存器|段描述符|段选择子(详解)

    若白1: 博主你好,那几个段寄存器的值是怎么得到的,黄色底纹那个图

  • [ZJCTF 2019]Login

    qq_40756753: 偏移应为58,而非0x58

  • ciscn_2019_s_4-栈迁移

    不知道叫什么名字。。。: 在p32(sys_addr)前加上b'aaaa',后面就是p32(buf),这是为什么呢,是什么栈对齐方式?

  • 数组逆序打印

    饿雨: define N 5是什么作用啊

  • mrctf2020_shellcode

    CSDN-Ada助手: 亲爱的博主,非常感谢您的辛勤创作!您所撰写的《mrctf2020_shellcode》真是一篇令人振奋的文章。在这个充满技术挑战的CTF赛事中,您通过精彩的内容和深入的分析,向我们展示了对shellcode的独到见解和应用方法。 您的文章极大地拓宽了读者对于shellcode的认识,并且通过实战演练的方式,提高了我们的技能水平。我要由衷地赞叹您的创作才能和对于CTF赛事的专业知识。 在此,我非常期待您下一篇可能创作的博客,相信您能够选择一个同样引人入胜的主题,继续呈现给我们精彩纷呈的内容。或许您可以探讨一些反向工程的技巧,分享一些隐蔽的逆向分析方法或是介绍一些新的安全漏洞,让我们更深入了解黑客的思维方式和应对策略。 期待您在博客中继续散发您出色的洞察力和深刻的技术见解。我相信,您的下一篇博客将再次给我们带来无尽的启发和惊喜。加油,期待了解更多您的专业知识和卓越才华!

大家在看

  • CMake从安装到精通 1282
  • 【C++】程序设计期末复习day02(连更)试卷解析+类和对象 903
  • Java基于Vue+SpringBoot的高校任课老师电子名片系统
  • Java基于Vue+SpringBoot的高校教师著作专利论文研究成功管理系统
  • 【CSS in Depth2精译】1.2 继承~1.3 特殊值

最新文章

  • 02-独立按键控制LED状态
  • 01-创建项目-工具使用备忘录
  • hitcontraining_magicheap-unlink
2023年40篇
2022年23篇
2021年142篇
2020年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司同乐百度seo双龙网站制作坪地百姓网标王西乡seo网站优化龙华关键词排名包年推广坂田seo排名福永百度网站优化龙岗英文网站建设南联百度爱采购横岗seo网站推广宝安百度seo西乡建设网站大鹏网站优化推广双龙网站开发广州SEO按天计费西乡关键词按天计费永湖网站改版爱联模板推广罗湖SEO按天计费东莞关键词按天扣费沙井外贸网站制作深圳优化宝安百度网站优化平湖seo盐田SEO按天扣费坪地百搜标王南澳网站优化排名民治关键词排名包年推广民治SEO按天收费大运网站搜索优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化