2024年护网行动全国各地面试题汇总(3)作者:————LJS

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 2024年护网行动全国各地面试题汇总(3)作者:————LJS

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

专栏跑道一

➡️网络空间安全——全栈前沿技术持续深入学习

image.gif

专栏跑道二

➡️ 24 Network Security -LJS

image.gif

image.gif

image.gif

专栏跑道三


➡️ MYSQL REDIS Advance operation

image.gif

专栏跑道四

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

image.gif

专栏跑道五

➡️RHCE-LJS[Linux高端骚操作实战篇]

image.png

专栏跑道六

➡️数据结构与算法[考研+实际工作应用+C程序设计]

image.gif

专栏跑道七

➡️RHCSA-LJS[Linux初级及进阶骚技能]

image.gif

image.gif

上节回顾




 应急响应基本思路和流程

  • 收集信息:收集客户信息和中毒主机信息,包括样本
  • 判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等
  • 抑制范围:隔离使受害⾯不继续扩⼤
  • 深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
  • 清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
  • 产出报告:整理并输出完整的安全事件报告


Windows入侵排查思路

  • 检查系统账号安全
  • 查看服务器是否有弱口令,远程管理端口是否对公网开放(使用netstat -ano命令、或者问服务器管理员)
  • lusrmgr.msc命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉
  • 用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号
  • 结合日志,查看管理员登录时间、用户名是否存在异常
  • 检查方法:Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”,导出 Windows 日志--安全,利用 Log Parser 进行分析
  • 检查异常端口、进程
  • netstat -ano检查端口连接情况,是否有远程连接、可疑连接
  • 任务管理器-进程
  • 检查启动项、计划任务、服务
  • 检查系统相关信息
  • 查看系统版本以及补丁信息
  • 查找可疑目录及文件
  • 日志分析


安全设备

  • 1.你对市面上安全设备了解多少,具体是哪几种类型?
  • 奇安信:椒图,鹰图
    1. 椒图(Jiaotu):椒图是奇安信的一款高级威胁防御设备,主要用于网络入侵检测与防御(Intrusion Detection and Prevention,简称IDP)。它能够通过实时监测和分析网络流量,识别和阻止恶意攻击、漏洞利用和其他网络威胁。椒图采用多种技术手段,包括基于规则的检测、行为分析、异常检测等,以提供全面的网络安全防护。
    ·
    2. 鹰图(Yingtu):鹰图是奇安信的一款高级威胁防御平台,主要用于网络安全事件响应和威胁情报分析。它提供了全面的网络安全监控和分析功能,能够实时监测和检测网络中的异常活动,并提供详细的安全事件报告和威胁情报分析。鹰图还支持与其他安全设备和系统的集成,以提供更强大的网络安全防护能力。

  • IPS,IDS,WAF,APT检测,态势感知,蜜罐,防篡改等等具体情况根据面试而定
    IPS使用多种技术来检测和防御入侵。其中一种常见的方法是使用规则集,也称为签名。规则集是预定义的模式或特征,用于识别已知的攻击和漏洞利用。当IPS检测到与规则集中的模式匹配的网络流量时,它会触发警报或阻止流量。另一种方法是使用行为分析。行为分析是基于对正常网络活动的学习和建模,来检测异常行为。IPS会分析网络流量的模式、流量量、协议等特征,并与已知的正常行为进行比较。如果检测到与已知模式不符的行为,IPS会触发警报或阻止流量。

    NIDS通常使用被动监听的方式,监测经过它的网络流量,并分析流量中的数据包,以识别恶意活动。NIDS可以通过规则集(也称为签名)来检测已知的攻击和漏洞利用。当NIDS检测到与规则集中的模式匹配的网络流量时,它会生成警报或报告给管理员。主机IDS(HIDS)监测单个主机的活动,它位于主机上,通过监测主机的日志、事件和系统调用等来识别潜在的入侵行为。HIDS可以检测到主机上的异常行为,如未经授权的文件访问、异常进程行为等。HIDS通常使用基于行为分析的方法来检测入侵行为,它会学习和建模主机的正常行为,并与实际行为进行比较,以检测异常行为。

    基于网络的WAF位于网络边界或Web应用程序前端,它监测进入Web应用程序的流量,并根据预定义的规则集来检测和阻止恶意活动。这些规则集可以包含常见的Web攻击模式,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。当WAF检测到与规则集中的模式匹配的流量时,它可以阻止请求或触发警报。
    基于主机的WAF位于Web服务器或应用程序服务器上,它通过监测服务器上的网络流量、日志和应用程序行为来检测和阻止恶意活动。基于主机的WAF可以更深入地检测和保护Web应用程序,因为它可以访问应用程序的内部数据和行为。


