// 安全研究
安全研究
233 篇
安全研究浅谈欧拉函数与素数筛法思想
欧拉函数φ(n)作为现代密码学的核心数学工具,在RSA等公钥加密系统中发挥着关键作用。本文系统阐述了欧拉函数的定义、乘积公式及其与素数筛法的思想联系,揭示了其"互质筛"的本质特征。文章详细分析了欧拉函数的高效计算方法,包括质因数分解法和欧拉筛法,并深入探讨其在RSA算法中的具体应用和安全机制。此外,还介绍了Carmichael函数等扩展应用,展现了欧拉函数在素性测试、数字签名等密码学领域的广泛应用价值,凸显了这一数论工具在信息安全领域的重要地位。
阅读 →
安全研究Linux SSH 日志分析详解:从原理到实战
本文深入解析了Linux系统中SSH日志的安全分析方法,从日志存储机制、字段解析到实战检测技术,为运维人员提供了一套完整的SSH安全监控方案。文章详细介绍了SSH日志的存储路径与轮转机制,通过典型日志字段解析帮助识别攻击行为,并提供了暴力破解检测、威胁情报融合等实用技术。同时给出了Fail2ban配置、自动化封禁脚本等防御措施,以及ELK、Grafana等可视化监控方案,帮助构建全面的SSH安全防护体系。
阅读 →
安全研究HTTP、WebSocket、TCP、Kafka等通讯渠道对比详解
从HTTP的简单请求到Kafka的分布式流处理,从MQTT的轻量物联网通信到RTMP的实时流媒体,现代通信渠道为不同场景提供了多样化的解决方案。选择合适的通信方式需综合考虑实时性、可靠性、资源限制和架构需求。通过优化协议配置、增强安全性和引入现代技术,系统可以实现高效、可靠的数据交换,为数字化世界的无缝连接提供坚实基础。
阅读 →
安全研究Linux mount 挂载选项详解
命令用于将文件系统挂载到指定的目录(挂载点),从而使设备或分区的内容可访问。挂载是将存储设备(如硬盘分区、U 盘、光盘、ISO 镜像或网络共享)关联到文件系统树的过程。mount 选项灵活配置可优化性能、安全和兼容性。根据实际需求选择合适选项。开机自动挂载由 /etc/fstab 配置。这些选项适用于大多数文件系统,默认使用。(特定于 ext4、xfs 等)。在 Linux 系统中,不同文件系统有专属选项。
阅读 →
安全研究XPath注入攻击详解:原理、危害与防御
XPath注入是一种针对使用XPath查询XML数据的应用程序的安全攻击技术。攻击者通过在输入中插入特殊XPath语法来修改查询逻辑,可能导致身份验证绕过、数据泄露等安全问题。与SQL注入类似,但影响范围通常限于XML文档。防御措施包括输入验证、参数化查询、最小权限原则和特殊字符转义等。开发人员应避免直接拼接用户输入构造XPath查询,而应采用预编译参数化方式。虽然XPath注入较SQL注入少见,但对基于XML的系统仍构成严重威胁,需纳入整体安全防护策略。
阅读 →
安全研究SSHpass原理详解:自动化运维的敲门砖
SSHpass是一个用于实现SSH非交互式密码验证的Linux命令行工具。它通过伪终端模拟技术自动填充密码,解决了自动化脚本中SSH密码验证的痛点。SSHpass支持多种密码传递方式(命令行参数、环境变量、文件读取),但其明文处理机制存在安全隐患。建议使用时严格控制文件权限,避免记录明文密码,对于长期自动化需求推荐优先使用SSH密钥认证。该工具适合集成到Shell脚本和定时任务中,实现批量远程操作自动化。
阅读 →
安全研究Docker 全场景流量通道配置(Pull/Build/Run):为什么 proxychains 无效?
Docker 采用客户端-守护进程分离的架构,导致这类仅拦截用户终端进程的工具对等操作完全无效。拉取/推送镜像→ 配置 Docker 守护进程的通道环境变量构建镜像→ 基础镜像拉取走守护进程配置,构建指令走运行容器→ 通过-e或为容器注入通道变量注意协议→ Docker 守护进程不支持 Socks5,需转为 HTTP通过以上配置,Docker 在 Pull、Build、Run 三个核心场景下都能正常走通道,彻底解决网络访问问题。
阅读 →
安全研究数据库安全与漏洞挖掘:从注册注销流程到实战思路
通过对数据库注册与注销流程的分析,我们可以看到,数据库操作的不当设计可能导致严重的逻辑漏洞,如账号接管、并发注册、数据清理不彻底等。这些漏洞的挖掘需要结合抓包工具、并发测试和深入的代码逻辑分析。同时,观众的评论也为我们提供了宝贵的反馈,帮助我们进一步完善内容。对于安全从业者来说,漏洞挖掘不仅需要技术积累,还需要创造性思维。无论是资产收集还是漏洞测试,都要注重细节,深入研究原理,站在开发者的视角分析系统流程。
阅读 →
安全研究Linux文件删除原理详解及日志清理技巧
本文深入探讨了Linux系统中文件删除的机制,重点分析了unlink与rm命令的区别及其底层原理。文章首先介绍了unlink作为系统调用和命令的两种形式,以及rm命令的功能特性。随后详细解释了Linux文件系统的结构,包括inode、目录项和硬链接计数等概念,揭示了文件删除的本质是移除目录项并减少硬链接计数。文章还解答了删除文件后空间可能不释放的原因(如被进程占用),并提供了验证方法和解决方案。最后,文章给出了实际操作中的注意事项和数据安全删除的建议,强调对于敏感数据应使用shred等工具进行安全擦除。通过
阅读 →
安全研究Nginx 配置文件提权的实战思考
Nginx配置不当导致的权限提升风险分析 本文深入分析了Nginx配置不当可能引发的四种高危权限提升场景,包括错误的Sudo权限下放、SUID权限滥用、配置文件访问控制缺陷和容器环境默认Root运行。研究揭示了三种核心攻击链:(1)通过动态模块加载实现内存级代码执行;(2)利用任意文件读取获取敏感信息;(3)借助WebDAV协议实现文件写入和持久化控制。文章详细阐述了各攻击链的技术原理、实现步骤及风险特征,并提供了应急排查方法和防御加固方案,强调严格收敛Nginx执行权限、禁用动态模块加载和合理配置文件访问
阅读 →
安全研究页面弹窗≠有效漏洞:揭秘 XSS 中的沙箱与子域名隔离
XSS攻击中,alert(1)虽能验证漏洞存在,但无法揭示执行环境的关键信息。通过对比alert(document.domain)等有效载荷,可精准定位脚本执行域,避免被沙箱隔离误导(如Google Blogger将用户内容限制在子域名)。沙箱化<iframe>或控制台日志测试进一步验证漏洞可利用性。建议结合上下文定位与沙箱逃逸可能性分析,提升漏洞挖掘效率。核心结论:简单弹窗不足为凭,环境信息才是判断漏洞价值的关键。
阅读 →
安全研究从进攻性安全角度简析 Windows PowerShell
PowerShell作为Windows系统的强大脚本工具,已成为攻击者执行恶意操作的主要手段。本文从进攻性安全视角分析四大核心技术:1)语言模式(FullLanguage/ConstrainedLanguage)及其绕过方法;2)执行策略的突破技术(Bypass参数、交互式命令);3)AMSI绕过技术(反射调用、内存补丁);4)内存加载与代码混淆技术。同时提出针对性防御建议:强制ConstrainedLanguage模式、锁定执行策略、启用AMSI日志监控、脚本块日志记录等。
阅读 →
安全研究PrivateTmp:Linux系统中的临时文件隔离机制
PrivateTmp是systemd提供的一种安全机制,通过为每个服务分配私有的/tmp和/var/tmp目录,实现进程间文件隔离。它利用Linux内核的命名空间技术,在服务启动时创建独立的tmpfs挂载点,使得服务无法访问其他进程的临时文件。该功能通过编辑服务单元文件中的PrivateTmp=true启用,能有效防止文件篡改、信息泄露等安全风险,尤其适用于Web服务器、数据库等多服务环境。虽然增强了安全性并自动清理临时文件,但不支持服务间文件共享,且可能增加内存开销。
阅读 →
安全研究深入剖析 CVE-2021-3560 与 CVE-2021-4034:原理、区别与联系
CVE-2021-3560和CVE-2021-4034是2021年曝出的两个高危Linux本地提权漏洞,均涉及Polkit组件。前者通过中断认证请求实现权限绕过,影响Polkit 0.113-0.118版本;后者利用pkexec参数处理缺陷,可追溯到2009年,影响更广泛系统。两个漏洞均能提升至root权限,但利用方式不同:CVE-2021-3560需竞态条件,而CVE-2021-4034只需环境变量。建议升级至Polkit 0.119/0.120版本,或移除pkexec的setuid权限进行防护。
阅读 →
安全研究Linux 进程管理与终止命令详解——kill进程进阶技巧
本文深入解析Linux进程管理核心机制,重点探讨终止命令的工作原理与实用技巧。首先阐明进程生命周期与信号机制(SIGTERM、SIGKILL等)的本质区别,指出优雅终止的重要性。随后系统比较kill、killall、pkill等命令的匹配机制:kill精确针对PID,killall完全匹配进程名,而pkill支持部分匹配。文章还详细介绍ps、lsof、pgrep等定位工具的使用场景,并给出安全终止进程的最佳实践,包括信号选择策略(优先SIGTERM)和避免误杀的方法。
阅读 →
安全研究patchelf:更换ELF文件中的libc版本,解决libc版本不一致问题
本文介绍了如何更换ELF文件的libc版本,使用glibc-all-in-one和patchelf工具完成操作。首先安装工具并下载所需libc版本,通过patchelf修改动态链接器和libc路径,用ldd验证替换结果。关键步骤包括:设置新的链接器路径、替换libc文件,以及可选的一键替换方法。注意事项强调路径准确性、版本兼容性和操作验证,确保修改后的程序能正常运行。该方法适用于调试和实验环境适配需求。
阅读 →
安全研究使用 socat 和 xinetd 将程序绑定到端口运行
socat(Socket CAT)是一个多功能的网络工具,用于在两个数据流之间建立通道。它的核心功能是将数据从一个“地址”传输到另一个“地址”,这里的地址可以是文件、管道、设备、TCP/UDP 套接字等。socat 的灵活性使其成为将程序绑定到端口的理想选择。xinetd(Extended Internet Daemon)是一个超级守护进程,用于管理网络服务。它是传统inetd的增强版,提供了更高的灵活性和安全性。xinetd 可以监听多个端口,根据配置文件启动相应的程序,适合长期运行的网络服务。
阅读 →
安全研究自定义Linux服务器的Banner设置:打造专业与个性化的SSH欢迎信息
本文介绍了Linux系统中Banner的设置方法,包括系统启动Banner、SSH登录前Banner和登录后Banner的配置。系统启动Banner(/etc/issue)显示本地登录前的欢迎信息,可通过脚本动态更新;SSH登录前Banner(/etc/ssh/ssh_banner)用于法律警告或安全提示;登录后Banner(MOTD)支持动态内容,可展示系统状态和个性化信息。文章提供了详细的配置步骤和脚本示例,帮助管理员打造专业且个性化的欢迎界面。
阅读 →
安全研究用Python在Windows和Linux上终止进程的简易脚本
本文介绍了两种用Python终止系统进程的跨平台方案,通过psutil库实现高效管理。Windows版本使用taskkill强制终止进程并自动处理.exe后缀,Linux版本通过SIGTERM信号优雅关闭。两种方案均支持模糊匹配进程名,包含错误处理机制,并提示操作结果。使用前需安装psutil库,建议管理员权限运行。脚本可扩展为支持正则匹配、批量操作等功能,是替代传统任务管理器的轻量化工具,适合开发者和运维人员快速处理进程问题。
阅读 →
安全研究eBPF 技术详解及其在网络安全领域的应用与挑战
eBPF(extended Berkeley Packet Filter)是 Linux 内核中的革命性技术,允许安全高效地运行自定义程序,无需修改内核代码或加载模块。其扩展了内核可编程性,广泛应用于可观测性、网络和安全领域。本文探讨 eBPF 的技术原理、架构及其在网络安全中的应用,包括入侵检测、DDoS防御、恶意软件分析和威胁狩猎。此外,分析了 eBPF 的安全挑战与未来发展趋势。 关键词:eBPF、Linux 内核、网络安全、入侵检测、DDoS防御
阅读 →
安全研究Yakit 热加载入门学习指南
Yakit热加载是yaklang平台的一项动态加载功能,允许在运行时实时执行Yak脚本而无需重启应用,特别适用于安全测试场景。其核心架构包括HotPatch处理器、MixPluginCaller等组件,通过代码编译、环境创建和函数映射实现动态扩展。在MITM代理中,热加载用于请求/响应劫持;在模糊测试中支持FuzzTag生成动态payload。系统提供模板管理和多种配置选项,并建议开发者注意错误处理、性能优化和状态管理。典型应用包括修改HTTP头、检测错误响应以及生成SQL注入/XSS测试payload。该
阅读 →
安全研究yaklang 中的各种 fuzztag 标签及其用法
yaklang提供了全面的fuzztag标签系统,支持多种测试数据生成场景。主要包括数字生成类(int/port)、字符生成类(char)、编码解码类(Base64/URL/HTML/Unicode)、压缩类(Gzip/Zlib)、字符串处理(大小写/截取/重复)、数组操作、模糊测试专用(用户名/密码)、文件操作、插件调用和安全测试载荷(Java序列化/JsonPath)等标签类型。这些标签支持组合使用,提供丰富的参数配置和简写别名,能够满足各类安全测试需求,有效提升测试覆盖率和效率。
阅读 →
安全研究命令行中的“隐形符号”:从 - 标准输入到 -- 选项终止符
本文介绍了 Linux 命令行中两个重要但容易被忽视的特殊符号 - 和 -- 的用法与区别。- 用作标准输入/输出的占位符,表示数据流而非文件,常见于管道操作和流式处理;-- 作为选项终止符,确保后续参数不被解析为选项,常用于处理特殊文件名。文章通过典型场景、变体分析和组合应用,展示了这两个符号在命令衔接、参数边界保护等方面的实用价值。理解这些约定符号有助于编写更安全高效的命令行操作和脚本,体现了 Unix 简单通用的设计哲学。
阅读 →
安全研究探索NoSQL注入的奥秘:如何消除MongoDB查询中的前置与后置条件
在JSON中,键名应唯一。如果一个文档包含重复的键,不同的解析器可能采用不同的处理方式,而许多解析器遵循“最后值胜出”原则,即最后一个同名键的值生效。在遵循此规则的解析器中,id的值为100。MongoDB也遵循这一行为。基于此特性,攻击者可以在注入时重定义字段,覆盖前置条件。如果注入到username字段,简单的操作符注入如这种情况下注入无效。为摆脱字符串限制,攻击者可以注入由于“最后值胜出”,第二个username覆盖了第一个,使查询返回所有username不为空的文档。
阅读 →