应急响应靶机练习-Linux2
1.背景
前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!
挑战内容:
(1)提交攻击者IP
(2)提交攻击者修改的管理员密码(明文)
(3)提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
(4)提交Webshell连接密码
(5)提交数据包的flag1
(6)提交攻击者使用的后续上传的木马文件名称
(7)提交攻击者隐藏的flag2
(8)提交攻击者隐藏的flag3
2.环境准备
(1)创建虚拟机
(2)登录虚拟机
账号密码:root/Inch@957821.
(ps:这个密码很坑,我一开始试了很多遍都不对,密码第一个字符是大写的i,最后一个字符是点. )
(3)XShell连接虚拟机
这里使用xshell是为了方便操作,好看一点
3.开始
(1)last
发现192.168.20.1多次登录
[root@web-server ~]# last
root pts/0 192.168.76.1 Sat Mar 15 23:48 still logged in
root tty1 Sat Mar 15 23:46 still logged in
reboot system boot 3.10.0-1160.el7. Sat Mar 15 23:45 - 23:48 (00:02)
root pts/1 192.168.20.1 Wed Mar 20 15:36 - crash (360+08:09)
root pts/0 192.168.20.1 Wed Mar 20 15:04 - 15:39 (00:34)
root pts/0 192.168.20.1 Wed Mar 20 14:30 - 15:04 (00:33)
reboot system boot 3.10.0-1160.el7. Wed Mar 20 14:29 - 23:48 (360+09:19)
root pts/1 localhost Wed Mar 20 10:30 - 10:30 (00:00)
root pts/0 192.168.20.1 Wed Mar 20 07:59 - crash (06:30)
reboot system boot 3.10.0-1160.el7. Wed Mar 20 07:58 - 23:48 (360+15:49)
root pts/0 192.168.20.1 Thu Mar 7 15:36 - crash (12+16:21)
root pts/0 192.168.20.1 Thu Mar 7 15:25 - 15:36 (00:11)
root pts/0 192.168.20.1 Thu Mar 7 14:39 - 15:25 (00:45)
root pts/0 192.168.20.1 Thu Mar 7 14:07 - 14:09 (00:01)
reboot system boot 3.10.0-1160.el7. Thu Mar 7 14:06 - 23:48 (373+09:42)
root pts/0 192.168.20.1 Thu Mar 7 11:37 - 11:52 (00:15)
reboot system boot 3.10.0-1160.el7. Thu Mar 7 11:36 - 23:48 (373+12:11)
root pts/0 192.168.20.1 Mon Mar 4 09:48 - down (00:01)
root tty1 Mon Mar 4 09:47 - 09:50 (00:02)
reboot system boot 3.10.0-1160.el7. Mon Mar 4 09:47 - 09:50 (00:03)
(2)lastlog
[root@web-server ~]# lastlog
Username Port From Latest
root pts/0 192.168.76.1 Sat Mar 15 23:48:06 +0800 2025
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
halt **Never logged in**
mail **Never logged in**
operator **Never logged in**
games **Never logged in**
ftp **Never logged in**
nobody **Never logged in**
systemd-network **Never logged in**
dbus **Never logged in**
polkitd **Never logged in**
sshd **Never logged in**
postfix **Never logged in**
ntp **Never logged in**
www **Never logged in**
mysql **Never logged in**
(3)grep "Failed" /var/log/secure*
[root@web-server ~]# grep "Failed" /var/log/secure*
/var/log/secure:Mar 20 15:36:25 web-server sshd[4377]: Failed password for root from 192.168.20.1 port 1378 ssh2
(4)grep "Accepted" /var/log/secure*
同(1)
[root@web-server ~]# grep "Accepted" /var/log/secure*
/var/log/secure:Mar 20 10:30:25 web-server sshd[4111]: Accepted publickey for root from 127.0.0.1 port 55976 ssh2: ED25519 SHA256:5wjncpQo9MtvNtk8t3A1CdOx2horMhYTghdrKk4ey0k
/var/log/secure:Mar 20 14:30:21 web-server sshd[2365]: Accepted password for root from 192.168.20.1 port 9509 ssh2
/var/log/secure:Mar 20 15:04:22 web-server sshd[4068]: Accepted password for root from 192.168.20.1 port 12423 ssh2
/var/log/secure:Mar 20 15:36:28 web-server sshd[4377]: Accepted password for root from 192.168.20.1 port 1378 ssh2
/var/log/secure:Mar 15 23:48:06 web-server sshd[2550]: Accepted password for root from 192.168.76.1 port 61662 ssh2
/var/log/secure-20240320:Mar 4 09:48:23 web-server sshd[8287]: Accepted password for root from 192.168.20.1 port 11035 ssh2
/var/log/secure-20240320:Mar 7 11:37:01 web-server sshd[1436]: Accepted password for root from 192.168.20.1 port 7796 ssh2
/var/log/secure-20240320:Mar 7 14:07:42 web-server sshd[2375]: Accepted password for root from 192.168.20.1 port 7322 ssh2
/var/log/secure-20240320:Mar 7 14:39:51 web-server sshd[5216]: Accepted password for root from 192.168.20.1 port 13752 ssh2
/var/log/secure-20240320:Mar 7 15:25:23 web-server sshd[5673]: Accepted password for root from 192.168.20.1 port 3129 ssh2
/var/log/secure-20240320:Mar 7 15:36:49 web-server sshd[5849]: Accepted password for root from 192.168.20.1 port 10490 ssh2
/var/log/secure-20240320:Mar 20 07:59:13 web-server sshd[2476]: Accepted password for root from 192.168.20.1 port 5237 ssh2
(5)history
history里面有很多关键信息,是很重要的命令。
[root@web-server ~]# history1 systemctl disable firewalld2 systemctl disable --now firewalld3 setenforce 04 vim5 vi /etc/sysconfig/selinux 6 poweroff7 ip a8 cd /var/9 ls10 cd ww11 cd /home/12 ls13 mysql14 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec15 BT16 bt17 ls18 cd /www/19 cd wwwroot/20 ls21 cd 127.0.0.1/22 ls23 cd ..24 ls25 cd ..26 ls27 cd wwwlogs/28 ls29 cat 127.0.0.1.log 30 cd nodejs/31 ls32 cd ..33 ls34 cd tcp-error.log 35 cat tcp-error.log 36 cat nginx_error.log 37 cat access.log 38 ls39 cat 127.0.0.1.log 40 cd /www/41 ls42 cd wwwlogs/43 ls44 cat 127.0.0.1.log 45 bt46 ls47 cd /www/wwwroot/48 ls49 cd 127.0.0.1/50 ls51 rm -rf flag1 152 ls53 rm -rf version2.php 54 ls55 hardlink 56 hwclock 57 ls58 docker ps59 rm -rf pe9.sql 60 ls61 cd vendor/62 ls63 cd ..64 ls65 cd ..66 sl67 ls68 ls -a69 cd 127.0.0.1/70 ls71 ls -a72 vim .api73 ls74 ls -a75 mkdir .api76 ls77 ls -a78 cd .api/79 l80 ls81 cd ..82 ls83 cd ap84 cd api/85 ls86 cp * ../.api/87 ls88 cd ..89 ls90 cd .api/91 ls92 vim mpnotify.php 93 yum install vim94 ls95 vim alinotify.php 96 cat /etc/shadow97 who98 w99 history100 useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}101 env102 $flag3 = [root@web-server .api]# useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}103 useradd: invalid user name 'flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}'104 $flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}105 vim /etc/profile106 source /etc/p107 source /etc/profile108 env109 history 110 q111 e112 eexir113 exit114 history 115 ls116 chmod +X go_build_untitled.exe 117 l118 chmod +x go_build_untitled.exe 119 ls120 ./go_build_untitled.exe 121 ls122 mv go_build_untitled.exe wp123 ls124 ./wp 125 passwd root126 clear 127 ./wp 128 clear 129 pwd130 ./wp
从上面18-29中多次发现/www目录,并且有127.0.0.1.log文件,可以跟webshell的访问和上传有关。
使用scp命令将虚拟机中的文件复制到本机中。
scp root@192.168.76.128:/www/wwwlogs/127.0.0.1.log D:\桌面
(6)挑战一
查看日志文件,发现几乎都是ip192.168.20.1的记录,判定是攻击者ip
(7)挑战二
要查看管理员密码,密码应该存在mysql数据中,同时,在/www网站目录查看是否存在mysql连接信息。
思路:在/www目录发现/wwwroot,因为含有root,含有配置信息可能性更大,进入/wwwroot,再进入127.0.0.1,使用命令 grep "MYSQL" -r /www/wwwroot/127.0.0.1递归搜索关键字,成功发现配置信息(PS:当然不是一开始就搜索MYSQL,是慢慢试出来的,一开始可能是mysql,Mysql等等)
成功发现mysql配置信息
连接数据库
查看数据库
选择kaoshi数据库
查看x2_user表,有多个用户,暂时无法确认哪个是管理员
查看x2_user_group表,groupid为1代表管理员,确认peadmin用户为管理员
将userpassword字段拿去md5解密,成功发现管理员密码
MD5在线解密 - 土薯在线工具Toolshu.com
(8)挑战三、挑战四
上面在127.0.0.1.log中发现很多连接的记录,怀疑是webshell的连接url但是暂时无法确定,在root目录下发现存在流量包,还是使用scp命令复制到本地进行分析
scp root@192.168.76.128:/root/数据包1.pcapng D:\桌面
过滤出HTTP协议进行分析
发现都是192.168.20.1与服务器连接
选中第一条数据进行追踪
将请求体中编码的数据进行url解码,发现存在蚁剑的特征,发现第一次连接webshell的url,webshell连接密码为Network2020(脚本中开头部分)
1. 代码特征
核心代码:蚁剑的核心代码部分来源于中国菜刀,因此其连接时的流量特征与中国菜刀较为相似。
常见函数:连接时通常会包含以下PHP函数:
@ini_set("display_errors", "0");:关闭错误显示。
@set_time_limit(0);:取消脚本执行时间限制。
@set_magic_quotes_runtime(0);:禁用魔术引号。
eval() 或 assert():用于执行动态代码。
(9)挑战五
在流量包中发现访问了flag1
进行追踪流,发现flag1
(10)挑战六
观察发现在后半部分,攻击者使用get请求验证version2.php是否存在,后续都是使用它来进行post
追踪流,发现是冰蝎的特征,所以version2.php就是后续使用的脚本
冰蝎4.0
加密方式:支持自定义传输协议,取消了固定的连接密码,加密算法和密钥由用户自定义。
流量特征:
Accept字段为application/json, text/javascript, */*; q=0.01。
Content-Type字段为application/x-www-form-urlencoded。
使用长连接,请求头和响应头带有Connection: Keep-Alive。
固定请求头和响应头,请求头为m7nCS8n4OZG9akdDlxm6OdJevs/jYQ5/IcXK,响应头为mAUYLzmqn5QPDkyI5lvSp6DmrC24FW39Y4YsJhUqS7。
默认连接密钥为e45e329feb5d925b。
(11)挑战七
在history中看到,曾经对文件进行修改
对这两个文件进行查看(PS:是.api目录,不是api目录,需要使用ls -a命令)
[root@web-server 127.0.0.1]# pwd
/www/wwwroot/127.0.0.1
[root@web-server 127.0.0.1]# ls
api app data files index.php lib tasks vendor
[root@web-server 127.0.0.1]# ls -a
. .. api .api app data files index.php lib tasks .user.ini vendor
[root@web-server 127.0.0.1]# cd .api
[root@web-server .api]# ls
alinotify.php alireturn.php mpnotify.php payjsnotify.php wxnotify.php
[root@web-server .api]# cat alinotify.php
发现flag2
(12)挑战八
直接在history中看到
4.验证
[root@web-server ~]# ./wp
提交攻击者IP?
192.168.20.1
回答正确!
提交攻击者修改的管理员密码(明文)
Network@2020
回答正确!
提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
index.php?user-app-register
回答正确!
提交Webshell连接密码
Network2020
回答正确!
提交数据包的flag1
flag1{Network@_2020_Hack}
回答正确!
提交攻击者使用的后续上传的木马文件名称
version2.php
回答正确!
提交攻击者隐藏的flag2
flag2 = "flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
回答错误!
提交攻击者隐藏的flag3
flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
回答错误!
[root@web-server ~]# ./wp
提交攻击者IP?
192.168.20.1
回答正确!
提交攻击者修改的管理员密码(明文)
Network@2020
回答正确!
提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
index.php?user-app-register
回答正确!
提交Webshell连接密码
Network2020
回答正确!
提交数据包的flag1
flag1{Network@_2020_Hack}
回答正确!
提交攻击者使用的后续上传的木马文件名称
version2.php
回答正确!
提交攻击者隐藏的flag2
flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
回答正确!
提交攻击者隐藏的flag3
flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
回答正确!
相关文章:
应急响应靶机练习-Linux2
1.背景 前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!! 挑战内容: (1)提交攻击者IP (2)提交攻击者修改的管理员密码(明文) (…...
进程间通信--匿名管道
进程间通信介绍 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…...
ctfshow-xxs-316-333-wp
316.反射型 XSS(-326都是反射型) js恶意代码是存在于某个参数中,通过url后缀进行get传入,当其他用户点进这个被精心构造的url链接时,恶意代码就会被解析,从而盗取用户信息。 来看题,先简单测试…...
顺序表和链表的对比(一)
前言 今天给小伙伴们分享的是在数据结构中顺序表和链表的对比。它们在计算机科学和软件开发中具有广泛的应用,是理解更复杂数据结构(如栈、队列、树、图等)的基础。这次将会给大家从定义初始化,以及功能增删查改上进行详细对比&a…...
蓝思科技冲刺港股上市,双重上市的意欲何为?
首先,蓝思科技冲刺港股上市,这一举措是其国际化战略进入实质性阶段的重要标志。通过港股上市,蓝思科技有望进一步拓宽融资渠道,这不仅能够为公司带来更加多元化的资金来源,还能够降低对单一市场的依赖风险,…...
【C++项目实战】校园公告搜索引擎:完整实现与优化指南
🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚一、项目概述 📖1.项目背景 📖2.主要功能 📖3.界面展…...
C语言每日一练——day_8
引言 针对初学者,每日练习几个题,快速上手C语言。第八天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
单片机农业大棚浇花系统
标题:单片机农业大棚浇花系统 内容:1.摘要 本文针对传统农业大棚浇花方式效率低、精准度差的问题,提出了一种基于单片机的农业大棚浇花系统。该系统以单片机为核心控制器,通过土壤湿度传感器实时采集土壤湿度数据,并将数据传输至单片机进行处…...
Kubernetes 单节点集群搭建
Kubernetes 单节点集群搭建教程 本人尝试基于Ubuntu搭建一个单节点K8S集群,其中遇到各种问题,最大的问题就是网络,各种镜像源下载不下来,特此记录!注意:文中使用了几个镜像,将看来可能失效导致安…...
windows安装两个或多个JDK,并实现自由切换
我用两个JDK来做演示,分别是JDK8和JDK17(本人已安装JDK8,所以这里只演示JDK17的安装)。 1、下载JDK17安装 Java Downloads | Oracle 2、安装JDK17,这里忽略。直接双击软件,点击下一步就可以。 3、配置环境变量 在系统变量中新建一个CLASSP…...
如何打包数据库mysql数据,并上传到虚拟机上进行部署?
1.连接数据库,使得我们能看到数据库信息,才能进行打包上传 2. 3. 导出结果如下,是xml文件 4.可以查询每个xml文件的属性,确保有大小,这样才是真实导出 5跟着黑马,新建文件夹,并且把对应的东西放…...
fastapi +angular迷宫求解可跨域
说明:我计划使用fastapi angular,实现迷宫路径生成与求解 后端功能包括: 1.FastAPI搭建RESTful接口。写两个接口, 1.1生成迷宫, 1.2求解路径 前端功能包括 1.根据给定的长宽值,生成迷宫 2.点击按钮&…...
CobaltStrike详细使用及Linux上线
1、工具准备 cs工具 将teamserver.zip放进服务端给必要文件增加可执行文件( 执行时会有提示 )服务端启动服务监听 sudo ./teamserver <IP地址> <密码> [c2配置文件]客户端直接连接即可端口默认:50050主机:服务端ip地址2、基础配置 启动监听…...
WSL2 Ubuntu安装GCC不同版本
WSL2 Ubuntu安装GCC不同版本 介绍安装gcc 7.1方法 1:通过源码编译安装 GCC 7.1步骤 1:安装编译依赖步骤 2:下载 GCC 7.1 源码步骤 3:配置和编译步骤 4:配置环境变量步骤 5:验证安装 方法 2:通过…...
WPF CommunityToolkit.MVVM库的简单使用
CommunityToolkit.MVVM 是 .NET 社区工具包中的一部分,它为实现 MVVM(Model-View-ViewModel)模式提供了一系列实用的特性和工具,能帮助开发者更高效地构建 WPF、UWP、MAUI 等应用程序。以下是关于它的详细使用介绍: 1…...
4个 Vue 路由实现的过程
大家好,我是大澈!一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员👨🏻💻,关注我,科技未来或许我能帮到你! Vue 路由相信朋友们用的都很熟了,但是你知道 Vue 路由…...
Compose 实践与探索十 —— 其他预先处理的 Modifier
1、PointerInputModifier PointerInputModifier 用于定制触摸(包括手指、鼠标、悬浮)反馈算法,实现手势识别。 1.1 基本用法 最简单的使用方式就是通过 Modifier.clickable() 响应点击事件: Box(Modifier.size(40.dp).backgro…...
基于Python的天气预报数据可视化分析系统-Flask+html
开发语言:Python框架:flaskPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统登录 可视化界面 天气地图 天气分析 历史天气 用户管理 摘要 本文介绍了基于大数据…...
“消失的中断“
“消失的中断” 1. 前言 在嵌入式开发过程中,中断必不可少。道友们想必也经常因为中断问题头疼不已,今天来说说一个很常见的问题,“消失的中断”。最近项目在使用第三方MCAL的时候,就遇到了I2C中断丢失的问题,排查起…...
对C++面向对象的理解
C的面向对象编程(OOP)是其核心特性之一,通过类(Class)和对象(Object)实现数据和行为的封装,支持继承、多态和抽象等核心概念。以下是关键点解析: 1. 类(Class…...
代码随想录-训练营-day52
97. 小明逛公园 (kamacoder.com) #include<iostream> #include<vector> using namespace std; int main(){int n,m,u,v,w;cin>>n>>m;vector<vector<vector<int>>> grid(n1,vector<vector<int>>(n1,vector<int>(n1…...
Java File 类详解
1. 概述 File 类是 Java 提供的用于文件和目录路径名的抽象表示。它能够用于创建、删除、查询文件和目录的信息,但不用于读写文件内容。如果需要对文件进行读写,可以结合 FileReader、FileWriter、BufferedReader 等类来完成。 2. File 类的构造方法 …...
JS实现省份地级市的选择
JS实现省份地级市的选择 效果展示: 代码实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…...
【鸿蒙开发】Hi3861学习笔记-Visual Studio Code安装(New)
00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code插件05. 附录 01. Visual Studio Code概述 vscode是一种简化且高效的代码编辑器,同时支持诸如调试,任务执行和版本管…...
记录致远OA服务器硬盘升级过程
前言 日常使用中OA系统突然卡死,刷新访问进不去系统,ping服务器地址正常,立马登录服务器检查,一看磁盘爆了。 我大脑直接萎缩了,谁家OA系统配400G的空间啊,过我手的服务器没有50也是30台,还是…...
计算机网络-网络规划与设计
基本流程 需求分析—》通信规范分析—》逻辑网络设计—》物理网络设计—》实施阶段 需求分析: 确定需求,包括:业务需求、用户需求、应用需求、计算机平台需求、网络通信需求等。 产物:需求规范 通信规范分析: 现有…...
C#opencv 遍历图像中所有点 不在圆范围内的点变为黑色,在圆范围内的保持原色
C#opencv 遍历图像中所有点 不在圆范围内的点变为黑色,在圆范围内的保持原色 安装 Install-Package OpenCvSharp4 Install-Package OpenCvSharp4.Windows 普通实现 using System; using System.Collections.Generic; using System.Linq; using OpenCvSharp; // 添加OpenCV引用…...
精通游戏测试笔记(持续更新)
第一章、游戏测试的两条规则 不要恐慌 不要将这次发布当作最后一次发布 不要相信任何人 把每次发布当作最后一次发布 第二章:成为一名游戏测试工程师...
Linux内核,mmap_pgoff在mmap.c的实现
1. mmap_pgoff的系统调用实现如下 SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,unsigned long, prot, unsigned long, flags,unsigned long, fd, unsigned long, pgoff) {return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); }2. ksys_mma…...
深度揭秘:蓝耘 Maas 平台如何重塑深度学习格局
目录 前言 深度学习:技术基石与发展脉络 蓝耘 Maas 平台:深度学习的强大助推器 1. 高性能算力支撑 2. 丰富的模型支持 3. 便捷的开发体验 4. 完善的安全保障 代码示例:蓝耘 Maas 平台上的深度学习实践 1. 注册与登录 2. 代码实现 …...
深入解析操作系统进程控制:从地址空间到实战应用
引言 想象这样一个场景: 你的游戏本同时运行着《赛博朋克2077》、Chrome浏览器和Discord语音 突然游戏崩溃,但其他应用依然正常运行 此时你打开任务管理器,发现游戏进程已经消失,但内存占用却未完全释放 这背后涉及的关键机制…...
网络空间安全(33)MSF漏洞利用
前言 Metasploit Framework(简称MSF)是一款功能强大的开源安全漏洞利用和测试工具,广泛应用于渗透测试中。MSF提供了丰富的漏洞利用模块,允许安全研究人员和渗透测试人员利用目标系统中的已知漏洞进行攻击。 一、漏洞利用模块&…...
《Electron 学习之旅:从入门到实践》
前言 Electron 简介 Electron 是由 GitHub 开发的一个开源框架,基于 Chromium 和 Node.js。 它允许开发者使用 Web 技术(HTML、CSS、JavaScript)构建跨平台的桌面应用程序。 Electron 的优势 跨平台:支持 Windows、macOS 和 Linux…...
通达信软件+条件选股+code
在通达信软件中,你的选股公式需要放在 "公式管理器" 的 "条件选股公式" 分类中。以下是详细操作步骤: 一、打开公式管理器 打开通达信软件,按快捷键 Ctrl + F (或点击顶部菜单栏:"公式" → "公式管理器") 二、创建新公式 选择分…...
【2025】基于springboot+vue的汽车销售试驾平台(源码、万字文档、图文修改、调试答疑)
基于 Spring Boot Vue 的汽车销售试驾平台通过整合前后端技术,实现了汽车销售和试驾预约的信息化和智能化。系统为管理员和用户提供了丰富的功能,提升了客户体验和销售效率,增强了数据分析能力,为汽车销售行业的发展提供了新的途…...
Spring Web MVC入门
一、什么是SpringMVC 首先,MVC是一种架构设计模式,也是一种思想,而SpringMVC是对MVC思想的具体实现,除此之外,SpringMVC还是一个Web框架。 总的来说,SpringMVC就是一个实现MVC模式的Web框架。 而MVC可以…...
5G核心网实训室搭建方案:轻量化部署与虚拟化实践
5G核心网实训室 随着5G技术的广泛应用,行业对于5G核心网人才的需求日益增长。高校、科研机构和企业纷纷建立5G实训室,以促进人才培养、技术创新和行业应用研究。IPLOOK凭借其在5G核心网领域的深厚积累,提供了一套高效、灵活的5G实训室搭建方…...
IMX6ULL学习整理篇——Linux驱动开发的基础2 老框架的一次实战:LED驱动
IMX6ULL学习整理篇——Linux驱动开发的基础2 老框架的一次实战:LED驱动 在上一篇博客中,我们实现了从0开始搭建的字符设备驱动框架,但是这个框架还是空中楼阁,没有应用,很难说明我们框架的正确性。这里,…...
网络空间安全(32)Kali MSF基本介绍
前言 Metasploit Framework(简称MSF)是一款功能强大的开源安全漏洞检测工具,被广泛应用于渗透测试中。它内置了数千个已知的软件漏洞,并持续更新以应对新兴的安全威胁。MSF不仅限于漏洞利用,还包括信息收集、漏洞探测和…...
零基础上手Python数据分析 (3):Python核心语法快速入门 (下) - 程序流程控制、函数与模块
写在前面 还记得上周我们学习的 Python 基本数据类型、运算符和变量吗? 掌握了这些基础知识,我们已经能够进行一些简单的数据操作了。 但是,在实际的数据分析工作中,仅仅掌握基本语法是远远不够的。 我们需要让程序能够 根据条件做出判断,重复执行某些操作,组织和复用代…...
C++【类和对象】(超详细!!!)
C【类和对象】 1.运算符重载2.赋值运算符重载3.日期类的实现 1.运算符重载 (1).C规定类类型运算符使用时,必须转换成调用运算符重载。 (2).运算符重载是具有特殊名字的函数,名字等于operator加需要使用的运算符,具有返回类型和参数列表及函数…...
Windows-PyQt5安装+PyCharm配置QtDesigner + QtUIC
个人环境 Windows 11 pycharm 2024.2 Anaconda2024.6python 3.9 1)先使用pip命令在线安装 1)pip install PyQt5 2)pip install PyQt5-tools2)配置环境变量 1:安装成功后可以在python的安装目录Lib\site-packahes目录下看到安装包。比如我的路径是E:\anaconda3…...
qq音乐 webpack 补环境
网址: aHR0cHM6Ly95LnFxLmNvbS9uL3J5cXEvcGxheWVy 1.接口分析 接口:cgi-bin/musics.fcg 参数:sign是加密的 2.代码分析 进入调用栈 先在send位置打上断点,页面刷新 往上一个栈找 可以看到上面就有一个关键词sign是从…...
【蓝桥杯】省赛:神奇闹钟
思路 python做这题很简单,灵活用datetime库即可 code import os import sys# 请在此输入您的代码 import datetimestart datetime.datetime(1970,1,1,0,0,0) for _ in range(int(input())):ls input().split()end datetime.datetime.strptime(ls[0]ls[1],&quo…...
计算机的结构形式
微机的机构形式 台式个人微机 最开始的微机(计算机)都是台式的,到目前为止仍是个人微机的主要形式。台式机按照电脑机箱的放置形式,分为卧式和立式两种。台式机需要放在桌面上或者留有专门放置机箱位置,他的主机、键…...
C语言【内存函数】详解
目录: 1. memcpy使用和模拟实现 2. memmove使用和模拟实现 3. memset函数的使用 4. memcmp函数的使用 以上函数均包含在一个头文件<string.h>里面 一、memcpy的使用和模拟实现。 memcpy函数介绍: 函数原型: void * memcpy ( void…...
软考网络安全专业
随着信息技术的迅猛发展,网络安全问题日益凸显,成为社会各界普遍关注的焦点。在这样的背景下,软考网络安全专业应运而生,为培养高素质的网络安全人才提供了有力支撑。本文将对软考网络安全专业进行深入剖析,探讨其在信…...
Altium Designer——CHIP类元器件PCB封装绘制
文章目录 PCB封装组成元素:焊盘的属性 SS34肖特基二极管SMA(DO-214AC)封装绘制资料:步骤:1.绘制焊盘:用到的快捷键:资料: 2.绘制丝印:用到的快捷键:资料: PCB封装组成元素…...
C++ unordered_map unordered_set 模拟实现
1. 关于unordered_map 和 unordered_set 区别于C的另外两个容器map和set,map和set的底层是红黑树;而unordered_map和unordered_set的底层是哈希 因为unordered_map和unordered_set的底层是哈希,因此他们存储的数据是没有顺序unordered…...
Java使用自定义类加载器实现插件动态加载
虚拟机类加载子系统 Java虚拟机的⼀个重要子系统,主要负责将类的字节码加载到JVM内存的⽅法区,并将其转换为JVM内部的数据结构。 一个类从被加载到虚拟机开始,一直到卸载出内存为止,会经历七个阶段:加载,…...