在上篇文章中,我们已经成功搭建好了一个内网的环境,在进入内网后,我们面对的是一片"黑暗森林",所以我们需要对当前所处的网络环境进行判断通常的判断分为以下三种:
- 我是谁?——对机器角色的判断。
- 这是哪?——对目前机器所处网络环境的拓扑结构进行分析和判断。
- 我在哪?——对目前机器所处位置区域的判断。
不管是在外网中还是在内网中,信息收集都是重要的第一步。对于内网中的一台机器,其所处内网的结构是什么样的、其角色是什么、使用这台机器的人的角色是什么,以及这台机器上安装了什么杀软、这台机器是通过什么方式上网的、这台机器是笔记本还是台式机还是虚拟机等问题,都需要通过信息收集来解答,渗透测试的本质就是信息收集!

由上图可见,当前机器有一张内网的网卡,并且 主 DNS后缀 是⼀个域名,一般来说只有域机器才会有域名显示,在工作组下显示的是空:

可以看到通过查看网卡信息可以判断出当前机器是否在域内,以及是否是⼀台域机器。

通过查看系统的详细信息我们可以判断出当前主机是一台属于域内的机器,因为在工作组环境的机器只会显示WORKGROUP:

可以看到通过查看系统详细信息也可以判断出当前机器是否在域内,以及是否是⼀台域机器。

可以发现域机器在工作站域会显示出当前的域的名称,而在工作组环境的机器只会显示WORKGROUP:

通过查看当前登录域及域用户也能知道当前机器是否在域内,是否是⼀台域机器还是工作组机器。
通过执行以上命令后有三种情况:
- 存在域,当前用户不是域用户:

- 存在域、当前用户是域用户:

- 当前是工作组环境

通过查看域内时间也能知道当前机器是否在域内,是否是一台域机器还是工作组机器。
当我们判断出当前是域还是工作组后,我们就可以对当前机器进行信息搜集了。
3.1.1 获取网卡配置信息

通过查看网卡配置信息,可以判断出当前主机有两个网卡,可以初步判断是一台边界服务器。我们也就可以扩大范围进行内网横向渗透,这就代表我们可以有机会获取更多主机的权限。
3.1.2 查询操作系统和版本信息

为什么要获取操作系统和版本信息呢?因为当我们知道当前系统的版本后,如果当前获取的主机权限是一个低权限的用户,而我们想要提升为system权限,就可以针对性的搜集一些符合当前版本的exp。当我们在获取到system权限以后,也可以根据当前操作系统的版本选择不同的方式提取hash或是明文密码。
3.1.3 查看安装的软件及版本、路径

也可以通过执行powershell命令来获取安装软件的版本以及路径。

通过搜集当前本机安装了哪些版本的软件后,我们就知道当前机器的使用情况,比如某个软件存在一些溢出、提权漏洞、或者我们也可以利用⼀些软件进行 DLL劫持提权。
3.1.4 查询本机服务信息

通过搜集当前本机的服务信息,我们就可以知道当前机器上是开启或是关闭了哪些服务。
3.1.5 查询进程列表
1、查看当前进程列表和软件进程

也可以通过wmic命令进行查询;

2、查看当前进程列表对应的用户身份

通过执行这条命令我们可以知道每个进程是由哪个用户所启动的,但是这条命令只能查看相同级别或者比当前权限更低的用户的进程,如果当前机器内存在域管进程,就可以通过令牌窃取直接获取域管权限,域管进程如下:

3、查看当前进程是否有杀毒软件(AV)

通过执行完这条命令后,我们就可以知道当前有哪些软件,以及对应的 PID 号、服务名,还可以将返回结果在杀软在线查询工具上进行查询,判断是否有杀毒软件。
下载地址:https://github.com/r00tSe7en/get_AV
因为在靶场环境中没有安装杀软,因此以物理机执行命令的返回结果进行演示:

常见杀毒软件的进程,如下表:
3.1.6 查看启动程序信息

通过查看启动程序信息我们可以知道当前机器开机的时候会运行哪些软件,可以利用自启动进行劫持。
3.1.7 查看计划任务

在windwos 2008 服务器执行·························该命令会报错:无法加载列资源

可以直接使用at查看当前的计划任务

