网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[1. SQL注入原理与代码层面成因](#1. SQL注入原理与代码层面成因)
[2. XSS漏洞原理(代码层面)](#2. XSS漏洞原理(代码层面))
[3. OWASP Top 10 漏洞(2023版)](#3. OWASP Top 10 漏洞(2023版))
[4. SQL注入防御方案](#4. SQL注入防御方案)
[5. SQL注入绕过防护](#5. SQL注入绕过防护)
[6. 护网行动工作内容](#6. 护网行动工作内容)
[7. 学校攻防演练经验](#7. 学校攻防演练经验)
[8. CTF成绩与技能](#8. CTF成绩与技能)
[9. 新颖漏洞关注与代码审计](#9. 新颖漏洞关注与代码审计)
[10. 钓鱼邮件与发信人伪造](#10. 钓鱼邮件与发信人伪造)
长某亭科技-安全服务工程师(一面)
sql注入原理 有没有从代码层面了解过sql注入的成因(反向代码成面指的是不是sql注入语句,答是) 代码层面解释xss漏洞原理 owasp top10漏洞 防御sql注入 sql注入绕过防护 在xx护网时的工作内容,有没有做过流量包,数据包的研判 在学校攻防演练时担任的角色,主要工作内容,渗透测试的思路,有什么成果(这个问的挺细的,具体分配的任务,有没有拿下主机或者域控、攻防演练的形式和持续时间等都聊了) CTF成绩 平时会不会关注一些新颖的漏洞,会不会做代码审计,比如shiro漏洞等有没有做过漏洞的复现 对钓鱼邮件这些有没有什么了解(因为上面聊xx护网时说了钓鱼邮件和微信钓鱼的事) 邮件安全之发信人邮箱伪造
1. SQL注入原理与代码层面成因
原理
攻击者通过构造恶意输入,篡改SQL查询逻辑,绕过认证或窃取数据。
代码层面成因
动态拼接SQL :未对用户输入过滤或转义,直接拼接到查询语句中。php
// PHP示例:直接拼接$_GET参数导致注入 $id = $_GET['id']; $sql = "SELECT * FROM users WHERE id = $id";
参数化查询缺失:未使用预处理语句(Prepared Statements),导致用户输入被解析为SQL语法。
漏洞触发场景
- 用户输入
id=1 OR 1=1
→ 查询变为WHERE id=1 OR 1=1
,返回所有数据。
2. XSS漏洞原理(代码层面)
原理
攻击者注入恶意脚本到页面中,其他用户访问时触发脚本执行。
代码层面成因
未转义输出 :用户输入直接输出到HTML,未使用转义函数。php
// PHP示例:输出未转义的$_GET参数 $name = $_GET['name']; echo "<div>Hello, $name</div>";
DOM操作风险 :前端JavaScript直接操作DOM时未过滤输入。javascript
// JS示例:通过URL参数动态修改页面内容 document.getElementById("content").innerHTML = location.hash.slice(1);
漏洞触发场景
- 输入
name=<script>alert(1)</script>
→ 页面执行恶意脚本。
3. OWASP Top 10 漏洞(2023版)
漏洞类型 核心风险 注入漏洞 SQL、NoSQL、OS命令注入 失效的身份认证 弱密码、会话固定、密钥泄露 敏感数据暴露 未加密的传输或存储数据 XML外部实体(XXE) 解析恶意XML文件导致文件读取/SSRF 失效的访问控制 未授权访问(如越权查看他人数据) 安全配置错误 默认配置、错误权限、暴露调试接口 跨站脚本(XSS) 存储型、反射型、DOM型XSS 不安全的反序列化 反序列化漏洞导致RCE或数据篡改 使用已知漏洞的组件 依赖库或框架存在未修复的CVE 日志与监控不足 无法及时检测攻击行为,延长攻击影响
4. SQL注入防御方案
参数化查询(预处理语句) php
// PHP PDO示例 $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]);
输入验证与过滤
- 白名单校验(如仅允许数字):
if (!is_numeric($id)) { die("Invalid input"); }
最小权限原则
- 数据库用户仅授予必要权限(如禁用
DROP TABLE
)。ORM框架
- 使用Eloquent、Hibernate等ORM工具自动处理参数化。
5. SQL注入绕过防护
绕过技术 示例 注释符 id=1'--
(注释后续语句)大小写混淆 UnIoN SeLeCt
→ 绕过关键词检测编码绕过 %55NION
(Hex编码U
) → 解码为UNION
多语句分隔 id=1; DROP TABLE users
(需支持堆查询)盲注利用 通过时间延迟或布尔条件逐字符提取数据
6. 护网行动工作内容
- 流量包研判
- 分析工具:Wireshark、Zeek、Suricata。
- 研判重点 :
- 检测SQL注入特征(如
UNION SELECT
)。- 识别异常协议(如内网Redis未授权访问)。
- 数据包分析
- HTTP请求:检查POST参数是否包含恶意Payload。
- DNS隐蔽通道:分析非常规域名解析(如长域名、高频请求)。
7. 学校攻防演练经验
角色与任务
- 角色:渗透测试员(红队)。
- 任务分配 :
- 信息收集:扫描目标IP段,识别Web服务(Nmap、Goby)。
- 漏洞利用:通过Struts2 RCE漏洞拿下Web服务器权限。
- 横向移动:利用Pass the Hash攻击获取域控权限。
- 成果 :
- 成功渗透3台主机(含1台域控)。
- 发现并报告12个高危漏洞。
演练形式
- 持续时间:48小时(模拟真实攻防)。
- 规则:禁止DoS攻击,仅允许漏洞利用。
8. CTF成绩与技能
- 参赛经历 :
- 2023年强网杯(Web方向Top 20%)。
- 2024年XCTF(逆向工程专项赛二等奖)。
- 技能亮点 :
- 熟练使用SQLMap、Burp Suite、IDA Pro。
- 擅长堆溢出、反序列化漏洞利用。
9. 新颖漏洞关注与代码审计
- 漏洞复现 :
- Apache Shiro反序列化(CVE-2022-32532):构造恶意Cookie触发RCE。
- Log4j2 JNDI注入(CVE-2021-44228):利用
${jndi:ldap://}
触发远程代码加载。- 代码审计实践 :
- 审计某开源CMS,发现未过滤的
eval($_GET['code'])
导致RCE,提交CVE。
10. 钓鱼邮件与发信人伪造
钓鱼邮件原理
- 伪造发件人 :通过修改SMTP头字段(如
From: admin@company.com
)伪装可信来源。- 社会工程:诱导点击恶意链接(如伪装成密码重置邮件)。
防御与检测
- SPF/DKIM/DMARC :
- SPF:验证发件IP是否在授权列表中。
- DKIM:校验邮件内容签名是否合法。
- 邮件头分析 :
- 检查
Return-Path
与From
是否一致。- 使用工具(如MXToolbox)检测SPF记录有效性。
示例绕过手法
- 相似域名 :
adrnin@company.com
(拼写错误)。- Unicode字符 :
admin@сompany.com
(西里尔字母с
)。
总结
- 技术核心:理解漏洞原理需结合代码实现,防御需多层级控制(输入校验、预处理、最小权限)。
- 实战经验:护网与攻防演练需快速定位攻击特征,CTF能力体现漏洞利用深度。
- 前沿关注:持续跟踪CVE和新型攻击手法(如Shiro、Log4j2),代码审计是进阶能力的关键。