Sql注入

  • 1、sql注入漏洞原理
  • 开发者没有在网页传参点做好过滤,导致恶意 sql 语句拼接到数据库进行执行
  • 2、sql注入分类
  • 联合注入 、布尔盲注 、时间盲注 、堆叠注入 、宽字节注入 、报错注入
  • 3、堆叠注入原理
  • 在 mysql 中,分号 代表一个查询语句的结束,所以我们可以用分号在一行里拼接多个查询语句
  • 4、宽字节注入原理
  • a 数据库使用 gbk 编码
  • b 使用反斜杠进行转义
  • 5、报错注入原理:
  • a 报错注入函数,例如:floor() 、group by 、exp() 、updatexml() 、extractvalue()
  • 6、Dnslog注入原理
  • a 利用 load_file() 函数读取共享文件
  • b共享文件形式:\hex(user()).dnslog.cn/ 或者 \host\
  • c 利用 mysql 的 load_file() 函数解析拼接过的 dnslog 域名,进而带出数据
  • 7、联合注入的步骤
  • a 找传参点
  • b 判断闭合符
  • c 判断列数
  • d 判断显示位
  • e 查询database()
  • f 查表
  • g 数据
  • 8、盲注分类
  • a 布尔盲注(页面回显 长度 :burp 里的 Content-Length )
  • b 时间盲注(页面回显 时间 :burp 包的 右下角 )、Dnslog
  • 9、盲注函数
  • if() 、sleep() 、substr() 、left() 、limit 、ascii() 、length()
  • 10、判断闭合符方式:
  • 构造真和假:id=1 and 1=1 、id=1' and 1=2 、=1" or 1=1 、') or 1=2 、and 234=234 、and 1 、or 1 、and 1^1 、&&1 、||0


11、sql注入绕waf

  • a 代替空格:/**/ 、/!/ 、+ 、%09 、%0a 、%00 、括号
  • b 关键字:16进制 、char() 、字符串拼接
  • c 等价函数替换:sleep()==benchmark() 、if()==case when then else end 、ascii()==ord() 、substr()==substring()
  • d 内联注释:/*! */


12、sqlmap常用参数

  • a -r :用于post型注入,指定 txt 文件的 post 数据包
  • b -u :指定url,通常用于 get 型注入
  • c -p:指定注入点,例如: python sqlmap.py-u http://127.0.0.1/index.php?id=1&mid=2&page=3 -p "page"
  • d * :指定注入点,例如:python sqlmap.py-u http://127.0.0.1/index.php?id=1*&mid=2&page=3* 注意:* 号也可以用于伪静态的注入,用法同前面一样,直接在注入点后面加 *
  • e -m :用于sqlmap批量跑注入,指定一个含有多个 url 的 txt 文件D
  • f --os-shell :用户获取 shell
  • g --os-cmd :执行系统命令
  • h --tamper :指定绕过用的脚本文件
  • i --level 3 :指定测试等级,等级越高,检查项越多,共 1-5 个等级
  • j --risk 3 :指定风险等级,等级越告,payload 越复杂,共 1-3 个等级
  • k --random-agent :指定随机 agent 头
  • l --batch :默认选项
  • m --dbms :指定数据库类型


13、sql注入获取 webshell 的方式

  • a 写文件(需要写权限)
  • b 写日志文件(不要学权限,但是需要通过命令开启日志记录功能,而且还需要把日志文件的路径指定到网站根路径下面)


14、sql注入防御

  • a 过滤敏感字符,例如:information_schema 、into out_file 、into dump_file 、' 、" 、()
  • b 预编译
  • c 站库分离:增加攻击者的时间成本、防止通过数据库拿到webshell


15、mysql提权方式

  • a mof提权
  • b udf提权
    a) MOF提权:MOF(Management Object Format)提权是一种通过修改Windows管理对象文件来获取系统管理员权限的方法。在MySQL中,可以使用MOF提权来获取系统级别的权限,从而绕过MySQL的权限限制。
    MOF提权的步骤如下:1. 修改MySQL的配置文件my.ini,将MySQL服务以SYSTEM权限运行。2. 创建一个恶意的MOF文件,其中包含执行提权操作的命令。3. 使用mofcomp命令将恶意的MOF文件编译成WMI(Windows Management Instrumentation)对象。4. 通过WMI执行编译后的MOF文件,从而触发提权操作。通过MOF提权,攻击者可以获取系统管理员权限,并绕过MySQL的权限限制,执行更高级别的操作。

    b) UDF提权:UDF(User-Defined Functions)提权是一种通过创建和加载自定义函数来获取系统管理员权限的方法。在MySQL中,UDF提权可以通过创建恶意的自定义函数并将其加载到MySQL服务器中来实现。
    UDF提权的步骤如下:1. 创建一个恶意的C/C++函数,其中包含执行提权操作的代码。2. 编译恶意函数为动态链接库(DLL)文件。3. 在MySQL服务器上启用UDF功能,并将恶意的DLL文件加载为自定义函数。4. 执行恶意的自定义函数,从而触发提权操作。通过UDF提权,攻击者可以执行系统级别的操作,如创建新的管理员用户、修改系统配置等。这种提权方式利用了MySQL的UDF功能,绕过了MySQL的权限限制,获取更高的权限。