通过查看本机计划任务我们就可以知道当前机器上会在什么时间运行哪些软件或是执行什么命令,我们就可以利用这⼀点来进行计划任务劫持。
3.1.8 查看主机开机时间

通过查看本机的开机时间,我们就能判断这台机器的管理员是不是经常关机,是不是经常登陆这台机器。
3.1.9 查询用户列表
查看本机用户列表:

通过分析本机用户列表,可以找出内网机器的命名规则。特别是个人机器的名称,可以用来推测整个域的用户命名方式。
查看本机管理员 (通常含有域用户)

默认Domain Admins组中为域内机器的本地管理员用户,通过查看本机用户和本机管理员用户,就可以判断当前机器有没有其他管理员,或是有没有一些恶意账户,在真实的环境中,为了方便管理,会有域用户被添加到域机器的本地管理员用户,如下图:

查看当前在线用户

通过查看当前在线用户我们就可以知道当前机器有没有管理员在登陆,因为有的时候目标机器上可以存在一些杀软影响我们后续的一些操作,因此我们可能需要远程登录到目标服务器上,如果盲目登录,就有可能存在暴露的风险。
3.1.10 查询会话情况

如果没有建立连接,可以通过以下命令建立一个ipc连接:
例如:这里我想和10.10.10.13 机器下的 administrator 用户建立一个连接

3.1.11 查看本机端口开放情况

通过查看本机端口开放情况,我们就可以重点关注状态为ESTABLISHED端口连接的IP地址判断知道当前机器有没有与其他机器进行连接,也可以看到当前机器有没有开放远程桌面3389端口或是MySQL服务 3306 端口或是135、139、445等高危端口,为后续的渗透提供更多的方式。
3.1.12 查询补丁信息


需要注意系统的版本、位数、域、补丁情况及更新频率。域内主机的补丁通常是批量安装的,通过查看本机补丁列表,就可以找到未打补丁的漏洞进行利用。
3.1.13 查询路由表及ARP缓存表


通过查询路由表及ARP缓存表,我们就可以知道当前网络的分布情况以及内网内还有没有其他机器。
3.1.14 查询本机共享

通过查看本机共享我们就可以知道本机里哪些资源可以被外部主机进行访问,在后续IPC连接中会使用到。
3.1.15 查询当前权限
结果可能为:本地普通用户、本地管理员用户、域内用户。
- 本地普通用户:当前win-2008本机的user用户,如下图。

- 本地管理员用户:当前位win7-x64-test本机的administrator用户,如下图。

- 域内用户:当前为c1ay域内的zhangsan用户,如下图。

3.1.16 查看防火墙配置

通过查看防火墙配置我们就能知道当前机器是否开了防火墙以及防火墙的一些配置信息。。。
修改防火墙配置信息:
关闭防火墙:
查询并开启远程连接服务:
查看远程连接端口

开启远程连接服务
3.1.17 查看代理配置情况

WMIC下载地址:http://www.fuzzysecurity.com/scripts/files/wmic_info.rar

Empire提供了用于收集主机信息的模块。输入命令“usemodule situational_awareness/host/winenum”,即可查看本机用户、域组成员、密码设置时间、剪贴板内容、系统基本信息、网络适配器信息、共享信息等,如图:

另外,situational_awareness/host/computerdetails模块几乎包含了系统中所有有用的信息,例如目标主机事件日志、应用程序控制策略日志,包括RDP登录信息、PowerShell脚本运行和保存的信息等。运行这个模块需要管理员权限。
1、获取域SID

域SID主要是用来区分不同域,域用户SID是用来区分域内不同的用户的,在后续票据传递中会使用到。
2、查询域内用户

通过查询域内用户就可以知道当前这个域内所有的用户名
3、查看域用户的详细信息

通过查看域用户的详细信息可以得到域用户密码的到期时间,所属组以及上次登录的时间等信息
4、查询域列表(假如存在多个域)

通过查询域列表可以看到,当前存在两个域分别是:C1AY,SUB
5、查看域内主机信息

通过查询域内主机信息可以看到,当前域内存在着3台计算机。
6、获取所在指定域下的主机名

通过查询指定域下的主机名也可以看到,当前域内存在着3台主机。
7、查看域内计算机

