安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[661. 如果 SRC 上报了一个 XSS 漏洞,payload 已写入页面但未给出具体位置,如何快速介入?](#661. 如果 SRC 上报了一个 XSS 漏洞,payload 已写入页面但未给出具体位置,如何快速介入?)
[662. 发现一个大范围影响的新漏洞,如何快速排查公司资产?](#662. 发现一个大范围影响的新漏洞,如何快速排查公司资产?)
[663. 如果你是安全运营的负责人,简要介绍你对安全方面采取的措施](#663. 如果你是安全运营的负责人,简要介绍你对安全方面采取的措施)
[664. 发现了一个漏洞,报告给开发但开发不愿修复,如何沟通?](#664. 发现了一个漏洞,报告给开发但开发不愿修复,如何沟通?)
[665. 红蓝队经验](#665. 红蓝队经验)
[666. 关于 Shiro 漏洞了解多少](#666. 关于 Shiro 漏洞了解多少)
[667. 说说你 APP 测试的经验](#667. 说说你 APP 测试的经验)
[668. 如果 XSS 打了后台,发现是内网的怎么办](#668. 如果 XSS 打了后台,发现是内网的怎么办)
[669. 会不会进程注入](#669. 会不会进程注入)
[670. 如何设置跨域请求数据?JSONP 的作用?](#670. 如何设置跨域请求数据?JSONP 的作用?)
[671. 子域名与顶级域名不同源,如何同源?同源策略定义?](#671. 子域名与顶级域名不同源,如何同源?同源策略定义?)
[672. 同源策略下,哪些资源可获取?](#672. 同源策略下,哪些资源可获取?)
[673. JSON 与 JSONP 的区别](#673. JSON 与 JSONP 的区别)
[674. JSONP 劫持利用及修复](#674. JSONP 劫持利用及修复)
[675. JSON 注入如何利用?](#675. JSON 注入如何利用?)
[676. Ajax 是否遵循同源策略?](#676. Ajax 是否遵循同源策略?)
[677. CSP 是什么?如何设置?](#677. CSP 是什么?如何设置?)
[678. 浏览器安全策略差异(Chrome/Firefox/IE)](#678. 浏览器安全策略差异(Chrome/Firefox/IE))
[679. HTML5 的新安全特性](#679. HTML5 的新安全特性)
[680. PHP LFI 漏洞](#680. PHP LFI 漏洞)
[681. PHP 反序列化漏洞](#681. PHP 反序列化漏洞)
[682. PHP Webshell 检测](#682. PHP Webshell 检测)
[683. PHP %00 截断原理](#683. PHP %00 截断原理)
[684. php.ini 安全设置](#684. php.ini 安全设置)
[685. PHP 错误回显关闭方法](#685. PHP 错误回显关闭方法)
[686. Java MVC 结构与数据流向](#686. Java MVC 结构与数据流向)
[687. Java 沙箱](#687. Java 沙箱)
[688. iBatis 参数化查询与 SQL 注入](#688. iBatis 参数化查询与 SQL 注入)
[689. 两次 Struts2 漏洞原理](#689. 两次 Struts2 漏洞原理)
[690. OGNL 在 payload 中的作用](#690. OGNL 在 payload 中的作用)
661 如果 SRC 上报了一个 XSS 漏洞,payload 已经写入页面,但未给出具体位置,如何快速介入? 662 发现一个大范围影响的新漏洞,如何快速排查公司资产? 663 如果你是安全运营的负责人,简要介绍你对安全方面采取的措施; 664 发现了一个漏洞,你报告给开发人员,但是开发人员不愿意修漏洞,如何沟通? 665 红蓝队经验 666 关于shiro漏洞了解多少 667 说说你APP测试的经验 668 如果你Xss打了后台,发现是内网的怎么办 669 会不会进程注入 670 如何设置可以跨域请求数据?jsonp是做什么的? 671 如果子域名和顶级域名不同源,在哪里可以设置叫他们同源,解释一下什么是同源策略? 672 同源策略,哪些东西是同源可以获取到的? 673 JSON和JSONP的区别? 674 JSONP劫持利用方式及修复方案? 675 JSON注入如何利用? 676 Ajax是否遵循同源策略? 677 CSP是什么?如何设置CSP? 678 不同浏览器之间,安全策略有哪些不同,比如chrome,firefox,IE 679 说说HTML5有哪些新的安全特性? 680 php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的? 681 php反序列化漏洞的原理?解决方案? 682 php webshell检测,有哪些方法 683 php的%00截断的原理是什么? 684 php.ini可以设置哪些安全特性 685 php里面有哪些方法可以不让错误回显? 686 java的MVC结构都是做什么的,数据流向数据库的顺序是什么? 687 了解java沙箱吗? 688 ibats的参数化查询能不能有效的控制sql注入?有没有危险的方法可以造成sql注入? 689 说说两次struts2漏洞的原理 690 ongl在这个payload中起了什么作用?661. 如果 SRC 上报了一个 XSS 漏洞,payload 已写入页面但未给出具体位置,如何快速介入?
解答:
- 初步验证 :
- 检查上报的 payload 是否在页面源码中(Ctrl+U 查看源码,搜索 payload 关键词)。
- 使用浏览器开发者工具(F12)全局搜索 DOM 中的 payload 字符串。
- 定位注入点 :
- 在 payload 中插入唯一标识符(如
UNIQUE_XSS_123),通过页面组件(URL 参数、表单输入、Cookie 等)提交,观察标识符出现位置。- 使用
debugger或console.log追踪数据流(如:审查 JavaScript 的innerHTML/document.write调用栈)。- 自动化辅助 :
- 使用工具(如
Burp Suite爬虫)扫描所有页面,匹配 payload;或编写脚本自动化提交 payload 并检测响应。- 修复优先级 :
- 若涉及敏感页面(登录、支付),立即通知开发;若为低频页面,标记中危。
662. 发现一个大范围影响的新漏洞,如何快速排查公司资产?
解答:
- 资产梳理 :
- 通过 CMDB(配置管理数据库)、域名解析记录、IP 段扫描,列出所有受影响资产(Web 服务、API、云主机)。
- 指纹识别 :
- 使用工具(如
Nmap、Wappalyzer)批量识别资产的技术栈(框架、组件版本)。- 针对性扫描 :
- 编写脚本或利用漏洞扫描器(如
Nexpose)检测漏洞特征(如特定 HTTP 头、路径遍历特征)。- 优先级划分 :
- 按资产重要性(核心业务 > 边缘系统)和暴露面(公网 > 内网)分级修复。
663. 如果你是安全运营的负责人,简要介绍你对安全方面采取的措施
解答:
- 纵深防御体系 :
- 预防层 :WAF、CSP、代码审计;检测层 :SIEM 实时监控、HIDS/NIDS;响应层:自动化 SOAR、应急响应流程。
- 开发安全左移 :
- SDLC 集成 SAST、DAST 工具;上线前强制安全扫描。
- 人员管理 :
- 全员安全意识培训;红蓝对抗演练;漏洞奖励计划。
- 合规与审计 :
- 定期渗透测试;符合 GDPR/等级保护要求。
664. 发现了一个漏洞,报告给开发但开发不愿修复,如何沟通?
解答:
- 风险量化 :
- 提供攻击 PoC 视频或截图,说明漏洞可能导致的直接损失(如数据泄露罚款、业务停摆)。
- 降低修复成本 :
- 提供修复方案(如过滤函数示例)、临时缓解措施(如 WAF 规则)。
- 向上管理 :
- 通过安全委员会或管理层推动,关联企业风险库(如 CVSS 评分 ≥7.0 必须修复)。
665. 红蓝队经验
解答:
- 蓝队(防御) :
- 部署 EDR/XDR 端点检测;分析 SIEM 告警(如异常登录);加固系统配置(禁用高危服务)。
- 红队(攻击) :
- 模拟 APT:钓鱼攻击获取入口,横向移动(Pass-the-Hash),权限维持(隐藏后门)。
- 工具链:Cobalt Strike、Mimikatz、Metasploit。
666. 关于 Shiro 漏洞了解多少
解答:
- 核心漏洞 :
- CVE-2016-4437(反序列化):攻击者伪造 RememberMe Cookie,触发 Java 反序列化 RCE。
- CVE-2020-13933(权限绕过):错误的路由处理导致未授权访问。
- 修复方案 :
- 升级 Shiro ≥1.7.0;更换 AES 密钥;禁用 RememberMe。
667. 说说你 APP 测试的经验
解答:
- 静态分析 :
- 反编译 APK(Jadx),检测硬编码密钥、SSL 忽略漏洞。
- 动态测试 :
- 拦截流量(Burp+Proxy),测试 API 未授权访问;Frida 钩子绕过证书校验。
- 组件安全 :
- 检测 Activity 导出、Intent 注入;WebView 的
setJavaScriptEnabled风险。
668. 如果 XSS 打了后台,发现是内网的怎么办
解答:
- 内网探测 :
- 通过 XSS 执行 JavaScript 扫描内网(如
fetch('http://192.168.1.1'))。- 横向移动 :
- 劫持管理员 Cookie 访问内部系统;利用浏览器作为代理(如
reGeorg)。- 权限提升 :
- 窃取内网凭证(如从 JS 源码中挖掘硬编码密码)。
669. 会不会进程注入
解答:
- 常见技术 :
- DLL 注入 :
CreateRemoteThread加载恶意 DLL 到目标进程。- APC 注入:利用异步过程调用执行 Shellcode。
- Process Hollowing:挂起合法进程,替换其内存为恶意代码。
- 防御 :
- EDR 监控进程行为;启用 ASLR/DEP。
670. 如何设置跨域请求数据?JSONP 的作用?
解答:
- 跨域设置 :
- 服务端响应头添加
Access-Control-Allow-Origin: *或指定域名。- JSONP 原理 :
- 通过
<script>标签绕过同源策略,获取跨域数据(如<script src="http://api.com/data?callback=handleResponse">)。
671. 子域名与顶级域名不同源,如何同源?同源策略定义?
解答:
- 同源策略(SOP) :
- 协议、域名、端口均相同才视为同源(如
https://a.com:443和https://b.a.com:443不同源)。- 设置同源 :
- 通过
document.domain = 'a.com'(仅限同级域名,如x.a.com和y.a.com)。
672. 同源策略下,哪些资源可获取?
解答:
- 允许操作 :
- 读写同源 Cookie/LocalStorage;访问同源 DOM;Ajax 请求同源 API。
- 禁止操作 :
- 跨域 DOM 访问;跨域 Ajax(需 CORS);跨域 Cookie(需
SameSite=None)。
673. JSON 与 JSONP 的区别
解答:
特性 JSON JSONP 数据格式 纯数据对象( {"key":"value"})函数包裹的数据( callback({"key":"value"}))传输方式 Ajax 请求 <script>标签加载安全性 受 CORS 限制 无跨域限制,但存在 JSONP 劫持风险
674. JSONP 劫持利用及修复
解答:
- 利用方式 :
攻击者诱导用户访问恶意页面,该页面通过 JSONP 回调函数窃取用户敏感数据(如<script src="http://api.com/userinfo?callback=stealData">)。- 修复方案 :
- 禁用 JSONP,改用 CORS;
- 校验 Referer 来源;
- 添加 CSRF Token 到请求参数。
675. JSON 注入如何利用?
解答:
场景 :
用户输入未过滤直接拼接为 JSON(如{"name": "user_input"})。利用方式 :
- 破坏结构:输入
"}{key:value}篡改 JSON;- XSS:
{"name":"<script>alert(1)</script>"};
- 修复 :使用
JSON.parse()替代eval();转义特殊字符(",\,<)。
676. Ajax 是否遵循同源策略?
解答:
- 默认遵循 :Ajax 请求受 SOP 限制,禁止跨域(除非目标站点返回
Access-Control-Allow-Origin头)。- 例外 :
- JSONP(非 Ajax);
- CORS 预检请求(OPTIONS 方法)。
677. CSP 是什么?如何设置?
解答:
CSP(内容安全策略) :
通过 HTTP 头限制页面资源加载来源,缓解 XSS/数据注入。设置示例 :
Http
Content-Security-Policy: default-src 'self'; script-src https://trusted.cdn.com; img-src *;
default-src 'self':默认仅加载同源资源;script-src:限定脚本来源。
678. 浏览器安全策略差异(Chrome/Firefox/IE)
解答:
特性 Chrome Firefox IE(≤11) XSS 过滤 X-XSS-Protection(默认启用) 无内置过滤 仅部分版本支持 CSP 支持 Level 3(最严格) Level 2 有限支持 Cookie 策略 SameSite=Lax 默认 需手动配置 不支持 SameSite
679. HTML5 的新安全特性
解答:
- CSP(前述)。
- 沙箱框架 :
<iframe sandbox="allow-scripts">限制子页面权限。- 安全存储 :
Web Crypto API加密数据;Secure/HttpOnlyCookie。- 跨域控制 :
postMessage安全通信;CORS 精细化控制。
680. PHP LFI 漏洞
解答:
原理 :
未过滤用户输入,直接包含本地文件(如include($_GET['file']))。漏洞代码 :
Php
<?php $page = $_GET['page']; include($page . '.php'); ?> // 攻击者传入 ?page=../../etc/passwd%00手工发掘 :
- 测试路径遍历(
?file=../../etc/passwd);- 利用
php://filter/convert.base64-encode/resource=index.php读取源码。无回显遍历 :
- 结合延时(
?file=/dev/random导致加载卡顿)或错误日志注入。
681. PHP 反序列化漏洞
解答:
- 原理 :
unserialize()触发魔术方法(如__destruct(),__wakeup())中的危险操作。- 解决方案 :
- 避免反序列化用户输入;
- 使用
json_decode()替代;- 校验序列化数据签名。
682. PHP Webshell 检测
解答:
- 静态检测 :
- 正则匹配高危函数(
eval(),system());- 熵值分析(加密 Webshell 的高随机性)。
- 动态检测 :
- 监控文件系统变更(如新增
.php文件);- 行为分析(异常进程创建、网络连接)。
683. PHP %00 截断原理
解答:
- 原理 :
早期 PHP 版本(<5.3.4)中,%00(空字符)会终止字符串处理(如include("evil.jpg%00")实际加载evil.jpg)。- 触发条件 :
PHP 配置magic_quotes_gpc=Off且路径长度受限。
684. php.ini 安全设置
解答:
Ini
disable_functions = exec,system,passthru # 禁用高危函数 expose_php = Off # 隐藏 PHP 版本 open_basedir = /var/www/html # 限制文件访问范围 session.cookie_httponly = 1 # 阻止 JS 读取 Cookie cgi.fix_pathinfo = 0 # 避免路径解析漏洞
685. PHP 错误回显关闭方法
解答:
php.ini设置:
Ini
display_errors = Off log_errors = On # 错误记录到日志代码中控制:
Php
error_reporting(0); // 禁用所有错误报告 ini_set('display_errors', 0);
686. Java MVC 结构与数据流向
解答:
- MVC 组件 :
- Model:数据层(DAO/Entity),操作数据库。
- View:视图层(JSP/Thymeleaf),渲染页面。
- Controller:控制层(Spring MVC),处理请求逻辑。
- 数据流向 :
用户请求 → Controller → 调用 Model 读写数据库 → Model 返回数据 → Controller 传递数据到 View → 生成响应。
687. Java 沙箱
解答:
- 原理 :
通过SecurityManager限制代码权限(如文件读写、网络访问)。- 应用场景 :
Applet、插件系统;policy文件定义权限规则。
688. iBatis 参数化查询与 SQL 注入
解答:
- 参数化查询有效性 :
使用#占位符(如SELECT * FROM users WHERE id = #{id})可完全防御 SQL 注入。- 危险方法 :
拼接 SQL 时使用$(如ORDER BY ${column}),攻击者可控制column值导致注入。
689. 两次 Struts2 漏洞原理
解答:
- S2-045 (CVE-2017-5638) :
- 恶意
Content-Type头触发 OGNL 表达式执行(如%{(#_='multipart/form-data').(...恶意代码...)})。- S2-057 (CVE-2018-11776) :
- 未验证的 URL 重定向/转发导致 OGNL 注入(如
http://host/struts2-showcase/${恶意表达式}/action)。
690. OGNL 在 payload 中的作用
解答:
- 核心功能 :
OGNL(Object-Graph Navigation Language)是 Struts2 的表达式语言,用于绑定视图与数据。- 攻击利用 :
漏洞 payload 通过 OGNL 执行任意代码(如(#runtime=#application['get']('org.apache...')).exec('calc')),本质是表达式解析未被沙箱限制。