当前位置: 首页 > news >正文

59 权限提升-Win溢出漏洞及ATSCPS提权

目录

    • 知识点必备:
    • windows权限认识(用户及用户组)
      • 0x01 普通权限
      • 0x02特殊权限
    • 演示案例:
      • 基于WEB环境下的权限提升-阿里云靶机
      • 基于本地环境下的权限提升-系统溢出漏洞
      • 基于本地环境下的权限提升-AT&SC&PS命令
    • 案例给到的思路点总结如下:
    • 涉及资源:

在这里插入图片描述

这个章节会讲到内网的权限提升,获取系统权限主要是针对linux和windows两个操作系统,像mac系统因为很少

Windows版本是区分为个人使用和服务器使用的操作系统版本,因为我们知道是个人电脑的话,目前主流的是win7和win10,当然也有人用到了其它的版本,但是大部分支持win7和win10多一点,服务器目前主流的是windows2008和2012,当然也有人用到了win2016,这个是windows上的版本
提权主要集中在两块,一种是借助于web提权,一种是本地提权

#明确权限提升基础知识: 权限划分
#明确权限提升环境问题: WEB及本地
#明确权限提升方法针对: 针对方法适应问题
#明确权限提升针对版本: 个人及服务器版本,针对方法

我现在获得一个网站的权限,这个网站权限仅仅只能对网站自身的东西进行操作,需要对服务器上的东西进行操作,需要我们进行服务器提权,获取当前系统的一个权限,可能是administratro和system,这种提权情况,我们称之为web提权,就是借助web权限的口子,然后提升到系统权限,它的提权环境是建立在拿下网站的权限之后的操作,我们称之为web的提权环境

比如说我们windows电脑有很多用户,你像administrator用户,例外还有一些普通用户,简简单单的users,在电脑上分配个用户,给这个人,它能操作这个电脑,但是它有部分操作操作不了,这个时候普通用户要跨越到管理员用户,提权环境,我们就称之为本地提权,就是建立在当前本地用户,它没有建立在web层面的操作,所以提权是有两个环境的

这两个环境最终会影响到提权的成功机率,可以这样说,如果是本地提权,成功机率是非常高的,web提权方面成功机率相对会低一些,网站权限没有本地用户权限高,所以它有很多东西不能操作,有些东西会阻止到你,非常麻烦,所以它的成功机率会低一些

把版本区分开来,主要是告诉大家,针对的是个人还是电脑操作系统、服务器操作系统,我们大部分演示是针对服务器的,因为个人电脑,我们在事情情况下面,可能大部分网站、应用,架设的都是服务器操作系统,2008、2012,2016会比较多一点,不可能碰到win10,个人的操作系统,
提权方法也是有适应条件的,这个溢出漏洞提权方法,它可以针对web层面的,针对本地层面的,都可以用到这个提权方法,但是有一些部分,它就针对不到

知识点必备:

用户及用户组权限划分; windows提权命令

在这里插入图片描述

windows权限认识(用户及用户组)

Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限。只要用户账户加入到这些本地组内,这些用户账户也将具备该组所拥有的权限。

0x01 普通权限

默认情况下,系统为用户分了7个组,并给每个组赋予不同的操作权限,管理员组(Administrators)、高权限用户组(Power Users)、普通用户组(Users)、备份操作组(Backup Operators)、文件复制组(Replicator)、来宾用户组(Guests),身份验证用户组(Ahthenticated users)。其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。

管理员组拥有大部分的计算机操作权限 (并不是全部) ,能够随意修改删除所有文件和修改系统设置只有程序信任组(特殊权限)。再往下就是高权限用户组,这一部分用户也能做大部分事情,但是不能修改系统设置,不能运行一些涉及系统管理的程序。普通用户组则被系统拴在了自己的地盘里,不能处理其他用户的文件和运行涉及管理的程序等。来宾用户组的文件操作权限和普通用户组一样,但是无法执行更多的程序。身份验证用户组(Ahthenticated users) 经过ms验证程序登录的用户均属于此组。

0x02特殊权限

除了上面提到的7个默认权限分组,系统还存在一些特殊权限成员,这些成员是为了特殊用途而设置,分别是: SYSTEM(系统)、Trustedinstaller(信任程序模块)、Everyone(所有人)、CREATOR OWNER(创建者) 等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。
  
  真正拥有“完全访问权”的只有一个成员: SYSTEM。这个成员是系统产生的,真正拥有整台计算机管理权限的账户,一般的操作是无法获取与它等价的权限的。
  
  “所有人”权限与普通用户组权限差不多,它的存在是为了让用户能访问被标记为“公有”的文件,这也是一些程序正常运行需要的访问权限——任何人都能正常访问被赋予“Everyone”权限的文件,包括来宾组成员。
  
  被标记为“创建者”权限的文件只有建立文件的那个用户才能访问,做到了一定程度的隐私保护。
  但是,所有的文件访问权限均可以被管理员组用户和SYSTEM成员忽略,除非用户使用了NTFS加密。
  
  无论是普通权限还是特殊权限,它们都可以“叠加”使用,“叠加”就是指多个权限共同使用,例如一个账户原本属于Users组,而后我们把他加入Administrators组再加入Trustedinstaller等权限提升,那么现在这个账户便同时拥有两个或多个权限身份,而不是用管理员权限去覆盖原来身份。权限叠加并不是没有意义的,在一些需要特定身份访问的场合,用户只有为自己设置了指定的身份才能访问,这个时候“叠加”的使用就能减轻一部分劳动量了。