XSS:跨站脚本攻击

  • 1、XSS原理
  • 开发人员没有做好过滤,致我们可以闭合标签进而插入并执行恶意JS代码
  • 2、xss类型分类
  • a DOM型 :由 DOM 文档完成解析
  • b 反射型 :即插即用,没有存储在数据库里面
  • c 存储型 :被存储在数据库里面,造成持久型的攻击
  • 3、常用的JS函数
  • a document.cookie() :弹出当前网址的浏览器 cookie
  • b console.log('xss') :在控制台输出日志
  • 4、绕过方式
  • a 改变大小写:<script>
  • b 编码绕过( html 实体编码、 十进制十六进制八进制编码、 unicode 编码)、
  • c 关闭标签:利用大于号 > 关闭标签使得xss生效
  • d 双写饶过:<scr<script>ipt>
  • e 可以使用 空格 , 换行 ,tab 键或者 /**/ , /!a/,的形式绕过 关键词的检测
  • f 用/代替空格
  • g 用 反引号 代替 括号 、双引号
  • h 用 throw 代替括号
  • i 用 html 实体编码 : 代替 冒号
  • j 用 jsfuck 编码绕过大部分字符过滤
  • 5、扫描工具
  • xsstrick,AWVS,nmap
  • 6、XSS钓鱼平台
  • kali工具:BEEF
  • 7、xss防御
  • 过滤敏感字符
  • a 例如:aler() ,script ,onerror
  • b 增加 httponly :禁止前端执行JS代码i
  • 8、如何从根本防御XSS
  • 进行预编译


文件上传

  • 1、漏洞原理
  • 开发人员未在上传点对文件名和文件内容做严格的过滤
  • 2、如何绕过黑名单
  • 1 特殊后缀名绕过:php3-php5 、 phtml 、通过修改 httpd.conf 文件按可以实现解析任意后缀名
  • 2 通过上传 .htaccess 文件可以实现解析任意后缀名
  • 3 上传 .user.ini 文件,利用包含实现getshell
  • 4 空格绕过,利用的是 windows 和 linux 不允许文件名出现包括 空格 在内的特殊字符,例如上传:1.php[空格]
  • 5 点绕过,windows 不允许出现点结尾的文件名,会自动去掉文件名后面的点, linux 允许出现点结尾的文件
  • 6 流文件绕过,windows 中,::$DATA 符号后面的内容会被当成字节流数据,上传之后会自动去掉 ::$DATA 以及后面的内容
  • 7 双写后缀名,例如上传 1.pphphp ,只适用于将 php 替换为空的情况
  • 3、绕过白名单
  • 1 00 截断
  • 2 配合文件包含
  • 4、对文件内容进行绕过
  • 1 填充垃圾字符
  • 2 免杀
  • 5、绕过前端验证
  • 1 在浏览器关闭前端 JS 功能
  • 2 burp 抓包修改


文件包含

  • 1、文件包含函数
  • a include() 、 require 、 include_once() 、 require_once()
  • 2、文件包含支持的协议
  • a php 伪协议:fiter 、 input 、 data 、 zip 、phar
  • b file 协议
  • c http 和 https
  • 3、利用条件
  • a 本地文件包含不需要开启 allow_url_* 参数
  • b 部分伪协议需要开启一个或者两个 allow_url_* 参数
  • 4、防御
  • a 过滤关键字,例如:php:// 、 file:// 、 http://
  • b 关闭 allow_url_* 参数


命令执行

  • 1、拼接 & 、&& 、 | 、 ||
  • 2、原理:在操作系统中, & 、&& 、 | 、 || 都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令


CSRF:跨站请求伪造

  • 1、原理:
  • 在 cookie 有效期范围内,诱使受害者点击某个页面,进而执行非受害者本意的操作。
  • 2、防御
  • a 验证 referer字段
  • b 加 token 验证


SSRF:服务器请求伪造

  • 1、原理
  • 大都是由于服务端提供了从其他服务器获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
  • 2、支持的协议
  • a http://
  • b https://
  • c dict://
  • d ftp://
  • e file1
  • f php 伪协议
  • g gopher://
  • 3、危害
  • a 内外网的端口和服务扫描
  • b 主机本地敏感数据的读取
  • c 内外网主机应用程序漏洞的利用
  • d 内外网Web站点漏洞的利用
  • 4、防御
  • a 过滤 file:// 、 gocher:// 等,过滤 端口
  • b 把网站需要访问的内网资源路径写死,不从外部接收