通过查看域内计算机可以看到,一共有2台计算机加入了当前域。
8、查看域信任关系

通过查看域信任关系可以判断出当前域是否存在着林信任或是父子域信任,后续在跨域攻击或者是跨林攻击中会使用到。
9、查询域密码信息

通过查询域密码信息我们就可以知道当前域用户多久修改⼀次密码,密码策略的是什么,就可以针对性的制定⼀份密码字典,提高效率。
10、查看域内时间(时间服务器)

通过查看域内时间(时间服务器),我们得知了当前域的时间,我们就可以通过使用定时任务+IPC远程连接的方式来运行⼀些bat文件,后续会详细介绍,
11、查看域内用户组列表

- Domain Admins:域管理员。
- Domain Computers: 域内机器。
- Domain Controllers:域控制器。
- Domain Guest: 域访客,权限较低。
- Domain Users: 域用户。
- Enterprise Admins: 企业系统管理员用户。
在默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限。
通过查看域的用户组我们可以知道每个组具体是做什么的,比如说⼀些大型企业或者集团会有专门设有财务组、信息组、营销组...等等,那么假设我们要针对于某个部门、某个组、在具体到某个人来进行渗透,那么搜集组信息就尤为关键了。
12、查看存在的用户

常用的dsquery命令如下:

1、通过nltest命令查找域控制器

可以看到当前域内存在着两台域控制器,一台为主控制器,一台为辅域控制器。
2、通过查询域内时间

因为时间服务器一般为域控制器,我们也可以通过ping命令来获取到域控制器的IP地址:

3、查看域控制器组

4、查询主域控制器

5、nslookup查询

4.3.1 查看域管理员组

4.3.2 psloggedon.exe
该工具可以查看本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。如果指定的是用户名而不是计算机名,该工具会搜索网上邻居中的计算机,并显示该用户当前是否已经登录。其原理是通过检查注册表 HKEY_USERS 项的 key 值 和 通过 NetSessionEnum API 来枚举网络会话,但是该工具的某些功能需要管理员权限才能使用。
参数:
- -l:仅显示本地登录,不显示本地和网络资源登录
- -x:不显示登录时间
- 计算机名:指定要列出登录信息的计算机的名称
- 用户名:指定用户名,在网络中搜索该用户登录的计算机,该功能实现有问题
效果如下:
- 获取本地及远程登录的计算机名称

- 获取指定计算机名的用户

- 获取指定用户登录的计算机

4.3.3 PVEFindADUser.exe
该工具可用于查找活动目录用户登录的位置,枚举域用户,以及查找在特定计算机上登录的用户,包括本地用户,通过RDP登录的用户、用于运行服务和计划任务的用户。该工具的运行不需要管理员权限, 只需要普通域用户即可。
参数:
- -h:显示帮助信息
- -u:检查程序是否有新版本
- -current :如果仅指定了-current参数,将获取目标计算机上当前登录的所有用户。如果指定了用户名,则显示该用户登录的计算机
- -last:如果仅制定了-last参数,将获取目标计算机的最后一个登录用户。如果指定了用户名,则显 示此用户上次登录的计算机。根据网络的安全策略,可能会隐藏最后一个登录用户的用户名,此时 使用该工具可能无法得到该用户名。
- -noping:阻止该工具在尝试获取用户登录信息之前对目标计算机执行ping命令 。
- -target:可选参数,用于指定要查询的主机。如果未指定此参数,将查询当前域中的所有主机。 如果指定了此参数,则后跟一个由逗号分隔的主机名列表。
效果如下:
- 查询所有主机当前的登录用户

查询结果将 被输出到 report.csv文件中。
- 查询指定用户当前登录的主机

- 查询指定主机当前的登录用户