system是系统权限,我们操作系统最高的权限,administrator是属于管理员权限,现在我们在用c盘的windows目录,我们删除不了它,因为你的操作系统正在引用这个目录里面的文件,你是删除不了的,你是属于administrator,你只能用这个系统,但是我想毁掉这个系统的话,你是system权限的话,你就能把windows目录删掉,那么这个系统就没有了,但是你是本地的administrator你就删除不了,你没有权限对操作系统的系统文件进行这个删除,我们一般提权的目的,就是提升为system,当然如果是提升不到system,提升到一个administrator,我们本地的管理员组,这个用户组里面的成员,也是可以的,所以一般提权就是两个方向,最好是system,其次是administrator,像其它的一些组,你自己看一下,其它的关系不大,简单来说就是系统、管理员组特殊点

演示案例:

基于WEB环境下的权限提升-阿里云靶机

信息收集-补丁筛选-利用MSF或特定EXP-执行-西瓜到手
Vulmap,Wes,WindowsVulnscan对比,exp在那里获取?

我这里靶机使用的是win2012操作系统,目前很主流的服务器操作系统版本
我们这里就通过它来演示,由于演示的是web环境,目前取得的是web权限,我们要通过web权限获得这台服务器的权限
在这里插入图片描述
这里采用菜刀、冰蝎、蚁剑连接都可以,但是要免杀,不然连接不上去,原因就是阿里云自带防护,前期在web文章跟大家讲过了,这里用asp加密的木马,相当于绕过了拦截
在这里插入图片描述
提权里面大部分都会用到cmd功能,我们今天演示的是提权方法里面的溢出漏洞,这个是主要的提权方法,一般数据库和溢出漏洞无法提权,才会考虑下面这些方式
溢出漏洞一般都是要执行文件,进行提权,windows上是用cmd或powershell来执行文件,所以这个cmd是要经常看的,要去执行运行的,我们这里执行一条命令,可以看到这是它当前的IP地址
在这里插入图片描述
获取它当前用户的权限
在这里插入图片描述
我们在桌面创建个bat文件,把cmd给调出来
在这里插入图片描述
我当前在本机上执行的时候,它返回的是administrator
在这里插入图片描述
然后我在webshell里面返回的是apppool,明确两个东西不一样,所以它的权限不一样,这就是web权限为什么要进行提权的原因
在这里插入图片描述
我们要知道普通用户权限是做不了事情的,它直接添加用户显示空白,就是很多敏感操作它无法执行
在这里插入图片描述
在这里插入图片描述
一般进行提权,我们先信息收集,然后进行补丁筛选,信息收集会用到系统的查询命令
在这里插入图片描述
它就简简单单就这几个
在这里插入图片描述
systeminfo、whoami、whoami /priv
命令执行把结果保存到x.txt里面,因为systeminfo的结果,我们会经常拿他做一个参考
在这里插入图片描述
执行结果在当前目录的下面也可以webshell里面去看结果
在这里插入图片描述
阿里云很厉害,执行敏感点直接封IP
在这里插入图片描述
我们着重看操作系统版本、系统类型、修补程序
在这里插入图片描述
一个补丁编号多应一个漏洞
在这里插入图片描述
那我们就知道,这是一台win2012、64位的操作系统,补丁编号154个
Vulmap Windows不支持,wes和windowsVulnscan会比较好,wes老旧不支持2018年后的EXP,我们弃用它的原因就在这里
windowsVulnscan挺好的
在这里插入图片描述
wes主要是应用在web提权页面的,这三款工具都是进行补丁筛选的,都是用来查找漏洞的
我们看第一款Vulmap,ps1是windows上的powershell脚本,就是跟cmd命令差不多的语言,是windows上的特殊语言
在这里插入图片描述
它会查找到当前操作系统的漏洞,它会自动帮你进行判断,它对windows支持的不是很友好,不是很好用
在这里插入图片描述
执行.ps1的文件是利用powershell平台,我们在web提权里面,是在cmd窗口执行,.ps1在cmd窗口是执行不了的,因为cmd识别不了.ps1
在这里插入图片描述
我们后门上面没有powershell的执行环境,但是也可以启用powershell环境,得看你当前webshell的权限,如果有一定权限,就能够使用,但是大部分是不能启用的,基本上在web环境下面,你想要执行ps1文件,是不行的,所以这个工具的受用面就已经窄了很多,这个受用面建立在图形化的操作,把这个powershell打开,然后去运行它