信息泄露

  • 1、原理:
  • 信息泄露可能是不慎泄露给浏览该网站信息用户的,也有可能是攻击者通过恶意的交互从网站获得数据。例如.svn、.git、.ds_store
  • 2、利用手法:
  • a 通过 robots.txt 泄露网站隐藏目录/文件.或者站点结构
  • b 网站站点的 备份文件 未删除导致的泄露,可能会泄露网站源代码
  • c 没有正确处理网站的一些 错误消息 ,在错误消息中泄露数据库表,字段等
  • d 一些高度敏感的用户信息,银行账号等泄露
  • e 在源代码中泄露数据库 账号密码 ,等等(GitHub)
  • f 网站某些程序的细微差别提示是否存在某些资源,用户名


中间件漏洞

  • Apache
  • a 解析漏洞:多后缀名解析漏洞(从后往前解析,一直解析到可识别的后缀)、罕见
  • b 后缀名解析漏洞、.htaccess解析漏洞
  • 命令执行漏洞:CVE-2021-42013
    漏洞的原因是Apache HTTP Server在处理某些HTTP请求时,未正确过滤用户提供的输入,导致攻击者可以在请求中注入恶意的命令。攻击者可以通过在请求的查询字符串或请求头中插入特定的命令来利用该漏洞。

    当受影响的服务器收到恶意请求时,攻击者可以通过注入的命令执行任意操作,包括读取、修改或删除服务器上的文件,以及在服务器上执行任意的系统命令。这可能导致服务器的敏感信息泄露、服务中断或远程代码执行等安全问题。

    为了利用该漏洞,攻击者需要发送一个特制的HTTP请求,并在请求中注入恶意命令。攻击者可以通过修改请求的查询字符串或请求头来实现注入。例如,攻击者可以在查询字符串中添加类似于`|命令`或`&&命令`的注入语句,以执行任意的系统命令。


IIS

  • a 文件名解析漏洞,从前往后解析,遇到分号就截断,忽略分号后面的内容
  • 例如:1.asp;.jpg
  • b 罕见后缀名,例如:.asa、.cer、.cdx
  • c IIS 5.X/6.0的文件夹解析漏洞,例如:将文件夹以1.asp命名,该文件夹中的所有文件都会被当做asp文件执行:1.asp/1.jpg、1.asa/1.jpg、1.cer/1.jpg、1.cdx/1.jpg
  • d IIS 7.0/IIS 7.5的CGI解析漏洞,例如上传1.jpg然后访问
    当IIS服务器收到一个CGI请求时,它会尝试解析并执行CGI脚本。然而,由于缺乏适当的安全检查,攻击者可以通过在请求中包含恶意的CGI脚本来执行任意的代码。
    具体来说,攻击者可以通过上传一个看似是图片文件的CGI脚本(如1.jpg)并访问它来利用该漏洞。当服务器收到请求时,它会将1.jpg文件传递给CGI处理程序进行解析和执行。由于CGI处理程序没有正确验证文件类型,它会错误地将1.jpg文件当作CGI脚本来执行,从而导致攻击者的恶意代码被执行。

    成功利用该漏洞的攻击者可以执行任意的代码,这可能导致服务器完全被控制,进而造成敏感信息泄露、服务中断或其他安全问题。

e IIS PUT文件上传漏洞

  • f HTTP.sys远程代码执行漏洞:MS15-034
    该漏洞的原因是在HTTP.sys内核驱动程序中存在一个缓冲区溢出漏洞,攻击者可以通过发送特制的Range请求头(Range: bytes=0-999表示客户端只请求资源的前1000个字节,Range: bytes=0-18446744073709551615表示请求的范围从0到2^64-1,这是一个巨大的范围。)来触发该漏洞。当HTTP.sys处理该恶意请求时,缓冲区溢出会导致内存被破坏,从而使攻击者能够执行任意的远程代码。

    攻击者可以通过发送恶意的HTTP请求来利用该漏洞。这些请求通常包含一个特定的Range请求头,其中包含一个巨大的范围值,超出了HTTP.sys内核驱动程序所能处理的范围。当服务器收到这样的请求时,HTTP.sys会尝试将数据复制到一个缓冲区中,由于缓冲区溢出的存在,攻击者可以在溢出的数据中插入恶意的代码。

    成功利用该漏洞的攻击者可以执行任意的远程代码,这可能导致服务器完全被控制,进而造成敏感信息泄露、服务中断或其他安全问题。
  • Nginxga CGI解析漏洞,例如上传1.jpg然后访问1.jpg/.php
    漏洞的原因是在Nginx的配置中CGI解析不当。当Nginx服务器收到一个请求时,如果请求的URL中包含一个已存在的文件(如1.jpg),并且在文件名后面添加了斜杠和一个扩展名(如1.jpg/.php),Nginx会错误地将该请求当作CGI脚本解析并执行。

    具体来说,攻击者可以通过上传一个看似是图片文件的恶意CGI脚本(如1.jpg)并访问它(如1.jpg/.php)来利用该漏洞。当Nginx服务器收到请求时,它会将1.jpg/.php文件传递给CGI解析器进行解析和执行。由于配置不当,Nginx会将该文件当作CGI脚本来执行,从而导致攻击者的恶意代码被执行。

    成功利用该漏洞的攻击者可以执行任意的代码,这可能导致服务器完全被控制,进而造成敏感信息泄露、服务中断