4.3.4 PowerView
使用PowerView.ps1脚本的Invoke-StealthUserHunter和Invoke-UserHunter函数:
- Invoke-UserHunter:找到域内特定的用户群,接收用户名、用户列表和域组查询,接收一个主机列表或查询可用的主机域名。它可以使用Get-NetSessions和Get-NetLoggedon扫描每台服务器并对扫描结果进行比较,从而找到目标用户集,不需要管理员权限。
- Invoke-StealthUserHunter:只需要进行一次查询,就可以获取域内的所有用户。该函数从user.HomeDirectories 中提取所有用户,并对每台服务器进行Get-NetSessions获取。因为不需要使用Invoke-UserHunter对每台机器进行操作,所以这个方法的隐蔽性相对较高,但是扫描结果不一定全面。PowerView默认使用Invoke-StealthUserHunter,如果找不到需要的信息,就使用 Invoke-UserHunter。
执行以下命令可用于定位指定域用户登录的主机和查看指定主机当前的登录用户。但是值得说明的是,查看指定主机当前登录的用户这个功能并不好用,仅仅能列出当前主机登录的用户,枚举其他主机时不显示。

4.3.5 通过NetSess工具
netsess.exe的原理也是调用NetSessionEnum API,并且无需管理员权限。

还有其他很多方式,这里就不一一列举了。
当计算机加入到域后,默认将"Domain Admin"组赋予了本地系统管理员的权限。也就是说,在计算机添加到域,成为域的成员主机的过程中,系统将会自动把"Domain Admin"域组添加到本地的Administrators组中。因此,只要是Domain Admin组的成员均可访问本地计算机,而且具备"完全控制"的权限。
因此对于渗透测试人员来说,把"Domain Admin"域组添加到本地的Administrators组中是他们模拟域管理员帐户操作的常用方式。不过前提是,我们需要知道这些进程正在运行的系统。这里介绍五种寻找 "Domain Admin" 运行的进程的方法,其中涉及的技术包括:
- 本地检查;
- 查询活动域用户会话的域控制器;
- 扫描运行任务的远程系统;
- 扫描NETBIOS协议信息的远程系统;
- 用于令牌验证的PSExec Shell喷洒远程系统。
4.4.1 本地检查
首先查看获取权限的这个系统,如果这个系统已经存在域管理进程,自然就不需要进行后续的几个操作了,具体步骤如下:
1、获取域管理员列表

2、列出进程和进程用户

3、将进程列表对应的进程用户与域管理员列表进行对比,查看当前系统是否存在域管理进程

如果像上图这样域管理进程是在获取权限的系统上,这就太好了,当然在真实场景下遇到这种情况毕竟还是小数,因此我们还需要介绍其他几种方式来帮助大家在各种情况下的远程域系统上找到域管理进程。
4.4.2 查询域控制器的域用户会话
查询域控制器的域用户会话,其原理是:在域控制器中查询域用户会话列表,并将其与域管理员列表进行交叉引用,从而得到域管理会话的系统列表。
1、查询域控制器列表

2、收集域管理员列表

3、收集所有活动域的会话列表
使用Netsess.exe查询每个域控制器,收集所有活动域会话的列表。 Netsess工具是Joe Richards提供的一个很棒的工具,它里面包含了本地Windows函数“netsession enum”。该函数可以返回活动会话的IP地址、域帐户、会话启动时间和空闲时间,命令如下:

4、交叉引用域管理员列表域活动会话列表
对域管理员列表和活动会话列表进行交叉引用,可以确定哪些IP地址有活动域令牌。也可以通过下列脚本快速使用netsess.exe的Windows命令行。将域控制器列表添加到dcs.txt 中,将域管理员列表添加到admins.txt 中,并与netsess.exe放在同一目录下。

4.5.3 利用arp扫描完整探测内网
1、arp-scan 工具
使用方式:直接把arp.exe上传到目标机器中并运行,可以自定义掩码、指定扫描范围等。命令如下:

2、Empire中的arpscan模块
使用方式:首先创建一个新的监听器,生成powershell载荷并在目标机器执行获取会话,然后使用empire内置模块即可,命令如下:

3、Nishang中的Invoke-ARPScan.ps1脚本
使用方式:使用Nishang中的Invoke-ARPScan.ps1脚本,可以将脚本上传到目标主机中运行,也可以直接远程加载脚本、自定义掩码和扫描范围,命令如下:
运行结果如下:

4.5.4 通过常规TCP/UDP端口扫描探测内网
工具介绍:ScanLine是一款经典的端口扫描工具,可以在所有版本的Windows操作系统中使用,体积小,仅使用单个文件,同时支持TCP/UDP端口扫描。
使用方式:将工具上传至目标系统,运行如下命令:
参数解释如下:
运行结果如下:

通过查询目标主机的端口开放信息,不仅可以了解目标主机所开放的服务,还可以找出其开放服务的漏洞、分析目标网络的拓扑结构等,具体需要关注以下三点。
- 端口的Banner信息。
- 端口上运行的服务。
- 常见应用的默认端口。
在进行内网渗测试时,通常会使用Metasploit 内置的端口进行扫描。也可以上传端口扫描工具,使用工具进行扫描。还可以根据服务器的环境,使用自定义的端口扫描脚本进行扫描。在获得授权的情况下,可以直接使用Nmap、masscan 等端口扫描工具获取开放的端口信息。
4.6.1 利用telnet命令进行扫描

若端口不存在,则会显示连接失败。
4.6.2 S扫描器
4.6.3 MetaSploit端口扫描
Metasploit不仅提供了多种端口扫描技术,还提供了与其他扫描工具的接口。在msfconsole下运行"search portscan"命令,即可进行搜索。

这里我们选择tcp模式的端口扫描方式,配置参数执行即可:

4.6.4 Invoke-portscan.ps1
通过powerSploit的Invoke-portscan.ps1脚本进行端口扫描,命令如下:
运行结果如下:

也可以使用Nishang下的Invoke-PortScan模块,用于发现主机、解析主机名、扫描端口。输人"Get-Help Invoke-PortScan -full" 命令,即可查看帮助信息。Invoke-PortScan的参数介绍如下:
- StartAddress: 扫描范围的开始地址。
- EndAddress: 扫描范围的结束地址。
- ScanPort: 进行端口扫描。
- Port: 指定扫描端口。默认扫描的端口有21、22、23、53、69、71、 80、98、110、139、111、389、443、445、 1080、 1433、2001、 2049、3001、3128、5222、 6667、 6868、7777、7878、8080、1521、 3306、3389、5801、5900、5555、5901。
- TimeOut: 设置超时时间。
使用以下命令对本地局域网进行扫描,搜索存活主机并解析主机名。

4.6.5 通过nmap或者masscan
这里以masscan为例,输入如下命令进行端口扫描:

4.6.6 端口Banner信息
如果通过扫描发现了端口,可以使用客户端连接工具或者nc,获取服务端的Banner信息。获取Banner信息后,可以在漏洞库中查找对应CVE编号的POC、EXP,在ExploitDB、Seebug等平台上查看相关的漏洞利用工具,然后到目标系统中验证漏洞是否存在,从而有针对性地进行安全加固。相关漏洞的信息,可以参考如下两个网站。
- 安全焦点:其中的BugTraq是一个出色的漏洞和Exploit数据源,可以通过CVE编号或者
产品信息漏洞直接搜索。 - Exploit-DB: 取代了老牌安全网站milw0rm,提供了大量的Exploit 程序和相关报告。
常用端口如下:
- 文件共享服务端口(21、22、69、2049、139、389)
- 远程连接服务端口(22、23、3389、5900、5632)
- Web应用服务端口(80、443、8080、7001、7002、8089、9090、4848、1352)
- 数据库服务端口(3306、1433、1521、5432、6379、5000、9200)
- 邮件服务端口(25、110、143)
- 网络常见协议端口(53、67、68、161)
4.7.1 powershell的简单介绍
PowerShell 是微软推出的一款用于满足管理员对操作系统及应用程序易用性和扩展性需求的脚本环境,可以说是cmd.exe的加强版。微软已经将PowerShell 2.0内置在Windows Server 2008和Windows 7中,将PowerShell 3.0内置在Windows Server 2012和 Windows 8中,将PowerShell4.0内置在Windows Server 2012R2和Windows 8.1中,将PowerShell 5.0内置在Windows Server2016和Windows 10中。PowerShell作为微软官方推出的脚本语言,在Windows操作系统中的强大功能众所周知:系统管理员可以利用它提高Windows管理工作的自动化程度;渗透测试人员可以利用它更好地进行系统安全测试。
4.7.2 powershell的四种执行策略
- Restricted:默认设置,不允许执行任何脚本。
- Allsigned:只能运行经过证书验证的脚本。
- Unrestricted:权限最高,可以执行任意脚本。
- RemoteSigned:对本地脚本不进行限制;对来自网络的脚本必须验证其签名。
4.7.3 通过powerview获取域内信息
1、查看当执行权限