Vulmap的应用环境不适应在web层面去运行,一般我们拿到网站权限是不支持调用powershell窗口出来,去执行.ps1的,因为东西执行不了,结果我们就看不了

Vulmap运行完的结果是没有漏洞,其实这台服务器是有漏洞的,所以Vulmap工具不好,就是这个原因
在这里插入图片描述

第一次使用WES,会让你安装新来源,自动安装漏洞库,他就是在漏洞库里面筛选systeminfo.txt的数据,就是我们刚才在cmd里复制出来的,对比漏洞编号,然后给予他的漏洞库,这个漏洞库是微软官方下载到的
在这里插入图片描述
结果出来了
在这里插入图片描述
在这里插入图片描述
这个结果表明目前操作系统可能存在操作系统漏洞,因为他没有打补丁,但不代表就一定有漏洞,我们知道windows有很多系列,中文版、英文版,另外还有国内的盗版,阉割版、改版的,由于每个漏洞的成因,你的版本有差异的话,即使你是win2008,但不代表你就是原生态官方的源码,可能是盗版,阉割的一些东西,改的一些东西,可能会造成漏洞的失败,没有打补丁,并不代表就有这个漏洞
在这里插入图片描述
2020代表2020年,1519漏洞的id值
在这里插入图片描述
wes能在web环境下执行,python是我自己电脑装的,不需要对方服务器装这个东西,我只需要systeminfo的信息就可以了,在我自己的电脑上进行对比,如果是在对方服务器上进行对比的话,那就只能说这个工具比较鸡肋了

wes使用在web环境的,同样的道理,他也适用在本地提权,因为web环境也能适应的话,那么本地我们操作在对方的界面,一些UI,我们肯定想怎么搞就怎么搞
WindowsVulnScan诞生在Vulmap不行的情况下,我们试一下
在这里插入图片描述
我们可以看官方的文档进行操作,首先WindowsVulnScan项目是不能在web环境使用,因为它执行的是ps1脚本,所以我们要把ps1放到对方的服务器进行运行
在这里插入图片描述
在这里插入图片描述
其实KB.json完全是systeminfo的信息,只是它是利用powershell脚本去读取,看到的结果跟systeminfo的结果是如出一辙的

打开一看其实就是systeminfo的信息,按照它的格式把操作系统和漏洞编号这些写上去就可以了,也就是说这个也是可以利用到web环境的,只是你要改一下
在这里插入图片描述
把编码改成UTF-8,在执行
在这里插入图片描述
这个信息就是它下面得到的,然后检索出来存在漏洞的就是这些编号,是服务器可能存在的漏洞,所以它是通用的,本地也行,web也行,只是说web用起来需要你自己人工的把格式对起来,这两个工具,我是推荐使用WindowsVulnScan工具
在这里插入图片描述
在这里插入图片描述
我们可以把WindowsVulnScan工具二次开发一下,直接在web环境使用,因为你把powershell脚本一改的话,生成的kb.json也按照你指向的格式进行显示

基于本地环境下的权限提升-系统溢出漏洞

MSF结合云服务器搭建组合组合拳?模拟上述操作实战演练?
搭建: https://www.cnblogs.com/MOrtals/p/11920903.html

我们现在已经知道补丁了,那些漏洞可能存在,接下来就是要利用这些漏洞,一种叫msf或者你用特定的exp,msf就是在kali上寄生的强大平台,也是在安全圈里面天天吹的,流行很多年的老牌渗透平台了,kali上面就是msf牛逼了,其它的基本上就跟不上了

在网上搜索漏洞编号,有些人喜欢公开一些信息,把自己生成好的漏洞脚本放在上面
在这里插入图片描述
https://github.com/SecWiki/windows-kernel-exploits,这个漏洞收集的会比较全一些
在这里插入图片描述
我们用那种方法都行,一般是优先操作msf,然后再选用特定,因为msf不是每天都在更新,它的漏洞是随着它的版本在更新,它不是每天都在更新,也就是说隔一年或者半年发布新的产品,然后新的成品会把半年内产生的新漏洞更新到产品里面去,所以前10天产生的漏洞,msf没有集全到上面去,所以这个时候,我们用到特定的exp

优先选msf工具的原因,是这个工具是由人去开发出来的,每个漏洞是经过自己测试的,所以这个漏洞不大可能存在执行不了,因为漏洞开发者的错误,这个特定exp是每个作者写出来的,它没有经过严谨的测试,所以你用特定的exp去利用漏洞,没成功,可能是因为漏洞开发者工具没写好,有些东西没兼容进去

