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

护网蓝队面试

在这里插入图片描述

一、sql注入分类

**原理:**没有对用户输入项进行验证和处理直接拼接到查询语句中

查询语句中插⼊恶意SQL代码传递后台sql服务器分析执行

**从注入参数类型分:**数字型注入、字符型注入

**从注入效果分:**报错注入、布尔注入、延时注入、联合注入、堆叠注入、宽字节注入

**从提交方式分:**GET注入、POST注入、HTTP头注入、COOKIE注入

**报错注入用到的函数:**updatexml、floor、extractvalue,exp

**布尔盲注用到的函数:**substr,mid,left,right,ascii,ord,char,length

**时间盲注用到的函数:**sleep

SQL注入防御

  • 对关键函数或字符过滤:union select order by information_schema等
  • 下载相关防范注入文件,通过incloude函数包含在网站配置文件里面
  • pdo预处理,使用预编译语句
  • 添加白名单来规范输入验证方法
  • 对客户端输入进行控制,限制特殊字符和函数的输入

SQL注入绕过waf

  • 大小写双写、双写关键字、空格、
  • 使用编码:unioncode编码 十六进制编码 url编码
  • 等价函数:mid,substr(),substring() &&和||> and 和or =号可以用<>因为如果不大于不小于就是等于

SQL注入写shell条件:

  • 知道web服务器的绝对路径
  • 数据库具有root权限
  • secure_file_priv函数 没有特殊的值
  • PHP关闭魔术引号,php主动转义功能关闭

SQL写入shell的方式:

通过本地写入into outfile函数

通过日志写入需要对 general_log 和 general_log_file 变量进行更改

通过sqlmap --os-shell命令写入

**二次注入:**后端代码对用户输入的数据进行了转义,然后在保存到数据库的时候是没有进行转 义,然后再从数据库当中取出数据的时候,没有对数据库中的特殊字符进行转义和验证,就可能 形成闭合,导致注入

防御:使用统一编码格式utf-8对用户输入的内容进行验证过滤

其他常见漏洞

csrf

**原理:**跨站点请求伪造。盗用用户身份,以用户的名义发送恶意请求

ssrf

**原理:**利用网络请求的服务当跳板攻击内部其他服务

文件包含

**原理:**攻击者通过操纵应用程序对文件路径的处理,将恶意文件包含到应用程序中执行

文件上传

**原理:**对上传文件无限制后缀以及类型或者处理缺陷、导致越过本身权限向服务器上马

绕过方法:

上传特殊可解析后缀

上传.htaccess(可帮助修改文件扩展名)

.user.ini文件里的意思是:所有的php文件都自动包含指定的文件

后缀大小写、双后缀名、空格(黑名单)

MIME、%00截断、0x00截断绕过(白名单)

在url中%00表示ascll码的0 ,而ascii码的0,表示字符串结束,所以当url中出现%00时就会认为读取已结束
0x00原理相同

文件头

xss

**原理:**插入恶意脚本、实现对用户浏览器攻击

**类型:**存储、反射、dom

**反射和dom区别:**DOM-XSS是javascript处理输出、⽽反射性xss是后台程序处理

xxe

**原理:**解析用户传入的xml

**作用:**内⽹端⼝扫描、利⽤file协议等读取⽂件、攻击内⽹web应⽤使⽤get(struts2等)

二、如何判断文件上传一次攻击

响应包是200,返回的有没有路径,请求包的报文内容有没有上传木马,尝试访问路径,能不能执行命令

三、命令执行和代码执行

**命令执行:**Web应用的脚本代码在执行命令的时候过滤不严,从而注入一段攻击者能够控制的代 码,在服务器上以Web服务的后台权限远程执行恶意指令

**原因:**代码层过滤不严,系统的漏洞造成命令注入,调用的第三方组件存在代码执行漏洞常见执行 函数:exec、shell_exec、system、passthru、popen

**代码执行:**由于服务器对危险函数过滤不严,导致用户输入的一些字符串可以被转换成代码来执行, 从而造成代码执行

**原因:**用户能够控制函数输入,存在可执行代码的危险函数,常见执行函数:eval、assert、 preg_replace()

四、CSRF 和 XSS 和 XXE 有什么区别

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。

修复方式: 对字符实体进行转义

使用HTTP Only来禁止JavaScript读取Cookie值

输入时校验

浏览器与Web应用端采用相同的字符编码

CSRF是跨站请求伪造攻击,是由于没有在关键操作执行时进行是否由用户自愿发起的确认,模仿合法用户对服务器发起请求 。

修复方式: 筛选出需要防范CSRF的页面然后嵌入Token

再次输入密码

检验Referer

XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。

修复方式: XML解析库在调用时严格禁止对外部实体的解析

五、一些漏洞

shiro是apache的java安全框架,用于执行身份验证、授权、密码和会话管理

使用shiro易于理解的API(程序接口),可以快速轻松对应用程序进行保护

Shiro550原理导致shiro反序列化的主要原因就是shiro提供的记住密码功能,当用户打开这个功 能时会在请求包中生成一个cookie,cookie的value值是经过序列化->aes加密->base64加密后 的字符串,关键在于aes加密的秘钥是默认的,如果没有修改这个秘钥,就会导致反序列化漏洞, 攻击者可以构造恶意代码,将恶意代码序列化-AES加密-base64加密后传入cookie,这样就导致 RCE漏洞。

Shiro 721原理Shrio所使用的cookie里的rememberMe字段采用了AES-128-CBC的加密模式, 这使得该字段可以被padding oracle 攻击利用。攻击者可以使用一个合法有效的rememberMe 的cookie作为前缀来实施POA,然后制造一个特制的rememberMe来执行Java反序列化攻击。

shrio550和721的区别主要区别

在于Shiro550使用已知默认密码,只要有足够的密码,不需要 Rememberme的Cookie;Shiro721的AES加密的key为系统随机生成,需要利用登录后的 rememberMe去爆破正确的key值。利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,再去构造反序列化攻击。

fastjson反序列化漏洞原理:

fastjson 是一个 有阿里开发的一个开源Java 类库,可以将 Java 对象转换为 JSON 格式(序列化),当然它也可以将 JSON 字符串转换为 Java 对象(反序列化)

1、fastjson提供的反序列化功能允许用户传入json格式数据的时候通过@type的value值指定任 意反序列化类名

2、fastjson的反序列化机制会将反序列的类进行实例化对象,并调用该对象的setter和部分getter方法