其他

  • 1、IIS:目录解析漏洞、分号截断、CGI解析漏洞、PUT文件上传漏洞、MS15-034
  • 2、Apache:多后缀名解析漏洞、目录遍历、命令执行漏洞:CVE-2021-42013
  • 3、Nginx:CGI解析漏洞
  • 4、Tomcat:后台部署war包、PUT文件上传漏洞、反序列化漏洞、样例目录session操控漏洞

下面是详细解释后台部署war包的步骤:

  • 1. 准备war包:首先,需要将Web应用程序打包成war格式。war包是一种特殊的压缩文件,包含了Web应用程序的所有组件,如HTML、JSP、Servlet、类文件、配置文件等。
  • 2. 将war包上传到Tomcat服务器:将准备好的war包上传到Tomcat服务器上。可以通过多种方式实现上传,例如使用Tomcat管理界面、FTP、SCP等。上传后,war包会被存储在Tomcat服务器的webapps目录下。
  • 3. Tomcat自动解压war包:一旦war包被上传到webapps目录,Tomcat会自动检测并解压它。解压后,Tomcat会在webapps目录下创建一个与war包同名的目录,并将解压后的文件和目录放置在其中。
  • 4. 应用程序部署完成:解压后的目录中包含了Web应用程序的所有组件。Tomcat会自动加载并运行这些组件,使得Web应用程序可以在Tomcat服务器上正常运行。
  • 5. 访问Web应用程序:一旦Web应用程序部署完成,可以通过访问Tomcat服务器的URL来访问该应用程序。
  • URL的格式通常是`http://<hostname>:<port>/<context>`,其中`<hostname>`是Tomcat服务器的主机名或IP地址,`<port>`是Tomcat服务器的端口号,`<context>`是Web应用程序在Tomcat中的上下文路径。

    1. 后台部署war包漏洞:
    攻击者利用该漏洞的步骤如下:
    - 攻击者将恶意war包文件命名为合法的文件名,并将其上传到Tomcat的webapps目录下。
    - Tomcat会自动检测并解压war包,生成对应的应用程序目录。- 应用程序目录中包含了攻击者上传的恶意代码。
    - Tomcat会自动加载并运行这些恶意代码,导致攻击者可以执行任意的代码,包括远程命令执行、文件操作、数据库访问等。

    为了修复这个漏洞,Tomcat用户应该升级到最新版本,并应用厂商发布的安全补丁。此外,可以考虑限制对webapps目录的写入权限,只允许受信任的用户或IP地址上传war包。还可以使用防火墙或其他网络安全设备来过滤和监控对webapps目录的访问,以增加安全性。

    2. 样例目录session操控漏洞:样例目录session操控漏洞是指攻击者可以通过访问Tomcat的样例目录中的应用程序,获取或操控其他用户的会话(session)信息的漏洞。

    具体来说,攻击者利用该漏洞的步骤如下:

    - 攻击者访问Tomcat的样例目录中的应用程序,如示例的登录页面。
  • - Tomcat会为攻击者创建一个新的会话,并分配一个会话ID(session ID)。

  • - 攻击者可以通过获取其他用户的会话ID,来冒充这些用户,执行未经授权的操作。攻击者可以使用不同的方式获取其他用户的会话ID,如通过URL重定向、跨站脚本攻击(XSS)等。

    为了修复这个漏洞,Tomcat用户应该升级到最新版本,并应用厂商发布的安全补丁。此外,可以考虑禁用或删除样例目录,以减少攻击面。还可以使用安全编码和输入验证来防止XSS攻击,并使用安全的会话管理机制,如使用安全的会话ID生成算法、设置会话超时时间等,以增加安全性
  • 5、Weblogic:后台部署war包、一大堆反序列化漏洞、未授权RCE漏洞
    补充:RESTful API(Representational State @eval Transfer API)是一种基于HTTP协议的Web服务接口设计风格,用于实现不同系统之间的数据交互。它通过使用HTTP方法(如GET、POST、PUT、DELETE等)和URL来对资源进行操作和访问。在Weblogic中,管理控制台提供了一些RESTful API接口,用于管理和监控Weblogic服务器。这些接口允许用户通过发送HTTP请求来执行各种操作,如创建和部署应用程序、配置服务器参数、查看服务器状态等。
    然而,在某些版本的Weblogic中,存在一个未授权的RESTful API接口,这意味着该接口没有进行身份验证。攻击者可以通过发送特定的HTTP请求到该接口,执行任意的代码,而无需提供有效的凭证。

    Weblogic是一款Java应用服务器,广泛用于企业级应用程序的部署和管理。在某些版本的Weblogic中,存在一个安全漏洞,攻击者可以通过发送特制的请求包来利用该漏洞。

    具体来说,该漏洞的原因是Weblogic管理控制台中存在一个未授权的RESTful API接口,攻击者可以通过发送特定的HTTP请求到该接口,执行任意的代码。由于该接口未经身份验证,攻击者无需提供有效的凭证即可利用该漏洞。成功利用该漏洞的攻击者可以执行任意的代码,这可能导致服务器完全被控制,进而造成敏感信息泄露、服务中断或其他安全问题。

    为了修复这个漏洞,建议Weblogic用户及时升级到最新版本,并应用厂商发布的安全补丁。此外,可以考虑限制对Weblogic管理控制台的访问,并采取其他安全措施,如强密码策略、网络隔离等,以减少攻击面。

  • 6、Jboss:后台部署war包、一堆反序列化


