文章总结: 蓝队面试知识库覆盖Web漏洞原理与绕过、流量特征识别、安全设备配置、蜜罐部署与溯源、应急响应流程、内存马排查、红队攻击链及防御检测要点,提供可操作建议与工具链,适合蓝队岗位复习与实战参考。 综合评分: 85 文章分类: 漏洞分析,应急响应,安全运营,蓝队,威胁情报
系统提权
-
Linux
-
内核提权
-
如脏牛漏洞:内核>=2.6.22
-
SUID提权
-
计划任务提权
-
sudo提权
-
明文root密码提权
-
密码复用提权
-
配置错误提权
-
第三方服务提权
-
NFS提权
-
Docker提权
-
数据库提权
-
UDF提权
-
MOF提权
-
启动项提权
-
反弹端口提权
-
CVE-2016-6663、CVE-2016-6664组合提权
-
Windows
-
内核溢出漏洞提权
-
psexec提权
-
UAC提权
-
令牌窃取
-
烂土豆提权
-
可信服务路径漏洞提权
-
DLL劫持提权
-
at命令提权
-
sc命令提权
-
常用漏洞提权
SQL注入
-
原理:没有对用户输入的SQL语句进行严格的验证和过滤
-
危害:只要权限广,可直接getshell
-
一般都是以MySQL为准
-
MySQL5.0以下:只能暴力猜解
-
MySQL5.0以上:information_schema
-
information_schema.schemata: 该数据表存储了mysql数据库中的所有数据库的库名
-
information_schema.tables: 该数据表存储了mysql数据库中的所有数据表的表名
-
information_schema.columns: 该数据表存储了mysql数据库中的所有列的列名
-
常用函数:
-
version(): 查询数据库的版本
-
user():查询数据库的使用者
-
database():数据库
-
system_user():系统用户名
-
session_user():连接数据库的用户名
-
current_user:当前用户名
-
load_file():读取本地文件
-
into outfile:写文件
-
@@datadir:读取数据库路径
-
@@basedir:mysql安装路径
-
@@version_complie_os:查看操作系统
-
ascii(str) : 返回给定字符的ascii值
-
length(str) : 返回给定字符串的长度
-
substr(string,start,length) : 对于给定字符串string,从start位开始截取,截取length长度
-
substr()、stbstring()、mid() 三个函数的用法、功能均一致
-
concat(username):将查询到的username连在一起,默认用逗号分隔
-
concat(str1,’*’,str2):将字符串str1和str2的数据查询到一起,中间用*连接
-
group_concat(username) :将username数据查询在一起,用逗号连接
-
limit n,1: 查询第n+1个数
-
分类
-
注入类型分类
-
数字类型、字符串类型、搜索类型、框架类型
-
提交方式分类
-
GET注入、POST注入、Cookie注入、HTTP头注入
-
获取信息的方式分类
-
布尔注入
-
猜,如length(str)
-
length(database())>5
-
时间注入
-
sleep()
-
if(1>2,sleep(1),0);
-
报错注入
-
floor
-
extractvalue
-
UpdateXml
-
NAME_CONST
-
join
-
exp
-
GeometryCollection
-
polygon
-
multipoint
-
multlinestring
-
multpolygon
-
linestring
-
联合注入
-
union
-
堆叠注入
-
;
-
宽字节注入
-
df’
-
步骤
-
是否存在注入:
-
单引号、双引号、单括号、双括号是否报错
-
and 1=1、and 1=2,页面不一样代表存在SQL注入
-
判断列数:
-
order by
-
判断回显点:
-
union select 1,2,3
-
收集信息(用户、库、表、列、拿数据)
-
万能密码:
-
OR ‘1’ = ‘1
-
OR 1=1
-
‘ OR ‘a’ = ‘a
-
绕过
-
编码绕过
-
大小写绕过
-
等价函数绕过
-
双写绕过
-
注释符绕过
-
sqlmap
-
-u:判断是否存在注入
-
–current-db:获取当前数据库
-
–current-user:查看当前用户
-
–tables -D “admin”:获取admin数据库中的表
-
–columns -T “admin” –tables -D “test”:获取test数据库中admin表的列名
-
-dump -C “username,password” –columns -T “admin” –tables -D “test”:获取test数据库下admin表中的username和password列的数据
-
–dump-all:获取所有数据
-
–data “”:POST注入
-
-r:文件注入
-
–tamper:脚本绕过
-
绕过:
-
注释符绕过
-
/*注释内容*/
-
;
-
;%00
-
大小写绕过
-
内敛注释绕过
-
/*!select*/
-
双写绕过
-
编码绕过
-
ASCII编码
-
16进制编码
-
Unicode编码
-
大于小于号绕过
-
between and
-
in
-
空格绕过
-
/**/
-
()
-
`
-
tab键
-
两个空格
-
%0a
-
关键字绕过
-
or:||
-
and:&&
-
xor:|或者异或^
-
not:!
-
等号绕过:
-
like
-
regexp
-
大小于号
-
!<>
-
单引号绕过:
-
十六进制
-
宽字节
-
等价函数绕过
-
sleep():benchmark
-
ASCII():bin、hex、ord
-
group_concat():concat_ws、concat
-
substr():substring、mid、left、right
-
修复:
-
采用预编译
-
使用参数化查询
-
参数化:将用户输入内容当作数据,而不是SQL语句的一部分
-
使用ORM(对象关系映射)
-
ORM会自动使用参数化查询
-
对输入内容做严格校验和过滤
-
只允许字母和数字
-
最小化数据库权限
-
禁止敏感函数操作
-
使用WAF
-
禁用数据库错误输出
-
使用云数据库(一般很少公司使用)
-
原因:数据库是心脏,放在别人身上不安全
-
如何取舍?
-
云数据库只有白名单才可以访问(拿到账号密码也不行)
XSS
-
跨站脚本攻击
-
原理:没有对用户输入的HTML语句进行严格的验证和过滤
-
危害:
-
窃取用户信息
-
篡改页面
-
钓鱼
-
执行恶意操作
-
传播恶意软件
-
破坏网站功能
-
蠕虫
-
恶意重定向
-
分类:
-
反射型
-
存储型
-
DOM型
-
绕过:
-
编码绕过
-
HTML实体编码
-
URL编码
-
Unicode编码
-
base64编码
-
Javascript编码
-
大小写绕过
-
Javascript事件绕过
-
浏览器容错机制绕过
-
不完整的HTML标签绕过
-
注释绕过
-
DOM方法绕过
-
外部脚本绕过
-
IMG标签绕过
-
IFrame绕过
-
SVG绕过
-
Flash文件绕过
-
内敛绕过
-
windows.location绕过
-
document.write绕过
-
字符拼接绕过
-
修复:
-
对用户输入进行转义
-
对用户输入内容进行严格的验证
-
使用CSP
-
CSP:浏览器的安全机制
-
避免直接插入数据
-
使用textContent 或 innerText 来插入文本(只是插入纯文本)
-
不能使用 innerHTML(会解析并执行其中的HTML和Javascript)
-
使用安全的JS框架和库
-
React, Angular, Vue等框架会自动对用户输入进行转义
-
禁止内敛脚本
-
关闭错误显示
-
使用HttpOnly
CSRF
-
跨站请求伪造
-
原理:利用登录状态诱使用户在不知情的情况下执行恶意操作
-
危害:
-
数据泄露
-
非法操作
-
蠕虫
-
拒绝服务
-
绕过:
-
置空
-
删除参数请求
-
复用请求
-
更改请求方法
-
替换相同长度
-
解码CSRF令牌
-
HTML注入提取令牌
-
referer绕过
-
修复建议
-
使用Token验证
-
在Set-Cookie头中使用SameSite属性
-
限制浏览器是否携带Cookie跨站点发送
-
避免使用GET请求敏感操作
-
验证请求来源
-
Referer、Origin
SSRF
-
服务器请求伪造
-
原理:通过构造恶意请求,利用服务器发起请求,访问内部资源
-
危害:
-
内网探测
-
伪协议:
-
http://
-
file:///
-
dict://
-
sftp://
-
ldap://
-
tftp://
-
gopher://
-
绕过:
-
伪协议绕过
-
@符号绕过
-
.绕过
-
IP地址绕过
-
127.0.1
-
localhost
-
[::1]
-
17.1
-
进制转换绕过
-
短网址绕过
-
302绕过
-
注册域名并解析到127.0.0.1绕过
-
特殊地址绕过
-
http://0/
-
修复建议
-
限制HTTP请求范围
-
白名单限制服务器能访问的IP地址范围
-
禁止访问内部地址(127.0.0.1, localhost, 0.0.0.0)
-
对输入内容进行严格验证
-
禁止不必要的协议
-
避免URL重定向
命令执行
-
原理:通过WEB应用执行系统命令
-
危害:
-
系统权限提升
-
铭感信息泄露
-
远程执行恶意代码
-
只要权限广可getshell
-
函数:
-
system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()等
-
绕过:
-
空格绕过
-
${IFS}
-
$IFS$9
-
%09
-
{}
-
<
-
关键字绕过
-
变量拼接
-
系统变量绕过
-
Base64编码绕过
-
无回显借助DNSlog平台
-
修复建议
-
避免直接执行输入的命令
-
使用系统的 API(如 Python 的 subprocess)并避免使用 system()、exec() 等函数
-
对输入内容进行严格校验
-
使用参数化命令执行
-
使用 subprocess.run() 代替 os.system()
-
限制命令的执行权限
-
禁止返回内容
代码执行
-
原理:允许攻击者在目标服务器上传或执行恶意代码
-
函数:
-
eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()、等
-
修复建议
-
禁止上传可执行文件
-
检查文件内容
-
MIME类型、扩展名
-
限制权限
-
文件上传时使用随机文件名
-
对输入内容进行严格校验
-
关闭错误显示
XXE
-
XML外部实体注入
-
原理:没有对用户输入的恶意的XML语句进行严格的验证和过滤
-
危害:
-
内网扫描
-
任意文件读取
-
命令执行
-
绕过:
-
关键词绕过
-
HTML实体
-
Base64
-
UTF-7
-
UTF-16be
-
其他协议绕过
-
data://
-
file:///
-
php:/filter
-
文档中额外空格绕过
-
修复建议
-
禁用外部实体解析
-
使用XML解析库的安全配置
-
对输入内容进行严格校验
-
限制权限
文件上传
-
原理:没有对用户上传的文件进行严格的验证和过滤
-
危害:
-
上传WEBshell
-
绕过:
-
前端绕过
-
删除前端校验函数
-
禁用JS代码
-
BP改包
-
黑名单绕过
-
等价扩展名绕过
-
.htaccess文件绕过
-
大小写绕过
-
空格绕过
-
点号绕过
-
::$DATA绕过
-
空格+点号绕过
-
双写绕过
-
00截断
-
文件头监测绕过
-
user.ini名字绕过
-
白名单绕过
-
MIME绕过
-
00截断
-
二次渲染
-
条件竞争时间差绕过
-
配合其他漏洞
-
修复建议
-
OSS
-
引发的问题:key泄露
-
限制上传类型
-
扩展名、MIME类型
-
对文件内容进行严格验证和过滤
-
使用库如 ImageMagick 或 Pillow 来验证图像文件的实际内容
-
上传目录设置为只读,无执行权限
-
限制上传文件大小
-
对上传文件名进行处理(随机生成)
-
禁止使用特殊字符
-
..
-
/
-
%
-
白名单校验
-
如果是图片,进行二次渲染、压缩
-
禁用输出
文件包含
-
原理:包含文件时没有对用户输入的内容进行严格的验证和过滤
-
分类:
-
本地文件包含
-
远程文件包含
-
allow_url_include=On
-
绕过:
-
伪协议绕过
-
%00截断
-
长度截断
-
伪协议:
-
file://
-
php://filter/read=conver.base64-encode/resource=./index.php
-
php://filter/write=convert.base64-encode/resource=phpinfo.php&test=<?php phpinfo()?>
-
php://input post=<?php phpinfo()?>
-
php://input POST:<?php fputs(fopen('shell.php','w'),'<?php @eval($_GET[cmd]); ?>‘); ?>
-
data://text/plain,<?php phpinfo();?>
-
修复建议
-
禁用远程文件包含
-
allow_url_fopen 和 allow_url_include 设置为 Off
-
对用户输入的内容进行严格的验证和过滤
-
使用安全的库或函数
-
在 PHP 中,可以使用 basename() 来去除路径信息,只保留文件
-
限制目录
-
最小化原则
文件读取
-
原理:没有对用户的输入进行严格的过滤,导致可以读取敏感文件
-
修复建议
-
禁锢目录,只能访问特定目录下的文件
-
限制权限,最小化原则
-
文件名和访问路径进行白名单设置
-
对用户输入的内容进行严格的验证和过滤(如../)
-
禁止使用危险参数
-
readfile()、file_get_contents()等
文件下载
-
原理:没有对用户的输入进行严格的过滤,导致可以下载敏感文件
-
修复建议
-
对用户输入的内容进行严格的验证和过滤(如../)
-
限制可下载的文件文件类型和目录
-
控制文件访问权限
-
设置白名单,只能下载特定目录下的文件
-
随机ID文件拼接
目录遍历
-
原理:没有对用户的输入进行严格的过滤,导致可以目录遍历
-
修复建议
-
对用户输入的内容进行严格的验证和过滤(如../)
-
控制文件访问权限
-
禁用相对路径
-
使用安全的函数
-
如 realpath()
反序列化
-
原理:没有对用户的输入的序列化数据进行校验
-
序列化:对象转换为数组或字符串等格式
-
serialize()
-
反序列化:数组或字符串等格式转换为对象
-
unserialize()
-
绕过:
-
魔术方法绕过
-
正则匹配绕过
-
十六进制绕过
-
修复建议
-
禁用不必要的反序列化操作
-
对反序列化的数据进行签名和加密
-
验证和过滤反序列化数据
-
使用安全的库和数据格式
-
JSON、XML
-
白名单
-
只允许特定的类进行反序列化
逻辑漏洞
-
原理:逻辑功能存在缺陷,导致可以绕过造成其他影响
-
修复建议
-
代码控制(逻辑漏洞是程序员设计问题,没想到这个问题)
未授权
-
原理:没有正确实现访问控制,导致可以访问限制级的资源
-
修复建议
-
强制认证和授权
-
最小化原则
-
定期审查访问控制逻辑
缓冲区溢出
-
原理:将过多数据写入缓冲区导致溢出,造成缓冲区溢出
-
修复建议
-
使用安全的编码语言
-
边界检查和验证
-
编译器保护
-
使用栈保护(如 StackGuard)和数据执行保护(如 DEP)等编译器和操作系统功能来防止缓冲区溢出
Dos攻击
-
原理:通过消耗系统资源(如 CPU、内存、带宽)使 Web 应用无法正常提供服务
-
修复建议
-
限制请求频率
-
部署WAF
-
反向代理、负载均衡
应急响应
-
大致需要懂一点,比如钓鱼邮件、挖矿等如何应急?
-
流程:
-
收集信息
-
收集客户信息和中毒信息,包括样本
-
判断类型
-
判断是否是安全事件、何种安全事件、勒索、挖矿、断网、Dos
-
抑制范围:
-
隔离使受害面不继续扩大
-
深入分析
-
日志分析、进程分析、启动项分析、样本分析
-
清理处置
-
杀掉进程、删除文件、打补丁、删除异常系统服务、修复文件
-
产出报告
-
整理并输出完整的安全事件报告
-
学习:https://bypass007.github.io/Emergency-Response-Notes/
-
应急响应简化:
-
Windows入侵排查:
-
入侵排查思路:
-
检测系统账号安全:
-
是否存在弱口令、远程管理端口是否对公网开放
-
是否存在可疑账号、新增账号
-
是否存在隐藏账号、克隆账号
-
结合日志,查看管理员登录时间,用户名是否存在异常
-
检查异常端口、进程:
-
异常端口检查:
-
netstat -ano:查看网络连接,定位可疑的ESTABLISHED
-
netstat -ano | findstr “port”
-
根据netstat定位的pid,结合tasklist命令进行进程定位:tasklist | findstr “PID”
-
进程检查:
-
msinfo32命令可查看运行进程的详细信息
-
D盾、微软官方提供的 Process Explorer 等工具排查
-
主要关注:没有签名验证的进程及子进程、没有描述信息的进程、进程的属主、进程的路径是否合法、CPU或内存资源占用时间过高的进程
-
检查启动项、计划任务、服务
-
检查系统相关信息
-
系统版本、补丁、可以目录及文件、同时间段修改的文件和目录
-
自动化查杀
-
日志分析
-
Linux入侵排查思路:
-
账号安全
-
可疑账号、可以远程登录的账号、UID为0的特权用户(who、w、uptime)
-
之后禁用或删除多余及可疑的账号
-
历史命令是否存在
-
检查异常端口
-
检查异常进程
-
检查开机启动项
-
检查定时任务
-
检查服务自启动
-
检查异常文件
-
/tmp目录
-
入侵范围内修改的文件
-
检查系统日志
-
WEBshell查杀工具:
-
D盾、百度WEBDIR+、河马、Web Shell Detector、牧云、Sangfor WebShellKill、深度学习模型检测PHP Webshell、PHP Malware Finder、findWebshell、在线webshell查杀工具
-
如何发现隐藏的后门:
-
MD5校验、diff命令、版本控制工具、文件对比工具(Beyond Compare、WinMerge)
-
勒索病毒:
-
利用勒索病毒搜索引擎
蓝队技战法
-
画像:
-
提取攻击链:如信息收集–>漏扫–>文件上传–>维权–>内网探查
-
标记关键节点:如使用什么漏洞、什么工具、攻击者身份特征等
-
如:每次钓鱼攻击中,攻击者通过系统升级邮件,批量发送,哪些人中招了,最后主机被控制,继而进一步内网横向移动
-
防御:
-
封控:如防火墙拦截、隔离主机等
-
检测:告警规则、流量异常等
-
修复:修补漏洞、禁用高危端口及服务等
-
反制:
-
收拢攻击面:减少暴露面,如关闭不必要的服务
-
欺骗战术:蜜罐
-
联动防御:NDR+SIEM+SOAR工具链协同
-
验证:
-
测试环境模拟攻击,验证防御体系是否有效
-
结合威胁情报对标攻击手法
-
每月复盘,淘汰果实策略,补充新场景
-
输出:
-
基础信息:事件时间、攻击类型、影响范围等
-
战术手段:使用工具、漏洞、手法等
-
防御:检测规则、处置步骤、加固方案等
-
关联情报:威胁组织、攻击指标、同类案例链接等
-
思维导图梳理攻击路径更直观
红队
-
红队C2反连平台都有哪些?(大概说几个就行,大致功能需要了解下)
-
CobaltStrike
-
Metasploit Framework
-
VSHELL
-
core impact
-
Viper
-
Havoc C2
-
Sliver C2
-
XiebroC2
-
Supershell
-
Empire
-
Mythic
-
convoC2
-
emp3r0r
-
Villain
-
AsyncRAT
-
红队上传后门之后的攻击手法都有哪些?
-
权限提升:目标是获得系统最高权限,为后续操作扫清障碍
-
本地漏洞利用:利用操作系统或软件本地提权漏洞,获取root或SYSTEM权限。
-
凭据窃取与滥用:
-
转储内存密码:使用Mimikatz等工具从lsass.exe进程内存中提取明文密码或哈希。
-
窃取密码文件:获取/etc/shadow或C:\Windows\System32\config\SAM。
-
滥用服务账户:利用配置不当的、高权限的服务账户。
-
配置错误利用:利用错误的文件/目录权限、不安全的服务配置、计划任务等进行提权。
-
横向移动:
-
凭据传递攻击:
-
密码传递:直接使用窃取的密码登录其他主机。
-
哈希传递:在无需明文密码的情况下,使用NTLM哈希进行身份验证。
-
票据传递:窃取Kerberos票据,冒充合法用户访问资源。
-
利用网络服务漏洞:攻击内网中未修复漏洞的SMB、RDP、SSH、数据库等服务。
-
远程命令执行:使用WMI、PsExec、WinRM等合法管理工具执行命令,实现“无文件”攻击。
-
软件供应链攻击:如果后门在开发/运维机器上,可通过感染其构建或部署流程,扩散至更多服务器。
-
信息收集:
-
网络拓扑探测:扫描内网网段,定位域控制器、文件服务器、数据库等关键资产。
-
凭据与权限枚举:查看当前用户权限、所在组、可访问的共享资源、域内关系等。
-
数据定位:搜索包含“财务”、“密码”、“备份”等关键词的文档、数据库和源代码。
-
持久化:
-
植入新的后门:在多个不同位置植入不同类型的后门,如WebShell、内存马、Rootkit等。
-
创建计划任务/服务:设置定时或系统启动时执行的后门任务。
-
劫持合法程序/启动项:修改系统启动脚本或劫持常用软件的加载库。
-
域内持久化:攻击者可能创建隐藏的后门账户、配置黄金票据,甚至在域策略中植入脚本。
-
目标达成与数据渗出
-
反朔源与痕迹清理:
-
清除日志:清理操作系统、应用的安全日志和访问记录。
-
使用无文件技术:仅在内存中执行恶意代码,减少文件系统痕迹。
-
伪装与模仿:模仿正常用户或系统的行为模式,如使用正常的工作时间、工具进行活动。
-
对抗蜜罐与沙箱:通过检测虚拟化环境、系统交互度来判断是否处于蜜罐中。
-
蓝队防守检测要点:
-
权限提升:异常进程创建、敏感进程访问、特权账户异常登录
-
横向移动:内部主机的异常登录、大量失败的认证尝试、非常规端口扫描
-
持久化:新增的启动项、计划任务、可疑服务或系统文件修改
-
数据渗出:异常大小的外发流量、非业务时段的数据传输、非标准协议外联
-
反朔源:日志被大量清除、安全监控代理异常掉线
内存马
-
内存马类型:
-
传统Web应用型内存马:
-
Servlet型内存马:动态注册Servlet及映射路由
-
Filter型内存马:动态注册Filter及映射路由
-
Listener型内存马:动态注册Listener
-
框架型内存马:
-
SpringController型内存马:动态注册Controller及映射路由
-
SpringInterceptor型内存马:动态注册Interceptor及映射路由
-
SpringWebflux型内存马:动态注册Webfilter及映射路由
-
中间件型内存马:
-
Tomcat Value型内存马:动态注册Value
-
Tomcat Upgrade型内存马:动态注册UpgradeProtocol
-
其他中间件型内存马:
-
WebSocket型内存马:动态注册WebSocket路由及处理逻辑
-
Tomcat JSP型内存马:动态注册Tomcat JSP管理逻辑并实现驻留
-
线程型内存马:启动一个无法被杀死的线程
-
RMI型内存马:动态启动一个RMI Registry
-
Agent型内存马:
-
通过Hook并修改关键方法添加恶意逻辑。Agent型内存马在现代webshell管理工具中有广泛实现
-
怎么判断是内存马?
-
无实际物理路径、访问路径不是常规路径(如/fac.icon)、页面不存在但日志返回200状态码
-
内存马排查思路:
-
首先判断是什么方式注入的内存马
-
可以通过查看web日志,看看是否有异常路径,是否无法访问但日志中返回200状态码
-
如果web日志中没有发现,那么我们就可以排查中间件的error.log日志
-
内存马如何查杀?
-
蓝队工具箱
-
PHP:可借助webshell工具,目前很多webshell工具中集成
-
Java:
-
java-memshell-scanner工具:通过jsp脚本扫描java web Filter/Servlet型内存马
-
arthas工具:一款监控诊断产品,通过全局视角实时查看应用load、内存、gc、线程的状态信息。可使用该工具对内存马排查和分析,如攻击者隐藏的深可将所有的类都反编译导出来然后逐一排查
-
shell-analyzer工具:支持Filter、Servler、Listener、Value
-
cop.jar:能排查几乎主流内存马技术,自动提取需要自己排查
朔源
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:一个努力的学渣 一个努力的学渣 一个努力的学渣《面试汇总–20260122》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论