3、恶意用户可以构造payload是目标应用的代码执行流程进入这部分setter和getter方法,如果 这些方法中存在Gadget,就会造成一些安全问题。

4、官方采取黑名单过滤的方法,对反序列化的类名进行校验,checkAutoType不断被绕过

log4j2原理:

log4j2是apache下的java应用常见的开源日志库,是一个就Java的日志记录工具

Apache Log4j2中存在JNDI注入漏洞,主要原理是利用log4j2的日志输出jndi远程 对象时,调用远程对象没做检查导致,程序将用户输入的数据进行日志记录时即可触发该漏洞并可 在目标服务器上执行任意代码。该漏洞利用过程需要找到一个能触发远程加载并应用配置的输入 点,迫使服务器远程加载和修改配置的前提下使目标系统通过JNDI远程获取数据库源,触发攻击者的恶意代码

Struts2原理:

将用户要求按照业务逻辑执行并且返回结果

用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式 %{value}进行解析,然后重新填充到对应的表单数据中。

例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行

Weblogic:

漏洞描述:

Weblogic Server中的RMI 通信使用T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应用程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机。T3协议在开放WebLogic控制台端口的应用上默认开启。攻击者可以通过T3协议发送恶意的的反序列化数据, 进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击(开放Weblogic控制台的7001端口,默认会开启T3协议服务,T3协议触发的Weblogic Server WLS Core Components中存在反序列化漏洞,攻击者可以发送构造的恶意T3协议数据,获取目标服务器权限。)

远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,通过T3协议(EJB支持远程访问,且支持多种协议。这是Web Container和EJB Container的主要区别)在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过JRMP协议(Java Remote Messaging Protocol:java远程消息交换协议)达到执行任意反序列化payload的目的。

**T3协议:**用于在Weblogic服务器和其他类型的Java程序之间传输信息的协议。Weblogic会跟踪连接到应用程序的每个Java虚拟机,要将流量传输到Java虚拟机,Weblogic会创建一个T3连接。该链接会通过消除在网络之间的多个协议来最大化效率,从而使用较少的操作系统资源。用于T3连接的协议还可以最大限度减少数据包大小,提高传输速度。

**RMI:**远程方法调用

使用协议:JRMP

T3就是对JRMP的优化。Java RMI 的基础通信协议是 JRMP ,但是也支持开发其他的协议来优 化 RMI 的传输,这里的 Weblogic 的 T3 协议就是其优化版本,相比于JRMP协议多了一些特 性。T3协议传输过程中就是序列化和反序列化方式

**利用:**将原本存在的序列化内容替换成我们payload的序列化内容,在传输完成后,进行反序列 化达成攻击的目的

Jboss

JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免 费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3规范。但JBoss核 心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

两种利用方式,第一种是利用未授权访问进入JBoss后台进行文件上传的漏洞;另一种是利用Java 反序列化进行远程代码执行的漏洞

弱口令漏洞

system:password
weblogic:weblogic
admin:secruity
joe:password
mary:password
system:sercurity
wlcsystem: wlcsystem
weblogic:Oracle@123

六、webshell管理工具

菜刀

base64加密,php马有eval,(base64_decode ($POST[z0])),&z0=QGluaV9zZXQ

蚁剑

以 0x 开头的参数名,@ini_set(“display_errors”,“0”)

冰蝎

1、大量的 content-type:application,content-type 为 application/octet-stream。

2、默认内置 16 个 ua,content-length 请求长度payload 都为定长

3、Accept头有application/xhtml+xmlapplication/xmlapplication/signed-exchange属于弱 特征

哥斯拉