可以看到默认情况下执行权限是Restricted,不允许执行脚本,执行会报错,如下图:

2、设置执行权限为Unrestricted,然后输入"Y"

3、导入脚本

4、执行命令获取域内信息
下面是一些常见命令:

下面列举几个命令进行演示。
- 获取当前用户所在域名称

- 返回所有用户详细信息

- 获取所有域控制器

- 获取所有域内机器

- 获取当前域内的网络共享

其他命令使用方式类似,大家可以自己进行尝试。
内网的核心敏感数据,不仅包括数据库、电子邮件,还包括个人数据及组织的业务数据、技术数据等。可以说,价值较高的数据基本都在内网中。因此,了解攻击者的操作流程,对内网数据安全防护工作至关重要。
内网数据防护的第一步,就是要熟悉攻击者获取数据的流程。在实际的网络环境中,攻击者 主要通过各种恶意方法来定位公司内部各相关人员的机器,从而获得资料、数据、文件。定位的大致流程如下。
- 定位内部人事组织结构。
- 在内部人事组织结构中寻找需要监视的人员。
- 定位相关人员的机器。
- 监视相关人员存放文档的位置。
- 列出存放文档的服务器的目录。
- 核心业务机器
- 高级管理人员、系统管理员、财务/人事/业务人员的个人计算机。
- 产品管理系统服务器。
- 办公系统服务器。
- 财务应用系统服务器。
- 核心产品源码服务器(IT公司通常会架设自己的SVN或者GIT服务器)。·数据库服务器。
- 文件服务器、共享服务器。·电子邮件服务器。
- 网络监控系统服务器。
- 其他服务器(分公司、工厂).
- 敏感信息和敏感文件
- 站点源码备份文件、数据库备份文件等。
- 各类数据库的Web管理人口,例如phpMyAdmin、Adminer。
- 浏览器密码和浏览器Cookie。
- 其他用户会话、3389和 ipc$连接记录、“回收站”中的信息等。
- Windows无线密码。
- 网络内部的各种账号和密码,包括电子邮箱、VPN、FTP、TeamView等。
- ASP + Access + IIS 5.0/6.0 + Windows Sever 2003
- ASPX + MSSQL+ IIS 7.0/7.5+ Windows Sever 2008
- PHP + MySQL+ IIS
- PHP+ MySQL+Apache
- PHP+MySQL+ Ngnix
- JSP + MySQL+ Ngnix
- JSP + MSSQL+Tomcat
- JSP + Oracle + Tomcat
在上述内容的基础中,可以尝试分析域结构
通过目标主机及所在域的各类信息,就可以绘制内网的拓扑图了。
在下一篇文章中,我将继续为大家介绍内网渗透中令牌的窃取与伪造!
1、《内网安全攻防 渗透测试实战指南》
2、https://www.freebuf.com/articles/web/288119.html
网盾安全培训依托本行业专家资源,严选师资,讲师均拥有8-15年以上网络安全领域的项目实战经验和教学经验,熟知最新业内系统安隐患、软件安全产业技术的发展趋势以及人才需求特点,能准确把握弥补企业用人需求和学员能力之间的差距,并提供针对性的教育及培方案。
培训课程紧跟互联网安全技术发展与企业实际用人需求,脱离传纺的认证体系,以实践为主,打破传统的教育模式。为学员提供充分的ID实战靶场资源,使学员深入接触网络、系统和应用层安全基础、漏洞分析、安全测试、渗透测试,掌握网络安全分析及解决方案网盾自主研发出一套严格科学的教学考核体系,确保学员对每一个知识点的掌握保证教学质量,使每个毕业学员都能符合企业的用人需使每一求,真正实现以应用为主的办学理念。
☆ 培训课程位居行业前沿 ☆ 讲师认真负责 ☆ 学习环境优雅 ☆ 多家企业合作共同教学
到此这篇本机信息安装(设置里面的本机信息)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/20255.html