开发安全之:System Information Leak: External

Overview

在调用 phpinfo() 过程中,程序可能会显示系统数据或调试信息。由 phpinfo() 揭示的信息有助于攻击者制定攻击计划。

Details

当系统数据或调试信息通过套接字或网络连接使程序流向远程机器时,就会发生外部信息泄露。 **示例 1:**以下代码会将一个异常写入 HTTP 响应:

php 复制代码
<?php 
echo "Server error! Printing the backtrace"; 
debug_print_backtrace(); 
 ?>

依据这一系统配置,该信息可转储到控制台,写入日志文件,或者显示给远程用户。例如,凭借脚本机制,可以轻松将输出信息从"标准错误"或"标准输出"重定向至文件或其他程序。或者,运行程序的系统可能具有将日志发送至远程设备的远程日志记录系统,例如"syslog"服务器。在开发过程中,您无法知道此信息最终可能显示的位置。

在某些情况下,该错误消息会告诉攻击者该系统易遭受的确切攻击类型。例如,数据库错误消息可以揭示应用程序容易受到 SQL Injection 攻击。其他错误消息可以揭示有关该系统的更多间接线索。在Example 1 中,泄露的信息可能会暗示有关操作系统类型、系统上安装了哪些应用程序以及管理员在配置程序时采取了哪些保护措施的信息。

Recommendations

编写错误消息时,始终要牢记安全性。在编码的过程中,尽量避免使用繁复的消息,提倡使用简短的错误消息。限制生成与存储繁复的输出数据可帮助管理员和程序员诊断问题。调试踪迹有时可能出现在不明显的位置(例如,嵌入在错误页 HTML 的注释中)。 即便是并未揭示栈踪迹或数据库转储的简短错误消息,也有可能帮助攻击者发起攻击。例如,"Access Denied"(拒绝访问)消息可以揭示系统中存在一个文件或用户。

相关推荐
山东科恩光电6 小时前
安全地毯压力感应防护在工厂自动化区域的实时监测与停机联动应用
安全
Flynt18 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
国科安芯21 小时前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
国科安芯1 天前
算力上天之后的电与静:星上边缘计算载荷带外管理网络的低功耗调度与辐射容错
网络·人工智能·嵌入式硬件·安全·边缘计算·低轨卫星·商业航天
7177771 天前
2026 供应链安全用什么:SBOM、SLSA 与制品库的落地选型
安全·gitee
QXWZ_IA1 天前
定位数据怎么推给 IoT 平台?消息协议选型与接入准备
网络·人工智能·物联网·安全
不庸.1 天前
WPScan 实战入门:从 Docker 靶场到弱密码爆破
运维·安全·web安全·docker·容器·安全性测试·wpscan
qq_452396231 天前
第十篇:《Kafka 安全加固:SASL、SSL、ACL 与多租户隔离》
安全·kafka·ssl
ppo_wu2 天前
解决夸克网盘自动修改PDF打开方式的方法
经验分享·安全·网络安全
迪康coolmu2 天前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php