1、pass =eval(base64_decode…,pass=加密数据

2、user-agent,accept,accept-language 固定

一共会产生3个 POST 数据包,POST请求报文中参数名都是 pass (即shell的连接密码),参 数值都是加密数据。

七、windows+Linux应急响应流程

检查系统账号安全查看服务器是否有弱口令

远程管理端口是否对公网开放

查看服务器是否存在可疑账号、新增账号

查看服务器是否存在隐藏账号、克隆账号

检查异常端口、进程

检查启动项、计划任务、服务

查看可疑文件和目录

查看webshell创建的时间

Windows入侵排查思路

1.检查系统账号安全 2.查看服务器是否有弱口令,远程管理端口(3389)是否对公网开放(使用 netstat -ano 命令、或者问服务器管理员) 3.lusrmgr.msc(本地用户和本地用户组) 快捷命令查 看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户, 如有,请立即禁用或删除掉 4.用 D 盾或者注册表(regedit)中查看服务器是否存在隐藏账号、克隆 账号 5.结合日志,查看管理员登录时间、用户名是否存在异常,使用eventvwr.msc打开“事件查 看器”,导出 Windows 日志–安全,利用 Log Parser 进行分析 6.检查异常端口、进程 netstat - ano检查端口连接情况,是否有远程连接、可疑连接 然后使用 tasklist |findstr PID 进行定位 7. 使用快捷命令 msconfig查看是否存在命名异常的启动项目, 输入regedit注册表中查看开机启动项是否正常,输入gpedit.msc查看本地组策略,使用services.msc检查是否有异常服务 8.检查系统相关信息 systeminfo查看系统版本以及补丁信息 查找可疑目录及文件

Linux入侵排查思路

bash的账户,正常为/nologin 2.查看本机开启端口服务信息 netstat -anlutp,然后去查看每个开 启服务所产生的日志信息 (var/log目录下)(举例如何查看mysql日志,首先登录mysql,然后 使用 show variables like ‘%general_log%’ 查看日志是否开启和路径信息) 二、 服务入侵排查 1.使用last命令检查系统登录日志,统计ip登录错误次数和登录情况 2.使用 ls -l 查看 /etc/passwd文件 的修改时间 查看是否有特权用户 查看网站开启的端口ss -anlutp 3.使用ps - elf 看UID为0的进程 查看ssh的公钥是否被修改 4.查看网站根目录(/var/www)下是否存在可疑 文件 5.查看计划任务 /etc/crontab 三、异常启动排查 1.ps -elf 查看进程 2.查看linux 系统服务 /etc/rc.d/init.d 3.查看用户自定义开机启动程序 /etc/rc.d/rc.local

应急响应流程

1、收集信息:搜集客户信息和中毒信息,备份

2、判断类型:判断是否是安全事件、是何种安全事件(勒索病毒、挖矿、断网、ddos等)

3、深入分析:日志分析、进程分析、启动项分析、样本分析

4、清理处置:杀掉恶意进程、删除恶意文件、打补丁、修复文件

5、产出报告:整理并输出完整的安全事件报告

windows应急

1.查看系统账号安全

查看服务器是否有弱口令、可疑账号、隐藏账号、克隆账号、远程管理端口是否对公网开放

win+r(eventwmr.msc)查看系统日志,查看管理员登录时间、用户名是否存在异常

2.检查异常端口、进程

netstat -ano 检查端口连接情况,是否有远程连接、可疑连接

tasklist | findstr "PID"根据pid定位进程

使用功能查杀工具

3.启动项检查、计划任务、服务

检查服务器是否有异常的启动项,msconfig看一下启动项是否有可以的启动

检查计划任务,查看计划任务属性,可以发现木马文件的路径

见擦汗服务自启动,services.msc注意服务状态和启动类型,检查是否有异常服务

4.检查系统相关信息

查看系统版本以及补丁信息 systeminfo

查找可以目录及文件 是否有新建用户目录 分析最近打开分析可疑文件 (%UserProfile%\Recent)

5.自动化查杀

使用360 火绒剑 webshell后门可以使用d盾 河马等

6.日志分析

360星图日志分析工具 ELK分析平台

linux应急

1、检查用户及密码文件/etc/passwd、/etc/shadow 是否存在多余帐号,主要看一下帐号后面 是否是 nologin,如果没有 nologin 就要注意;

2、通过 who 命令查看当前登录用户(tty 本地登陆 pts 远程登录)、w 命令查看系统信息,想 知道某一时刻用户的行为、uptime查看登陆多久、多少用户,负载;

3、修改/etc/profile的文件,在尾部添加相应显示间、日期、ip、命令脚本代码,这样输入 history命令就会详细显示攻击者 ip、时间历史命令等;

4、用 netstat -antlp|more命令分析可疑端口、IP、PID,查看下 pid 所对应的进程文件路径, 运行ls -l /proc/ P I D / e x e 或 f i l e / p r o c / PID/exe 或 file /proc/ PID/exefile/proc/PID/exe($PID 为对应的pid 号);

5、使用ps命令,分析进程 ps aux | grep pid

6、使用 vi /etc/inittab 查看系统当前运行级别,通过运行级别找到/etc/rc.d/rc[0~6].d对应目录 是否存在可疑文件;

7、看一下crontab定时任务是否存在可疑启用脚本;

8、使用chkconfig --list 查看是否存在可疑服务;

9、通过grep awk命令分析/var/log/secure安全日志里面是否存在攻击痕迹;

10、chkrootkit、rkhunter、Clamav 病毒后门查杀工具对 Linux 系统文件查杀;

11、如果有 Web 站点,可通过 D 盾、河马查杀工具进行查杀或者手工对代码按脚本木马关键 字、关键涵数(evel、system、shell_exec、exec、passthru system、popen)进行查杀 Webshell 后门。

八、windows事件ID

事件ID说明
4624登录成功
4625登录失败
4634注销成功
4647用户启动的注销
4672使用超级用户(如管理员)进行登录
4720创建用户

九、sql注入

如何判断是攻击还是误报

第一时间去判断内网还是外网,内网大部分都是172 192 10 如果是内网对内网,大概率是真实业务,很少见打到内网,查询字段内容,响应包是否是正常业务,看状态码判断攻击成功

如果是外网,先去看状态码 如果是200,微步平台看是否是恶意ip 先上报封禁,攻击报文如果是正常业务 那我们对这个业务监控,如果是sql语句攻击,看里面报文的攻击语句,比如常见sleep函数延时注入,extractvalue、updatexml函数 的报错注入,把攻击行为给客服反馈过去

十、ssrf打redis

ssrf扫描内网,端口6379redis,然后redis未授权漏洞利用

利用dict协议可以扫描开放的端口,探测指纹信息,可以攻击redis服务 dict://ip:port/info 截获get请求包和post请求包,再构造成符合gopher协议的请求,从而模拟redis通信

更改redis备份路径为ssh公钥存放目录(一般默认为/root/.ssh)并设置上传公钥的备份文件名字 为authorized_keys,将一开始生成的SSH公钥写入authorized_keys文件中。

十一、PHP一句话木马

<?php @eval($_GET['cmd']); ?>
<?php @eval($_POST['cmd']); ?>
<?php @eval($_REQUEST['cmd']); ?>
<script language="php">eval($_GET['cmd']);</script>
GIF89a? <script language="php">eval($_REQUEST['mima'])</script>

十二、序列化反序列化及其流量特征

**序列化:**对象转换为字符串

**反序列化:**字符串转换为对象

流量特征:

**shiro反序列化:**查看cookie中rememberme字段,恶意命令要从这里传入。判断是否有漏洞, 查看返回包set cookie:rememberme=deleteme,验证失败返回的标识符。

**fastjson反序列化:**请求报文中查找json格式的数据,重点看有无rmi或者出网的一些行为

**st2-045:**请求头中的Content-Type字段

十三、常见的设备,出现误报怎么办

奇安信天眼,设备类型:全流量,天眼、EDR、全流量告警、态势感知、APT、蜜罐设备,微步tdp,青藤云HIDS,明御安全网关先去查看设备的完整流量日志等信息确认是否为误报,误报那就是规则问题,上报处置,提供规则优化建议

十四、wireshark指令

http contains “关键字”

http.response.code == 200

http.request.method == POST

tcp.prot == 80

ip.addr == "10.1.1.1"ip.srcip.dst

十五、中挖矿病毒怎么解决

首先ps -aux查看进程分析

然后top 分析算力,挖矿用到的算力比较多,对流量进行过滤,含有矿池服务器的流量就是挖矿病毒

最后kill进程,rm掉程序

删不掉这么办

先下线,然后检查挖矿是否有在内网传播及时下线所有被传播的主机、上机排查攻击痕迹、一般 可以从cpu占用情况,可以进程、开放端口、计划任务、服务项几个方面排查

将样本上传到在线分析平台,清除挖矿主程序主要就是双向封禁矿池地址、删除计划任务自启 动、删服务,结束恶意进程、删病毒

**删不掉:**确认一下一下是因为程序在使用,还是权限不够,更具具体情况采取措施 直接降权,降权到没有执行权限

十六、拿到webshell不出网情况下怎么办

reg上传去正向连接。探测出网协议,如dns,icmp

十七、怎么排查java内存马

直接利用内存马检测工具去找,github也有很多检测脚本,手工的话可以分析web日志,filter或者listener类型的内存马,会有大量路径相同参数不同的url请求,或者页面不存在但是返回200的请求,分析web.xml文件,内存马的Filter是动态注册的,web.xml是没有配置的,也有可能是中间件漏洞通过代码执行加载内存马,这就可以去排查中间件的错误日志,像哥斯拉和冰蝎的内存马也会有跟webshell相似的特征,分析特殊的classloader加载,攻击者喜欢利用TemplatesImpl和bcel加载内存马,因为内存马是驻留在内存里的,本地无class文件,通过检测Filter对应的ClassLoader目录下是否存在class文件来判断,也可以把内存中所有的Filter的class dump出来,使用工具分析是否存在恶意代码

十八、蜜罐原理

**创建虚拟环境:**在网络中创建一个看似易受攻击的虚拟环境,该环境模拟真实系统的一部分或全 部功能,包括应用程序、服务和操作系统。

**引诱攻击者:**通过暴露蜜罐的存在,例如通过公开可访问的IP地址或虚假的网站,吸引攻击者主 动尝试入侵、扫描或攻击蜜罐系统。

**监测和记录:**一旦攻击者进入蜜罐系统,蜜罐会记录攻击者的行为、攻击技术和使用的工具。 这些信息对于理解攻击者的策略和行为非常有价值。

**分析和响应:**通过分析记录的数据,研究人员可以识别攻击者的行为模式、漏洞利用方法和漏洞 的目标。

这些信息可以用于改进真实系统的安全性,及时发现和应对新的威胁。 蜜罐的优势在于能够提供高质量的攻击数据和情报,帮助安全团队更好地了解攻击者的行为模式和目的,加强防御措施并及时应对威胁。

然而,蜜罐也需要专业人员来设计、部署和管理,以确保其安全性和有效性,并避免对真实系统 造成潜在的风险。

十九、内存马查杀&原理

java内存马原理

通过在Java虚拟机(JVM)中运行的恶意代码,实现对被攻击者系统的远程控制。其原理是通过在Java虚拟机中注入特定的Java类、变量或方法等Java对象,然后在Java虚拟机中运行这些代码,实现对受害者机器的远程控制

java内存马排查

利用Java Agent技术遍历所有已经加载到内存中的class。 先判断是否是内存马,是则进入内存查杀。

识别

1,filter名字很特别

2,filter优先级是第一位

3,对比web.xml中没有filter配置

4,特殊classloader加载

5,对应的classloader路径下没有class文件

6,Filter的doFilter方法中 有恶意代码

清除

1、清除内存马中的Filter的恶意代码,2、 模拟中间件注销Filter

二十、常见的危险PHP函数总结

eval() — 把字符串作为PHP代码执行

语法eval( string $code ) : mixed

把字符串 code 作为PHP代码执行。

这个函数一般都是攻击者用的,没什么人会拿这个放到自己的源码里面

PHP官方也给出了警告

image-20240627111043558

assert() — 检查一个断言是否为 false (把字符串作为PHP代码执行)

语法

PHP 5

assert( mixed $assertion , string $description = ? ) : bool

PHP 7

assert( mixed $assertion , Throwable $exception = ? ) : bool

assert()会检查指定的 assertion 并在结果为 false 时采取适当的行动(把字符串 $assertion 作为PHP代码执行)

preg_replace — 执行一个正则表达式的搜索和替换

语法

preg_replace( mixed $pattern , mixed $replacement , mixed $subject , int KaTeX parse error: Expected 'EOF', got '&' at position 18: …mit = -1 , int &̲count = ? ) : mixed

搜索 subject 中匹配 pattern 的部分,以 replacement 进行替换。

/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码

preg_replace("/test/e",$_GET["h"],"jutst test");

如果我们提交 ?h=phpinfo(),/e就会将h参数当做PHP代码,phpinfo()将会被执行。

引发命令执行的危险函数

system — 执行外部程序,并且显示输出

说明

system( string $command , int &$return_var = ? ) : string

同 C 版本的 system()函数一样, 本函数执行 command 参数所指定的命令, 并且输出执行结果。

如果 PHP 运行在服务器模块中, system()函数还会尝试在每行输出完毕之后, 自动刷新 web服务器的输出缓存。

如果要获取一个命令未经任何处理的 原始输出,请使用 passthru()函数。

举个例子

<?php system("whoami");?>

image-20240627111507963

exec — 执行一个外部程序

exec()执行 command 参数所指定的命令

举个例子

<?php echo exec("whoami");?>

image-20240627111548732

shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字 符串的方式返回。

<?php echo shell_exec("whoami");?>

passthru — 执行外部程序并且显示原始输出

<?php passthru("whoami");?>
引发文件包含的危险函数

主要作用为包含并运行指定文件。

  1. include():代码执行到此函数时才将文件包含进来,发⽣错误时只警告并继续执行
  2. include_once():功能和前者一样,区别在于调用同一文件时,程序只调用一次
  3. require():立即调用此函数包含文件,发⽣错误时,会输出错误信息 并⽴即终⽌程序
  4. require_once():功能和前者一样,区别在于调用同一文件时,程序只调用一次

include $file;

在变量 $file 可控的情况下,我们就可以包含任意文件,从而达到 getshell 的目的。

另外,在不同的配置环境下,可以包含不同的文件。

因此又分为远程文件包含和本地文件包含。

包含函数也能够读取任意文件内容,这就需要用到【支持的协议和封装协议】和【过滤器】。

例如,利用php流filter读取任意文件

include($_GET[‘file’]);

?file=php://filter/convert.base64-encode/resource=index.php

解释:?file=php:// 协议 / 过滤器 / 文件

引发文件操作的危险函数

copy

file_get_contents()

highlight_file()

fopen()

read file()

fread()

fgetss()

fgets()

parse_ini_file()

show_source()

file()

任意文件读取、写入、删除往往是上面几个函数受到了控制(当然还有其他的函数)。 不同的函数在不同的场景有不同的作用和不同的利用手法。

读取:可以读取配置等文件,拿到key

写入:可以写入shell代码相关的内容

删除:可以删除.lock文件而可以重新安装覆盖

更多思路请自行挖掘测试!!

引发信息泄露的危险函数

phpinfo — 输出关于 PHP 配置的信息

getenv — 获取一个环境变量的值

get_current_user — 获取当前 PHP 脚本所有者名称

getlastmod — 获取页面最后修改的时间

ini_get — 获取一个配置选项的值

glob — 寻找与模式匹配的文件路径

引发XEE的危险函数

__construct()

addAttribute()

addChild()

asXML()

attributes()

children()

getDocNamespaces()

getName()

getNamespaces()

registerXPathNamespace()

simplexml_import_dom()

simplexml_load_file()

simplexml_load_string()

xpath()

引发反序列化的危险函数

序列化函数:serialize()

反序列化函数:unserialize()

魔术函数:

__construc()

__destruct()

__call()

__callStatic()

__get()

__set()

__isset()

__unset()

__sleep()

__wakeup()

__toString()

__invoke()

__set_state()

__clone()

__debuginfo()

二十一、Java危险函数

Java命令执行的函数

Runtime类

Runtime类是私有的, 类的对象无法通过这种方式注册: Runtime r = new Runtime() ;

只能通过静态方法(getRuntime)获取: Runtime r = Runtime.getRuntime();

ProcessBuilder类

这种复现本质意义不大,重点是记一下敏感函数,

rce2Servlet.java

ProcessImpl类ProcessImpl类通常是为ProcessBuilder.start()创建新进 程服务的,不能直接去调用。

看到ProcessImpl类构造器私有,所以不能直接对其进行实例化,为了演示可以用反射进行调 用。

在获取到一个静态方法后,必须用setAccessible修改它的作用域,否则不能调用。

二十二、如何快速判定xss类型

存储型xss:

发送⼀次带XSS代码的请求,以后这个⻚⾯的返回包⾥都会有XSS代码

反射型xss:

发送⼀次带XSS代码的请求,只能在当前返回的数据包中发现XSS代码

dom型xss:

发送⼀次带XSS代码的请求,在返回包⾥压根⼉就找不到XSS代码的影⼦

二十三、csrf、ssrf和重放攻击有什么区别

CSRF是跨站请求伪造攻击,由客户端发起

SSRF是服务器端请求伪造,由服务器发起

重放攻击是将截获的数据包进⾏重放,达到身份认证等⽬的

常见对应端口及服务

image-20240610192109884

设备

安全设备
奇安信天眼
设备类型:全流量
大致使用方法
天眼首页截图:

左边监测控制台,打开,有告警信息:

分析时觉得IP有问题可以在攻击IP中搜索

打开告警列表(奇安信网神?):

点击详情,显示如下内容:

微步tdp/tip
TDP的
主页面:

主要点击外部攻击的外部攻击项

告警主机项,上面可以查询IP:

内网渗透分析,被攻陷后可以看网络拓扑:

优势项:自动识别一些恶意IP,即答:tdp威胁情报发现有利于溯源分析


青藤云HIDS
设备类型:全流量
大致使用方法
主页面,主机资产,安全台账功能,将可疑IP放到里面点击主机详情,看是不是内部IP:

点击入侵事件,查看告警,点击告警的漏洞名称,可以跳到类似于天眼的详情信息页面

可以查日志,筛选IP/域名/进程进行查询

优势项:可以直接发现暴力破解,不需要人工添加规则

明御安全网关
总结优势
HIDS:对全网信息捕捉

微步:

攻击发现,会显示攻击者画像 方便溯源分析
威胁情报发现,发现恶意IP
亚信:ei拦截的恶意文件会自动在an中运行检测生成报告

ddei邮件网关,过滤垃圾邮件,对恶意文件隔离
ddan沙箱(=微步云沙箱):检测恶意文件,分析恶意样本,收集攻击信息,生成行为报告

相关文章:

护网蓝队面试

一、sql注入分类 **原理&#xff1a;**没有对用户输入项进行验证和处理直接拼接到查询语句中 查询语句中插⼊恶意SQL代码传递后台sql服务器分析执行 **从注入参数类型分&#xff1a;**数字型注入、字符型注入 **从注入效果分&#xff1a;**报错注入、布尔注入、延时注入、联…...

【高考志愿】金融学

目录 一、金融学类专业概述 二、主要课程 三、就业前景与方向 四、适合人群 五、金融学学科排名 六、总结 高考志愿选择金融学&#xff0c;无疑是一个既充满挑战又极具前景的决策。金融学&#xff0c;作为经济学门类下的重要分支&#xff0c;不仅涵盖了广泛的金融领域知识…...

返利App的用户行为分析与数据驱动决策

返利App的用户行为分析与数据驱动决策 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨返利App中的用户行为分析与数据驱动决策的技术细节和实…...

python基础:高级数据类型:集合

1、集合的定义 集合是一个无序且无重复元素的列表。其定义与数学定义一致。其无序和不重复和字典特征类似&#xff0c;但是无“值”。 2、集合的创建 集合一般由列表创建&#xff0c;在初始化列表时保证其元素唯一性&#xff0c;即为集合。 创建方法&#xff1a;x set(list…...

idk17配置

只需要把zip包解压&#xff0c;然后配置环境变量&#xff1a; bin目录路径粘到path里面就好了 然后打开cmd窗口分别输入 java javac java -version 验证...

Java实现日志全链路追踪.精确到一次请求的全部流程

广大程序员在排除线上问题时,会经常遇见各种BUG.处理这些BUG的时候日志就格外的重要.只有完善的日志才能快速有效的定位问题.为了提高BUG处理效率.我决定在日志上面优化.实现每次请求有统一的id.通过id能获取当前接口的全链路流程走向. 实现效果如下: 一次查询即可找到所有关…...

你敢相信吗,AI绘画正在逐渐取代你的工作!

前言 在当今信息技术高速发展的时代&#xff0c;AI绘画技术的崛起已引起了广泛关注和讨论。许多人开始担心AI技术是否会逐渐取代传统绘画师的工作。人类无疑是感性的动物&#xff0c;创作出来的艺术作品常常带有浓郁的个人风格和情感。但AI绘画在某些方面的突破&#xff0c;使…...

博途PLC轴工艺对象随动误差监视功能

S7-1200PLC和V90总线伺服通过工艺对象实现定位控制时在组态工艺对象里有这样的随动误差监视功能介绍,关于这个功能,今天我们解读下,工艺对象组态编程可以参考下面文章链接: S7-1200PLC和V90总线伺服通过工艺对象实现定位控制(标准报文3应用)_v90工艺对象3号报文-CSDN博客文…...

《昇思25天学习打卡营第24天 | 昇思MindSporeResNet50图像分类》

24天 本节学习了使用ResNet50网络对CIFAR-10数据集进行分类。 步骤&#xff1a; 1.数据集准备与加载 2.构建网络 残差网络结构(Residual Network)是ResNet网络的主要亮点&#xff0c;ResNet使用残差网络结构后可有效地减轻退化问题&#xff0c;实现更深的网络结构设计&#x…...

糟糕的管理者都有这几个特征

在我们的职业生涯中&#xff0c;我们都期望能遇到一位英明睿智、引领团队走向辉煌的管理者。然而&#xff0c;现实往往并非总是如此美好&#xff0c;总会有一些管理能力差的人混迹其中&#xff0c;给团队带来诸多困扰。今天&#xff0c;我们就来看看糟糕的管理者身上都有哪些特…...

Python (Ansbile)脚本高效批量管理服务器和安全

1、简介 在现代 IT 基础设施中&#xff0c;管理大量服务器是一项复杂而繁琐的任务。特别是在检查服务器的存活状态以及 SSH 登录等任务上&#xff0c;手动操作非常耗时且容易出错。本文将介绍如何使用 Python 脚本实现对多台服务器的批量检查和管理&#xff0c;包括检查服务器…...

《数字图像处理与机器视觉》案例三 (基于数字图像处理的物料堆积角快速测量)

一、前言 物料堆积角是反映物料特性的重要参数&#xff0c;传统的测量方法将物料自然堆积&#xff0c;测量物料形成的圆锥表面与水平面的夹角即可&#xff0c;该方法检测效率低。随着数字成像设备的推广和应用&#xff0c;应用数字图像处理可以更准确更迅速地进行堆积角测量。 …...

Postman接口测试工具的原理及应用详解(四)

本系列文章简介&#xff1a; 在当今软件开发的世界中&#xff0c;接口测试作为保证软件质量的重要一环&#xff0c;其重要性不言而喻。随着前后端分离开发模式的普及&#xff0c;接口测试已成为连接前后端开发的桥梁&#xff0c;确保前后端之间的数据交互准确无误。在这样的背景…...

扛鼎中国AI搜索,天工凭什么?

人类的创作不会没有瓶颈&#xff0c;但AI的热度可不会消停。 大模型之战依旧精彩&#xff0c;OpenAI选择在Google前一天举行发布会&#xff0c;两家AI企业之间的拉扯赚足了热度。 反观国内&#xff0c;百模大战激发了大家对于科技变革的热切期盼&#xff0c;而如今行业已逐渐…...

【Ant Design Vue的更新日志】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

Elasticsearch环境搭建|ES单机|ES单节点模式启动|ES集群搭建|ES集群环境搭建

文章目录 版本选择单机ES安装与配置创建非root用户导入安装包安装包解压配置JDK环境变量配置single-node配置JVM参数后台启动|启动日志查看启动成功&#xff0c;访问终端访问浏览器访问 Kibana安装修改配置后台启动|启动日志查看浏览器访问 ES三节点集群搭建停止es服务域名配置…...

System.currentTimeMillis() JAVA 转C#

JAVA中的System.currentTimeMillis() &#xff0c;指获取当前时间与1970年1月1日00:00:00 GMT之间所差的毫秒数的方法。 这个方法返回的是一个long类型的值&#xff0c;表示从某个固定时间点&#xff08;通常是UNIX纪元&#xff0c;即1970年1月1日00:00:00 GMT&#xff09;到…...

人机交互新维度|硕博电子发布双编码器操作面板、无线操作面板等新品

6月15日&#xff0c;硕博电子召开了一场新品发布会&#xff0c;向业界展示了多项前沿技术成果&#xff0c;其中备受瞩目的当属SPM-KEYP-D08双编码器操作面板、SPM-KEYP-D16W无线操作面板、SPR-HT-XK12A无线手持发射端以及SPQ-WT-B01洒水车专用控制面板。这些创新产品的亮相&…...

简单shell

目录 预备知识 fork 进程等待 wait waitpid 环境变量 概念 分类 常见的环境变量及其用途 环境变量的查看与设置 exec系列 函数解释 命名理解 简单shell 预备知识 fork fork 是 Linux 和许多其他类 Unix 系统中的一个重要系统调用&#xff0c;它用于创建一个新的…...

Spring Boot + FreeMarker 实现动态Word文档导出

Spring Boot FreeMarker 实现动态Word文档导出 在现代企业应用中&#xff0c;文档自动化生成是一项提升工作效率的重要功能。Spring Boot与FreeMarker的组合&#xff0c;为开发者提供了一个强大的平台&#xff0c;可以轻松实现动态Word文档的导出。本文将指导你如何使用Sprin…...

3D生物打印的未来:多材料技术的突破

多材料生物打印技术是近年来发展迅速的一项技术&#xff0c;为组织工程和再生医学带来了新的机遇&#xff0c;可以帮助我们更好地理解人体组织的结构和功能&#xff0c;并开发新的治疗方法。 1. 组织构建 复杂性模拟&#xff1a;多材料生物打印技术能够构建具有层次结构和异质…...

充电宝口碑哪个好?好用充电宝品牌有哪些?好用充电宝推荐

充电宝作为我们日常生活和出行的重要伙伴&#xff0c;其品质和性能直接影响着我们的使用体验。今天&#xff0c;就来和大家探讨一下充电宝口碑哪个好&#xff0c;为大家盘点那些备受赞誉的好用充电宝品牌&#xff0c;并向您推荐几款值得入手的充电宝&#xff0c;外出时不再担心…...

Pytorch-----(6)

一 、问题 如何计算基于不同变量的操作如矩阵乘法。 二、具体实现 0.4版本以前&#xff0c;张量是包裹在变量之中的&#xff0c;后者有三个属性grad、volatile和 requires_grad属性。&#xff08;grad 就是梯度属性&#xff0c;requires_grad属性就是 是否需要存储梯度&#x…...

leetcode hot100 第三题:最长连续序列(Java)

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4 解…...

利用Jaspar进行转录因子结合位点预测

前期我们介绍了如何进行ChIP-qPCR验证&#xff0c;里面提到了一个比较重要的因素——扩增范围的选择及引物的设计。相比双荧光素酶、酵母单杂-点对点验证等允许完整启动子验证的实验&#xff0c;ChIP-qPCR要求单次验证的范围尽量控制在150-200bp内。但一个基因的启动子一般有2-…...

Ubuntu添加系统字体

&#xff08;2024.6.30&#xff09; 系统字体保存路径在/usr/share/fonts下&#xff0c;如果此目录下缺少字体&#xff0c;则使用其他可视化api&#xff08;如Python的pygame库&#xff09;的默认配置时可能会出现乱码问题。 往Ubuntu中添加字体的方法 方法一&#xff1a;手…...

深度学习相关概念及术语总结2

目录 76.AUC77.DBSCAN聚类78.贝叶斯个性化排序79.BPRBandit算法 76.AUC AUC&#xff08;Area Under the Curve&#xff09;是一种常用的评价指标&#xff0c;用于衡量分类模型的性能。AUC值代表了模型在不同阈值下的真阳性率&#xff08;True Positive Rate&#xff09;和假阳…...

基于改进滑模、经典滑模、最优滑模控制的永磁同步电机调速系统MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 针对永磁同步电机调速系统的响应性能和抗干扰能力问题&#xff0c;本文做了四个仿真&#xff0c;分别为&#xff1a;永磁同步电机的PID控制调速系统、基于传统滑模控制的永磁同步电机的调速系统、最…...

windows环境下创建python虚拟环境

windows环境下创建python虚拟环境 使用virtualenv库创建虚拟环境&#xff0c;可使不同的项目处于不同的环境中 安装方法&#xff1a; pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple pip install virtualenvwrapper-win -i https://pypi.tuna.tsinghua…...

Fragment切换没变化?解决办法在这里

大家好&#xff0c;今天跟大家分享下如何避免fragment切换失败。方法其实很简单&#xff0c;只要在onCreate方法中初始化一个默认的fragment即可。 //开始事务FragmentTransaction transaction getActivity().getSupportFragmentManager().beginTransaction();transaction.rep…...

Linux系统防火墙iptables(下)

备份与还原iptables规则设置 1、yum -y install iptables iptables-services 安装iptables软件包 2、systemctl start iptables.service 开启服务 3、systemctl enable iptables.service 开机自启 我们对iptables命令行中的设置&#xff0c;都是临时设置&#xff0c;只要遇到服…...

你需要精益管理咨询公司的N+1个理由

近年来&#xff0c;精益管理作为一种被全球众多知名企业验证过的成功管理模式&#xff0c;越来越受到企业的青睐。但是&#xff0c;为何在实施精益管理的过程中&#xff0c;众多企业纷纷选择请咨询公司来协助呢&#xff1f;今天&#xff0c;我们就来一起揭秘这背后的原因。 1. …...

[机器学习]-3 万字话清从传统神经网络到深度学习

神经网络&#xff08;Neural Networks, NNs&#xff09;是机器学习的一种重要方法&#xff0c;灵感来源于生物神经系统&#xff0c;由大量互联的节点&#xff08;称为神经元或单元&#xff09;组成&#xff0c;通过调整这些节点间的连接权重来学习和表示复杂的非线性关系。传统…...

网络安全等级保护2.0(等保2.0)全面解析

一、等保2.0的定义和背景 网络安全等级保护2.0&#xff08;简称“等保2.0”&#xff09;是我国网络安全领域的基本制度、基本策略、基本方法。它是在《中华人民共和国网络安全法》指导下&#xff0c;对我国网络安全等级保护制度进行的重大升级。等保2.0的发布与实施&#xff0c…...

用Lobe Chat部署本地化, 搭建AI聊天机器人

Lobe Chat可以关联多个模型&#xff0c;可以调用外部OpenAI, gemini,通义千问等, 也可以关联内部本地大模型Ollama, 可以当作聊天对话框消息框来集成使用 安装方法参考&#xff1a; https://github.com/lobehub/lobe-chat https://lobehub.com/zh/docs/self-hosting/platform/…...

基于ARM的通用的Qt移植思路

文章目录 实验环境介绍一、确认Qt版本二、确认交叉编译工具链三、配置Qt3.1、修改qmake.conf3.2、创建autoConfig.sh配置文件 四、编译安装Qt五、移植Qt安装目录六、配置Qt creator6.1、配置qmake6.2、配置GCC编译器6.3、配置G编译器6.4、配置编译器套件6.5、创建应用 七、总结…...

IT专业入门,高考假期预习指南

七月来临&#xff0c;各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束&#xff0c;而是新旅程的开始。对于有志于踏入IT领域的高考少年们&#xff0c;这个假期是开启探索IT世界的绝佳时机。 一、基础课程预习指南 IT专业是一个广泛的领域&#xff0c;涵盖了从软件开…...

芯片详解——AD7606C

芯片详解——AD7606C AD7607C 是一款由 Analog Devices(模拟器件公司)生产的 6 通道同步采样模数转换器(ADC),适用于高速数据采集系统。 工作原理 AD7607C 的工作原理主要包括以下几个步骤: 模拟信号输入:AD7607C 有六个模拟输入通道,可以同时进行采样。这些模拟信号…...

IDEA 编译单个Java文件

文章目录 一、class文件的生成位置二、编译单个文件编译项目报错Error:java: 无效的源发行版: 8 一、class文件的生成位置 file->project structure->Modules 二、编译单个文件 选中文件&#xff0c;点击recompile 编译项目报错 Error:java: 无效的源发行版: 8 Fi…...

人工智能业务分析

人工智能业务分析的组成图 #mermaid-svg-SKV0WrbMSANzQz4U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SKV0WrbMSANzQz4U .error-icon{fill:#552222;}#mermaid-svg-SKV0WrbMSANzQz4U .error-text{fill:#552222;s…...

随机文本生成器

目录 开头程序程序的流程图程序打印的效果(不必细看&#xff0c;因为字符太多)例1例2例3 结尾 开头 大家好&#xff0c;我叫这是我58。看&#xff01;这下面有一个程序。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <random> #includ…...

java中输入输出流的继承关系

在 Java 中,输入输出流的继承关系主要围绕两个抽象基类展开:字节流基类 InputStream 和 OutputStream,以及字符流基类 Reader 和 Writer。这些类形成了 Java I/O 系统的基础,提供了丰富的子类以适应不同的输入输出需求。 字节流 字节流用于处理原始的二进制数据。 Input…...

c++应用网络编程之一基本介绍

一、网络编程介绍 c编程的应用场景在前面分析过&#xff0c;一个重要的方向就是网络编程。一般来说&#xff0c;开发者说的服务端编程在c方向上简单的可以认为是网络编程。首先需要说明的&#xff0c;本系列不对网络编程的相关基础知识展开详细的说明&#xff0c;因为这种知识…...

Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述 web开发指的就是网页向后再让发送请求,与后端程序进行交互 web后端(javaEE)程序需要运行在服务器中 这样前端才可以对其进行进行访问 什么是服务器? 解释1: 服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件&#xff0c;让…...

Java 位运算详解

位运算是一种直接在二进制位上进行操作的方式。位运算符包括按位与 (&)、按位或 (|)、按位异或 (^)、按位非 (~)、左移 (<<)、右移 (>>) 和无符号右移 (>>>)。这些操作符用于操作整型数据类型&#xff0c;如 int 和 long。 一、按位与 (&) 按位…...

智能体实战:开发一个集成国内AI平台的GPTs,自媒体高效智能助手

文章目录 一&#xff0c;什么是GPTs二&#xff0c;开发GPTs1&#xff0c;目标2&#xff0c;开发2.1 打开 GPTS&#xff1a;https://chat.openai.com/gpts2.2 点击 Create 创建一个自己的智能体 2.3 配置GPTs2.4 配置外挂工具2.4.1 配置Authentication-授权2.4.1.1 生成语聚AI的…...

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗&#xff0c;今天给大家带来的是完美世界的单机版合集&#xff0c;一共22个版本。本人亲自测试了一个版本&#xff0c;运行视频如下&#xff1a; 完美世界|单机版合集 先看所有的版本的文件&#xff0c;文件比较大&#xff0c;准备好空间&#xff0c;差…...

Jenkins的一些记录

设置环境变量 在 Jenkins 流水线中&#xff0c;取决于使用的是声明式还是脚本式流水线&#xff0c;设置环境变量的方法不同。 声明式流水线支持 environment 指令&#xff0c;而脚本式流水线的使用者必须使用 withEnv 步骤。 pipeline {agent anyenvironment { CC clang}stag…...

讲讲js中的prototype和__proto__

在Javascript中&#xff0c;prototype和__proto__是两个重要的概念&#xff0c;在对象的原型链中扮演重要的角色。 prototype prototype是js函数的内置属性&#xff0c;每个函数都有一个prototype属性&#xff0c;它是一个指针&#xff0c;指向一个对象&#xff08;原型对象&a…...

JavaScript的学习之DOM的查询(一)

一、获得元素 通过document对象调用&#xff1a; getElementById()&#xff1a;通过id属性获取一个元素节点对象getElementsByTagName()&#xff1a;通过标签名获取一组元素节点对象getElementsByName()&#xff1a;通过name属性来获取一组元素节点对象 核心学习代码 <scrip…...

mybatisplus多条件对象xml分页查询

不要用它自带的 selectPage方法&#xff0c;会有传参问题 controller import java.util.Set;RestController RequiredArgsConstructor RequestMapping("/deviceInfo" ) public class DeviceInfoController {private final DeviceInfoService deviceInfoService;/**…...

windows 本地ES 7.11.0 版本集群搭建

1.先下载JDK &#xff0c;建议下载JDK11. 2.下载ES Windows安装包 7.11.0下载 3.下载完成后&#xff0c;在本地解压三份&#xff0c;分别取名 node1,node2,node3 4.若启动一直报端口占用&#xff0c;这修改 每个文件夹下bin/elasticsearch.bat文件&#xff0c;没有则跳过 在…...

This content is blocked. Contact the site owner to fix the issue.

chrome浏览器在网页邮箱预览PDF附件&#xff0c;报如下错误&#xff1a; This content is blocked. Contact the site owner to fix the issue. 无法预览。 原因&#xff1a; chrome设置了PDF默认下载。更改为在chrome中打开PDF即可。 chrome://settings/content/pdfDocuments…...

[深度学习]循环神经网络RNN

RNN&#xff08;Recurrent Neural Network&#xff0c;即循环神经网络&#xff09;是一类用于处理序列数据的神经网络&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;、时间序列预测、语音识别等领域。与传统的前馈神经网络不同&#xff0c;RNN具有循环结构&am…...

ORACLE同步数据(dblink+物化视图)

1.创建dblink create public database link xirEvalDBlink connect to "XIR_TRD" identified by "xpar" USING (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 191.168.0.11)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) )…...