框架漏洞(研判必备)

thinkphp5.x RCE

  • 基本都是对模型,对方法的路由处理有误导致RCE,反序列化漏洞的话需要有反序列化点
  • thinkphp5.0.x漏洞原因是对url处理有关,导致远程命令执行
    漏洞的原因是由于ThinkPHP框架在处理URL参数时存在安全漏洞。具体来说,当应用程序接收到一个URL参数时,框架会自动将该参数解析为控制器和方法,并执行对应的代码。然而,在解析过程中,ThinkPHP没有对参数进行充分的验证和过滤,导致攻击者可以通过构造恶意的URL参数来执行任意的PHP代码。

    攻击者可以通过在URL参数中注入PHP代码,例如通过使用`eval()`函数或其他执行代码的方法。一旦恶意代码被执行,攻击者可以在受影响的服务器上执行任意的操作,包括但不限于:- 读取、修改或删除服务器上的文件和数据库。- 执行系统命令,获取服务器的敏感信息。- 控制服务器并进行远程操作。

    为了防止该漏洞的利用,开发人员可以采取以下措施:- 及时升级和更新ThinkPHP框架到最新版本,以修复已知的安全漏洞。- 对URL参数进行严格的验证和过滤,确保只接受符合预期格式和内容的参数。- 避免使用`eval()`等容易导致RCE漏洞的函数,尽量使用更安全的方法来执行代码。- 对于用户输入的内容,进行适当的编码和转义,以防止恶意代码的注入。

Struts2

  • 1、原理:struts2是一个框架,他在处理action的时候,调用底层的getter/setter来处理http的参数,将每一个http的参数声明为一个ONGL。导致命令执行
  • 框架特点:文件后缀名”.action ” “.do”
    具体来说,Struts2框架在处理HTTP请求参数时,会将参数值作为一个字符串,然后将其解析为OGNL表达式。攻击者可以构造恶意的请求,将恶意的OGNL表达式作为参数值传递给框架。当框架在处理参数时,会将恶意的OGNL表达式当作合法的代码执行,从而导致命令执行漏洞。

    其中,getter方法用于获取对象的属性值,而setter方法用于设置对象的属性值。攻击者可以通过构造恶意的参数值,来执行任意的代码,包括但不限于执行系统命令、访问敏感文件等操作。攻击者可以利用这个漏洞来获取系统权限、执行远程命令等。

    为了防止Struts2框架的命令执行漏洞,开发人员可以采取以下措施:- 及时升级和更新Struts2框架到最新版本,以修复已知的安全漏洞。- 对用户输入进行严格的验证和过滤,确保只接受预期格式和内容的数据。- 配置安全的访问控制策略,限制用户的访问权限。- 避免使用动态执行代码的功能,如OGNL表达式的使用。- 使用安全的编码和转义方法,防止恶意代码的注入。
  • 2、例子:
  • S2-062漏洞形成的原因是struts在处理标签的name属性时,将用户输入当作表达式进行二次解析,导致OGNL表达式注入。
  • s2-046 通过Content-Type这个header头 filename 后面需要00截断,注入OGNL语言,进而执行命令,通过不恰当的 filename 字段或者大小超过 2G 的 Content-Length 字段来触发异常,进而导致任意代码执行。