由于我们在利用的时候,大部分是针对外网的主机,msf放在我们本地电脑上面又运行不了,一般msf提权会反弹会话到你的主机,而我们的本地电脑一般在内网,我们还要做内网映射,这是非常麻烦的,所以msf在实战中的应用,我们一般自己购买一台服务器,这个配置不需要特别好,搞个2核2G,就足够了,因为我们在上面只装msf,其它的不安装,然后操作系统就是Linux系统、ubuntu

msf有Linux版本和windows版本,建议用linux版本,因为原生态就在上面,兼容性会好一点,不会出现乱七八糟的问题

很多时候会遇到一些反弹后门、反弹文件、远控的木马,都会遇到杀毒软件的拦截,这个时候就涉及到免杀的知识点

如果我们在攻击中碰到阿里云,我们就不要想反弹了,反弹就不现实了,只能对应exp执行,在它本地显示提权的结果,你这个反弹就不现实了,阿里云自带安全组,其它地方的服务器就不会有这个问题

这个权限就是名副其实的web权限,它不是administrator也不是sysytem,现在我们要对它进行漏洞提权,我们可以通过前期的知识点,去里面筛选一个exp
在这里插入图片描述
在这里插入图片描述
我们通过操作系统win2012进行筛选,使用16年的exp进行攻击
在这里插入图片描述
在这里插入图片描述
这个漏洞会载入到seseion3里面,它就用exp通过这个会话去攻击
在这里插入图片描述
在设置个payload
在这里插入图片描述
在这里插入图片描述
现在就是利用ms16的漏洞,成功创建第四个会话
在这里插入图片描述
直接返回system权限
在这里插入图片描述
阿里云不是说每台服务器都有安全组,我们可以使用隧道技术解决阿里云端口的问题

Vulmap,Wes,windowsVulnScan针对漏洞面,其他方法不同层面?

CVE-2020-0787 BitsArbitraryFileMoveExploit

在这里插入图片描述
在这里插入图片描述
这里突然出现了一个黑窗
在这里插入图片描述
我通过普通用户连接到这台计算机了,在内网渗透中,经常使用一款工具mimikatz,盗hash和明文密码的东西,针对windows上的东西,能直接获取你当前账号的明文密码,但是你运行这款工具,需要你当前administrator的权限,你不是这个权限,你运行不了工具,它无法成功获取。在内网渗透里面口令是非常重要的,它可以通过这个口令渗透到其它的主机,因为其它主机很有可能跟这个口令相关,我们要知道,我们的权限足够了,你才能进行下去,你运行mimikatz是内网的常用工具,你权限不够,运行它也没用

我有你电脑普通用户、会话权限,这种提权就属于本地提权,将你当前用户提权至administrator或system,有这个权限之后,你无论在上面安装东西,执行一些东西,都是可以的,想干嘛就干嘛,服务器的信息你都能得到,信息收集的越多,你在内网成功的机率就会越大,否则你的普通用户收集起来是有阻碍的

BitsArbitraryFileMoveExploit是通杀windows系统版本的漏洞,通过它能将普通用户直接提权至system
在这里插入图片描述
在这里插入图片描述
我们要明白exp的使用场景,它能做什么事情,这才是重要的
执行exp能不能成功,我们要看漏洞说明,就是有的webshell的权限会执行不了exe文件,有的在webshell里面执行不了cmd的命令,当然这是有原因的

我们在连接shell工具里面执行BitsArbitraryFileMoveExploit.exe文件是不可以的,是因为这个利用工具在执行的时候,会弹cmd窗,而shell工具只有命令回显,无法弹这个窗口给我们看,是因为开发者,编译漏洞的人,它用代码写出来的,除非我们自己二次开发,但是这个也要看漏洞原理,有些它也想直接获取系统权限,它不想单独弹窗出来,可能漏洞成因必须要这样做,因为它在执行的时候会生成几个文件

像这种编译出来的一般是c++语言,因为windows底层就是c语言写的,如果不会c,就不用想编译,如果你还想在上面加一些二次开发的功能,那肯定也需要懂,很难的,不是一个简单的事情

深度的黑客,大部分都是搞开发的,特别是像c++底层的

基于本地环境下的权限提升-AT&SC&PS命令

at 15:13 /interactive cmd.exe
sc Create syscmd binPath= "cmd /K start" type= own type=interact
sc start syscmd
psexec.exe -accepteula -s -i -d cmd.exe

有些提权的思路和技巧,网上都有文章,然后我写这个2003是想告诉大家,有些东西已经不适用在2008、2012上去了

at系统计划命令,就是提权布置个作业,这个是系统设置的一个小bug,权限上面设计的逻辑错误,导致的提权
在这里插入图片描述
它这个设计在计划任务运行的时候,会以system去调用执行,它是windows系统层面权限设计的一个错误,跟我们说的逻辑漏洞是一个道理
在这里插入图片描述
这个nt命令只针对win7之前的操作系统,也就是说win2003,在win2008之后的就没有了,已经被修复了