【前端】面试八股文——输入URL到页面展示的过程

【前端】面试八股文——输入URL到页面展示的过程 1. DNS解析 当用户在浏览器中输入URL并按下回车时&#xff0c;首先需要将域名转换为IP地址&#xff0c;这个过程称为DNS&#xff08;域名系统&#xff09;解析。具体步骤如下&#xff1a; 浏览器缓存&#xff1a;浏览器首先检…...

那么大的一个车卖24.9万?一起来看24款大众途昂

记得大众途昂刚上市的时候,所有看到这台车的人都会由衷感叹——“这车可真大”,那时的途昂还算是大众旗下偏高端的SUV,售价还要30多万起步。而如今,途昂还是那么大,但地位已不比当年,而且起售价格已经来到了24.9万。随着近年来汽车价格战的愈演愈烈,相比前几年,我们手持…...

固态电池量产加速,我们离电动车新时代还有多远?

随着一则确定性很强的不确定性消息不胫而走,固态电池又一次成为目光焦点!5月29日,《中国日报》报道称,中国或投入约60亿元,鼓励有条件的企业对全固态电池相关技术开展研发,宁德时代、比亚迪、一汽、上汽、卫蓝新能源和吉利共六家企业或获得政府基础研发支持。多位知情人士…...

2种动力配置,标配48英寸大屏,全新雷克萨斯LM马来西亚上市

近日,从海外媒体报道获悉,雷克萨斯正式宣布在马来西亚市场上市全新雷克萨斯LM。据悉,新车推出LM350h 和LM500h两款车型,售价分别为1,228,000 马来西亚林吉特 与1,468,000 马来西亚林吉特 (折合人民币约226.80万元)。外观上,全新雷克萨斯LM依旧承袭雷克萨斯最新一代家族设计…...

【CSharp】判断目录以及文件是否存在

【CSharp】判断目录以及文件是否存在 1.背景2.判断目录3.判断文件1.背景 我们在进行磁盘IO的时候进行需要判断目录、文件是否存在,根据判断结果再做进一步的操作。 其中判断目录是否存在,涉及Directory.Exists(String) 方法; 命名空间:System.IO 方法功能:确定给定路径是…...

【SPSS】基于因子分析法对水果茶调查问卷进行分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

Python--List列表

list列表⭐⭐ 1高级数据类型 Python中的数据类型可以分为&#xff1a;数字型&#xff08;基本数据类型&#xff09;和非数字型&#xff08;高级数据类型&#xff09; ●数字型包含&#xff1a;整型int、浮点型float、布尔型bool、复数型complex ●非数字型包含&#xff1a;字符…...