Shrio 反序列化

  • 1、原理:Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理,Shiro提供了RememberMe的功能,当用户关闭浏览器,下次再打开浏览器访问时,还是能记住我是谁,无需登录即可访问。
  • 其实很多网站都有这功能,Shiro对RememberMe的Cookie做了加密处理,在CookieRememberMeManaer类中将Cookie中RememberMe字段内容分别进行序列化、AES加密、Base64编码等操作,但是默认的加密AES Key是硬编码进去的,都知道这个Key是什么,所以在逆向操作反序列化、Base64解密的时候,攻击者就可以伪造恶意数据通过反序列化远程执行命令。

Fastjson 反序列化

  • 通过Fastjson反序列化漏洞,攻击者可以传入一个恶意构造的JSON内容,程序对其进行反序列化后得到恶意类并执行了恶意类中的恶意函数,进而导致代码执行。
    补充:1. 普通反序列化:Fastjson可以直接将JSON字符串转换为Java对象。通过调用`JSON.parseObject()`方法,传入JSON字符串和目标Java对象的Class类型,Fastjson会自动将JSON字符串中的数据映射到Java对象的对应属性上。
    2. 泛型反序列化:Fastjson支持将JSON字符串转换为泛型类型的Java对象。通过使用`TypeReference`类,可以定义一个泛型类型的引用,然后将其传递给`JSON.parseObject()`方法进行反序列化。
    3. 自定义反序列化:Fastjson允许用户通过实现`com.alibaba.fastjson.parser.deserializer.ObjectDeserializer`接口来自定义反序列化逻辑。通过实现`deserialize`方法,可以在反序列化过程中对JSON字符串进行自定义处理,例如处理特殊的数据格式或者进行数据校验


    漏洞的根本原因是Fastjson在处理反序列化时,没有对反序列化的对象进行充分的验证和过滤。攻击者可以构造恶意的JSON数据,将恶意代码注入到应用程序中。当应用程序对该数据进行反序列化操作时,恶意代码将被执行,从而导致安全漏洞。

    具体来说,攻击者可以通过构造恶意的JSON数据,将恶意代码嵌入到对象的字段中。当Fastjson对该JSON数据进行反序列化操作时,恶意代码将被执行。攻击者可以利用这个漏洞来执行任意的命令,获取敏感信息,或者进行其他恶意活动。


redis未授权

  • 1、redis在6379端口
  • 2、写webshell
  • 3、写公钥实现免密登录
  • 4、写计划任务实现反弹shell
  • 5、主从复制getshell
    Redis未授权访问漏洞是指未经身份验证或授权的情况下,攻击者可以直接访问Redis数据库。这种漏洞通常是由于管理员未正确配置Redis的访问控制机制,如密码认证或IP白名单,或者是由于使用了默认的弱密码或未更改默认端口而导致的。
    攻击者可以通过扫描公网IP或者利用自动化工具来寻找未授权访问的Redis实例。一旦攻击者获得了未授权访问权限,他们可以执行以下恶意行为:
    1. 数据泄露:攻击者可以读取、修改或删除Redis数据库中的数据,包括敏感信息如用户凭证、客户机会话等。
    2. 数据篡改:攻击者可以修改Redis数据库中的数据,例如篡改配置信息、修改业务数据等。3. 拒绝服务:攻击者可以通过写入大量数据或者删除关键数据来导致Redis服务不可用。

    为了防止Redis未授权访问漏洞,可以采取以下措施:
    1. 配置密码认证:在Redis配置文件中设置密码,并确保密码的复杂度和安全性。
    2. 配置IP白名单:限制允许访问Redis的IP地址范围,只允许受信任的主机访问。
    3. 更改默认端口:将Redis的默认端口(6379)更改为非标准端口,以减少被扫描到的风险。4. 更新和升级:及时更新Redis版本,并关注官方发布的安全补丁和建议。
    5. 安全审计:定期审计Redis的配置和访问日志,以及监控Redis的网络流量和性能。


流量溯源

  • 可利用流量工具 wireshark 进行溯源:
  • 查看 eval、 z0、 shell whoami 等关键字,查看出现次数过多的时候, 需要查看是哪个页面发起的请求,有可能是 webshell
  • 通过 WireShark 工具快速搜索关键字,定位到异常流量包
  • 找出异常 IP 和所上传的内容,查看是否为 webshell
  • 如何定位到攻击IP:
  • 首先通过选择 - 统计 - 对话查看流量的走向情况, 定位可疑的 IP 地址
  • 根据定位到的 IP 地址,尝试对上传的 webshell 进行定位
  • ip.addr == ip &&httpmatches"uploadllevallselectlxp_cmdshell" && http.request.method == "POST"
  • 查找到 webshell 后尝试溯源漏洞位置
  • http.request.uri contains "webshell.php"
  • 定位到最开始 webshell 执行或上传的时候
  • 根据最开始的 HTTP 上传包或者其他漏洞特征定位漏洞类型