有时候网上资料是有问题的,sc针对win7和win8操作不了
syscmd服务会绑定exe的执行文件,相当于在我电脑上面创建一个服务,叫syscmd,然后这个时候在用sc启动服务,就会启用对应的文件,弹出一个窗口
在这里插入图片描述
在这里插入图片描述
at和sc只有在老的系统上有用,所以我们主要用的是ps命令,但是这个ps命令有个前提条件,需要下载pstool,它是windows提供的第三方工具库
在这里插入图片描述

案例给到的思路点总结如下:

1.提权方法有部分适用在不同环境,当然也有通用方法
2.提权方法也有操作系统版本区分,特性决定方法利用面
3.提权方法有部分需要特定环境,如数据库,第三方提权等

有些漏洞它不是提权漏洞,我们得具体看待,具体分析在这里插入图片描述
我们在进行提权的时候,上面有数据库可以借助数据库提权,还有第三方软件可以借助第三方软件,但是数据库和第三方软件不是操作系统自带的,是管理员安装的,数据库还比较常见,很多数据库都有,第三方软件比如安装VNC、FTP的软件,这个就是由管理员自身决定的,我们说的第三方软件提权,就是由第三方软件上的安全问题造成的,但是这个东西不是说每个服务器都有,这不安装也没办法,数据库也一样,虽然说很多服务器都有数据库,但不代表我们复现都有,所以有些提权方式是适用到特殊环境的,它有这个东西,你才能有这个思路

有条件的后面搞台服务器,装个msf,后期用的着,然后msf不仅是装在上面,因为msf装在上面就是用的方便,后期在内网渗透里面,大家用的CS这个平台也要建立在外网上面,如果你也在实战环境下面的话,我们也可以在靶机上面YY一下,不装外网也可以,但是你要在实战环境下的话,cs也要部署在外网下面

涉及资源:

https://github.com/vulmon/Vulmap
https://github.com/bitsadmin/wesng
https://github.com/unamer/CVE-2018-8120
https://github.com/chroblert/WindowsVulnScan
https://github.com/SecWiki/windows-kernel-exploits
https://www.cnblogs.com/MOrta1s/p/11920903.html
https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWSVERSION/releases/tag/1

相关文章:

59 权限提升-Win溢出漏洞及ATSCPS提权

目录 知识点必备:windows权限认识(用户及用户组)0x01 普通权限0x02特殊权限 演示案例:基于WEB环境下的权限提升-阿里云靶机基于本地环境下的权限提升-系统溢出漏洞基于本地环境下的权限提升-AT&SC&PS命令 案例给到的思路点总结如下:涉及资源: 这个章节会讲到…...

【新闻稿】Solv 与 zCloak 联合开发跨境贸易场景下可编程数字凭证项目,获得新加坡、加纳两国央行支持...

关于昨天 Solv 携手 zCloak 与新加坡和加纳两个央行合作的 Project DESFT,很多朋友都发来恭喜和祝福,并希望了解详情。这个事我们秘密努力了半年多,终于有一个阶段性的成果。这里我转载中文版官宣新闻稿,欢迎大家关注。等我忙过这…...

requests库进行爬虫ip请求时遇到的错误解决方法

问题背景 在使用requests库进行HTTP请求时,用户遇到了一个AuthenticationRequired(身份验证必须)的错误。然而,当使用urllib.request.urlopen执行相同的操作时,却能够成功。同时,用户提供了自己的系统信息…...

目标检测—YOLO系列(二 ) 全面解读论文与复现代码YOLOv1 PyTorch

精读论文 前言 从这篇开始,我们将进入YOLO的学习。YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍。 本文主要介绍的是YOLOV1,这是由以Joseph Redmon为首的…...

Redis维护缓存的方案选择

Redis中间件常常被用作缓存,而当使用了缓存的时候,缓存中数据的维护,往往是需要重点关注的,尤其是重点考虑的是数据一致性问题。以下是维护数据库缓存的一些常用方案。 1、先删除缓存,再更新数据库 导致数据不一致的…...

LeetCode236. Lowest Common Ancestor of a Binary Tree

文章目录 一、题目二、题解 一、题目 Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and q as the lowest…...

基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统

文/朱季谦 环境准备:安装Gin与Gorm 本文搭建准备环境:GinGormMySql。 Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为一名后端Java开发,在最初入门…...

【开源】基于Vue和SpringBoot的固始鹅块销售系统

项目编号: S 060 ,文末获取源码。 \color{red}{项目编号:S060,文末获取源码。} 项目编号:S060,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 鹅块类型模块2.3 固…...

Windows11怎样投屏到电视上?

电视屏幕通常比电脑显示器更大,能够提供更逼真的图像和更震撼的音效,因此不少人也喜欢将电脑屏幕投屏到电视上,缓解一下低头看电脑屏幕的烦恼。 Windows11如何将屏幕投射到安卓电视? 你需要在电脑和电视分贝安装AirDroid Cast的电…...

ubuntu中用docker部署jenkins,并和码云实现自动化部署