溯源工具

  • wireshark
  • wireshark 简单的过滤规则
  • 过滤ip:
  • 过滤源 ip 地址:ip.src1.1.1.1
  • 目的 ip 地址:ip.dst1.1.1.1
  • 过滤端口:
  • 过滤80端口:tcp.port == 80
  • 源端口:tcp.srcport == 80
  • 目的端:tcp.dstport == 80
  • 协议过滤:直接输入协议名即可,如 http 协议 http
  • http 模式过滤:过滤 get/post 包 httprequest.mothod == "GET/POST"


常用取证工具

Wireshark、xplico、 Volatility、 FastlR Collector、Autopsy、 Dumplt、 FTK Imager、Foremost、Scalpel、 Bulk_ exetractor 等

Volatility:Volatility是一款专门用于内存取证和分析的工具。它可以帮助取证人员从内存转储中提取操作系统和进程的信息,包括文件、网络连接、注册表等。Volatility支持多种操作系统,适用于恶意代码分析和取证调查。

DumpIt:DumpIt是一款用于取证的内存转储工具,可用于获取目标计算机的内存快照。它可以帮助取证人员分析内存中的进程、网络连接、注册表等信息,有助于发现和分析恶意活动。

Foremost:Foremost是一款开源的文件恢复工具,用于从存储介质中恢复已删除的文件。它可以帮助取证人员查找和提取存储介质中的文件,包括图像、视频、文档等。Foremost支持多种文件类型和数据格式。

相关文章
|
1月前
|
监控 安全 网络协议
|
机器学习/深度学习 人工智能 数据处理
带你读《看见新力量》第七期电子书——No.6 专访透彻未来CTO王书浩(2)
带你读《看见新力量》第七期电子书——No.6 专访透彻未来CTO王书浩(2)
|
机器学习/深度学习 人工智能 边缘计算
带你读《看见新力量》第七期电子书——No.6 专访透彻未来CTO王书浩(1)
带你读《看见新力量》第七期电子书——No.6 专访透彻未来CTO王书浩(1)
104 0
|
设计模式 架构师 算法
限量!阿里技术官纯手打架构师进阶宝典全网首发,理论+项目齐飞
可能有些人会常常有这样的感觉,同是开发有些人比我工资高却什么代码都不写呢?当我听到这个问题的时候第一次映入脑海的就是:工程师的分类。 大家可以来看看Java工程师在招聘网站上的区分:
限量!阿里技术官纯手打架构师进阶宝典全网首发,理论+项目齐飞
|
数据格式
java_试题 历届真题】兰顿蚂蚁【第五届】【省赛】【C组】
平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。   蚂蚁的头部朝向为:上下左右其中一方。
108 0
CSDN竞赛第六期第二题(C++)
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理,但是这次鬼艺接手了,你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗? 注解(这题是一道找出出现次数最多的字符串的一道题目) 输入描述: 第一行输入整数n.(1<=n<=1000)以下n行输入n个字符串,代表消耗的鬼画符。 输出描述: 输出消耗数量最多的鬼画符(字符串),无需考虑多种鬼画符消耗数量相同的情况。 示例1 输入 5 red red green green hen 输出 red
161 0
|
Web App开发 存储 缓存
身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇
身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇
134 0
身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇
|
程序员
2019 CSDN博客之星第三名,感谢各位支持
2019 CSDN博客之星第三名,感谢各位支持
2019 CSDN博客之星第三名,感谢各位支持
|
Java 数据库 开发者
问鼎五岳之巅--Java开发手册泰山版心得分享
完善计算机知识体系的路程,就好似攀登高峰,随着经验的增长,技术的积累,视野的广阔,我们愈战愈勇,敢于挑战更高的山峰。阿里的Java手册的发展,也正如此,愈来愈完善,给开发者提供一套业界的开发标准,开发设计时遵循此规约,实在无往不利。
|
机器学习/深度学习 安全 物联网
2019阿里巴巴技术面试题分享:20位专家28道题 | 5月27日云栖夜读
在本刊开篇文章中,讲述了: 阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的笔试真题这一次将陆续放出(面试题答案将在专辑分享结束后统一汇总分享)。并通过这些笔试真题开放阿里巴巴工作机会,让更多的开发者加入到阿里这个大平台。
4055 0