1.部署jenkins docker network create jenkins docker run --name jenkins-docker --rm --detach \--privileged --network jenkins --network-alias docker \--env DOCKER_TLS_CERTDIR/certs \--volume jenkins-docker-certs:/certs/client \--volume jenkins-data:/var/jen…...

for,while,do-while,死循环,嵌套循环,跳转关键字,随机数

1.for循环 public class ForDemo1 {public static void main(String[] args) {for (int i 0; i < 5; i) {System.out.println("HelloWorld");}System.out.println("--------------------------------------------");for (int i 1; i <10 ; i) {Sy…...

【六袆 - MySQL】SQL优化;Explain SQL执行计划分析;

Explain SQL执行计划分析 概念:English Unit案例分析1.分析的SQL2.执行计划分析 【如图】MySQL执行计划参数以及它们的影响或意义:概念: MySQL执行计划(Execution Plan)是数据库系统根据查询语句生成的一种执行策略,用于指导数据库引擎执行查询操作。 English Unit This…...

【AI视野·今日NLP 自然语言处理论文速览 第六十二期】Wed, 25 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 25 Oct 2023 (showing first 100 of 112 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers MuSR: Testing the Limits of Chain-of-thought with Multistep Soft R…...

各种符号地址,可以直接复制粘贴使用

字符符号 - 文本数字工具 | 偷懒工具 toolight.cn...

C语言测试题:用冒泡法对输入的10个字符由小到大排序 ,要求数组做为函数参数。

编写一个函数&#xff1a; 用冒泡法对输入的10个字符由小到大排序 &#xff0c;要求数组做为函数参数。 冒泡排序是一种简单的排序算法&#xff0c;它会多次遍历要排序的数列&#xff0c; 每次遍历时&#xff0c;依次比较相邻的两个元素&#xff0c;如果它们的顺序不符合要求…...

uni-app开发微信小程序 vue3写法添加pinia

说明 使用uni-app开发&#xff0c;选择vue3语法&#xff0c;开发工具是HBliuderX。虽然内置有vuex&#xff0c;但是个人还是喜欢用Pinia&#xff0c;所以就添加进去了。 Pinia官网连接 添加步骤 第一步&#xff1a; 在项目根目录下执行命令&#xff1a; npm install pinia …...

centos三台主机配置互信ssh登录

1. 修改hosts信息 1.1三台主机上分别修改hosts文件 vi /etc/hosts1.2 三台主机分别填入如下内容&#xff0c;ip地址需要检查正确 192.168.126.223 node1 192.168.126.224 node2 192.168.126.225 node32. 秘钥生成和分发 2.1 在三台主机上分别生成秘钥 命令输入后&#xff…...

验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信你对这篇博客也感兴趣o (ˉ▽ˉ&#xff1b;) &#x1f4dc;表白墙/留言墙 —— 中级SpringBoot项目&#xff0c;MyBatis技术栈MySQL数据库开发&#xff0c;练手项目前后端开发(带完整源码) 全方位全步骤手…...

js/jQuery 的一些常用操作(js/jQuery获取表单元素值 以及 清空元素值的各种实现方式)——附测试例子,拿来即能实现效果

js/jQuery 的一些常用操作&#xff08;js/jQuery获取表单元素值 以及 清空元素值的各种实现方式&#xff09;——附测试例子&#xff0c;拿来即能实现效果 1. 前言2. 获取表单元素的值2.1 简单获取元素中的值2.1.1 根据 id 简单取值2.2.2 根据name 简单取值2.1.3 获取单选按钮的…...

h5(react ts 适配)

一、新建项目并放在码云托管 1、新建项目&#xff1a;react ts h5 考虑到这些 用 create-react-app 脚手架来搭建项目。 首先&#xff0c;确保你已经安装了 Node.js。如果没有安装&#xff0c;请先从官方网站 https://nodejs.org/ 下载并安装 Node.js。打开命令行工具&#x…...

计算机视觉:驾驶员疲劳检测

目录 前言 关键点讲解 代码详解 结果展示 改进方向&#xff08;打哈欠检测疲劳方法&#xff09; 改进方向&#xff08;点头检测疲劳&#xff09; GUI界面设计展示 前言 上次博客我们讲到了如何定位人脸&#xff0c;并且在人脸上进行关键点定位。其中包括5点定位和68点定…...

Vue向pdf文件中添加二维码

&#x1f680; 场景一&#xff1a;利用vue向pdf文件中写入二维码图片或其他图片 &#x1f680; 场景二&#xff1a;向pdf中添加水印 思路&#xff1a; 1、先通过url链接生成二维码&#xff0c;二维码存在于dom中 2、使用html2canvas库将二维码的dom转为一个canvas对象 3、根据c…...

idea一键打包docker镜像并推送远程harbor仓库的方法(包含spotify和fabric8两种方法)--全网唯一正确,秒杀99%水文

我看了很多关于idea一键打包docker镜像并推送harbor仓库的文章&#xff0c;不论国内国外的&#xff0c;基本上99%都是瞎写的&#xff0c; 这些人不清楚打包插件原理&#xff0c;然后就是复制粘贴一大篇&#xff0c;写了一堆垃圾&#xff0c;然后别人拿来也不能用。 然后这篇文…...

程序设计:C++11原子 写优先的读写锁(源码详解二:操作跟踪)

本文承接程序设计&#xff1a;C11原子 写优先的读写锁&#xff08;源码详解&#xff09;-CSDN博客 上文已经列出了完整代码&#xff0c;完整代码里面增加了操作跟踪&#xff0c;这里就讲解一下这部分是如何实现的。 操作跟踪有两个层面&#xff1a;进程层面和线程层面。 由于这…...

Django视图层解析

Django视图&#xff08;View&#xff09;是Django Web框架中负责处理HTTP请求和返回HTTP响应的组件。视图是一段Python代码&#xff0c;接收HTTP请求作为输入&#xff0c;处理请求并返回HTTP响应作为输出。Django视图的主要目的是实现Web应用程序的业务逻辑&#xff0c;将模型和…...

JAVA使用RXTXcomm进行串口通信(一)

首先下载相应的jar文件 压缩包包括:RXTXcomm.jar(64位环境)、win32com.dll和javax.comm.properties。 下载地址:https://www.aliyundrive.com/s/JSeSQsAyYeZ 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#…...

Vue+ElementUI技巧分享:自定义表单项label的文字提示

文章目录 概要在表单项label后添加文字提示1. 使用 Slot 自定义 Label2. 添加问号图标与提示信息 slot的作用详解1. 基本用法2. 具名插槽 显示多行文字提示的方法1. 问题背景2. 实现多行内容显示3. 样式优化 结语 概要 在Vue和ElementUI的丰富组件库中&#xff0c;定制化表单是…...

【QML】警告Name is declared more than once

1. 问题&#xff1a; qml函数中的不同块中定义同名变量&#xff0c;报警&#xff1a;Name is declared more than once 举例&#xff1a; function test(a){if(a "1"){var re 1;console.log(re);}else{var re 2; //这里会报警&#xff1a;Name is declared mor…...

【自用总结】正项级数审敛法的总结

注&#xff1a;收敛半径的求法就是lim n->∞ |an1/an| ρ&#xff0c;而ρ1/R&#xff0c;最基本的不能忘。 比较判别法&#xff1a;从某项起&#xff0c;该级数后面的项均小于等于另一级数&#xff0c;则敛散性可进行一定的比较 可以看到&#xff0c;比较判别法实际上比较…...

ARMv8平台上安装QT开发环境

安装Qt Creator sudo -iapt-get update apt-get upgrade apt list --installed | grep -v oldstable | cut -d/ -f1 | xargs apt-mark unholdapt-get install gcc g clang make-guile build-essential qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator qt5* 配置…...

基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码

基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于人工电场优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…...

在服务器导出kafka topic数据

使用Kafka自带的工具&#xff1a;Kafka提供了一个命令行工具kafka-console-consumer&#xff0c;可以用来消费指定Topic的数据并将其打印到控制台。 1.打印到控制台 命令如下&#xff1a; kafka-console-consumer.sh --bootstrap-server $kafkaHost --topic $topicName --from-…...

农户建档管理系统的设计与实现-计算机毕业设计源码20835

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设农户建档管理系统。 本…...

uniapp的Vue2,Vue3配置跨域(proxy代理)

vue2 找到manifest.json文件&#xff0c;通过源码视图的方式打开文件&#xff1a;在文件中添加一下代码即可完成代理&#xff1a; "h5": {"devServer": {"disableHostCheck": true, //禁止访问本地host文件"port": 8000, //修改项目…...

处理BOP数据集,将其和COCO数据集结合

处理BOP数据集&#xff0c;将其和COCO数据集结合 BOP 取消映射关系&#xff0c;并自增80 取消文件名的images前缀 import os import json from tqdm import tqdm import argparseparser argparse.ArgumentParser() parser.add_argument(--json_path, defaultH:/Dataset/COCO…...

跟李沐学AI-深度学习课程05线性代数

线性代数 &#x1f3f7;sec_linear-algebra 在介绍完如何存储和操作数据后&#xff0c;接下来将简要地回顾一下部分基本线性代数内容。 这些内容有助于读者了解和实现本书中介绍的大多数模型。 本节将介绍线性代数中的基本数学对象、算术和运算&#xff0c;并用数学符号和相应…...

电子病历编辑器源码(Springboot+原生HTML)

一、系统简介 本系统主要面向医院医生、护士&#xff0c;提供对住院病人的电子病历书写、保存、修改、打印等功能。本系统基于云端SaaS服务方式&#xff0c;通过浏览器方式访问和使用系统功能&#xff0c;提供电子病历在线制作、管理和使用的一体化电子病历解决方案&#xff0c…...

Qt的日志输出

在Qt中&#xff0c;一般习惯使用qDebug信息进行输出和打印调试信息到console或者文件中&#xff0c;在qDebug中&#xff0c;也有一些小技巧&#xff0c;可以帮助我们更好的使用qDebug打印日志记录&#xff0c;本文分享了qDebug使用的一些小技巧。 1. 打印出文件名、行号、调用函…...

基于热交换算法优化概率神经网络PNN的分类预测 - 附代码

基于热交换算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于热交换算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于热交换优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…...

main.js 中的 render函数

按照之前的单组件文件中的写法&#xff0c;我们的写法应该是这样的 import App from ./App.vuenew Vue({el: #app,templete: <App></App>,components: {App}, }) 1、定义el根节点。2、注册App组件。3、渲染 templete 模板 但是在脚手架工程中&#xff0c;他是这…...

Pandas 将DataFrame中单元格内的列表拆分成单独的行

使用 explode 函数 import pandas as pddata {month: [1, 2],week: [[i for i in range(2)], [i for i in range(3)]]} df pd.DataFrame(data) print(df)df df.explode(week) print(df)...

PDF转化为图片

Java 类 PDF2Image 在包 com.oncloudsoft.zbznhc.common.util.pdf 中是用来将 PDF 文件转换为图像的。它使用了 Apache PDFBox 库来处理 PDF 文档并生成图像。下面是类中每个部分的详细解释&#xff1a; 类和方法说明 类 PDF2Image: 使用了 Lombok 库的 Slf4j 注解&#xff0c…...

【Java】智慧工地管理系统源码(SaaS模式)

智慧工地是聚焦工程施工现场&#xff0c;紧紧围绕人、机、料、法、环等关键要素&#xff0c;综合运用物联网、云计算、大数据、移动计算和智能设备等软硬件信息技术&#xff0c;与施工生产过程相融合。 一、什么是智慧工地 智慧工地是指利用移动互联、物联网、智能算法、地理信…...

torch.nn.functional.log_softmax 函数解析

该函数将输出向量转化为概率分布&#xff0c;作用和softmax一致。 相比softmax&#xff0c;对较小的概率分布处理能力更好。 一、定义 softmax 计算公式&#xff1a; log_softmax 计算公式&#xff1a; 可见仅仅是将 softmax 最外层套上 log 函数。 二、使用场景 log_soft…...

jQuery、vue、小程序、uni-app中的本地存储数据和接受数据是什么?

在这四个工具/框架中&#xff0c;Uni-app和微信小程序比较类似&#xff0c;因为它们都是为了实现跨平台开发而设计的。 jQuery 是一个快速、小巧且特性丰富的 JavaScript 库。它提供了各种操作和处理 HTML DOM、事件、动画&#xff0c;以及提供各种工具函数的功能。然而&#…...

黑马React18: 基础Part 1

黑马React: 基础1 Date: November 15, 2023 Sum: React介绍、JSX、事件绑定、组件、useState、B站评论 React介绍 概念: React由Meta公司研发&#xff0c;是一个用于 构建Web和原生交互界面的库 优势: 1-组件化的开发方式 2-优秀的性能 3-丰富的生态 4-跨平台开发 开发环境搭…...

windows Oracle Database 19c 卸载教程

目录 打开任务管理器 停止数据库服务 Universal Installer 卸载Oracle数据库程序 使用Oracle Installer卸载 删除注册表项 重新启动系统 打开任务管理器 ctrlShiftEsc可以快速打开任务管理器&#xff0c;找到oracle所有服务然后停止。 停止数据库服务 在开始卸载之前&a…...

动态规划解决leetcode上的两道回文问题(针对思路)

本期主讲的是使用动态规划去解决两道回文问题&#xff0c;分别是 647. 回文子串 - 力扣&#xff08;LeetCode&#xff09; 516. 最长回文子序列 - 力扣&#xff08;LeetCode&#xff09; 而不是leetcode5.最长回文子串&#xff0c;虽然这道题也是回文问题&#xff0c;也可以…...

使用人工智能自动测试 Flutter 应用程序

移动应用程序开发的增长速度比以往任何时候都快。几乎每个企业都需要移动应用程序来保持市场竞争力。由于像 React Native 这样的跨平台移动应用程序开发框架允许公司使用单一源代码和单一编程语言构建 iOS 和 Android 应用程序&#xff0c; Flutter是 Google 支持的另一个热门…...

四、程序员指南:数据平面开发套件

REORDER LIBRARY 重排序库提供了根据其序列号对mbuf进行重排序的机制。 16.1 操作 重排序库本质上是一个对mbuf进行重新排序的缓冲区。用户将乱序的mbuf插入重排序缓冲区&#xff0c;并从中提取顺序正确的mbuf。 在任何给定时刻&#xff0c;重排序缓冲区包含其序列号位于序列…...