Vi非正常退出导致敏感信息泄露

本文讨论了服务器处理.swp文件可能带来的安全漏洞。当服务器不解析.swp文件且对未知格式直接输出时,可能会暴露敏感信息。文章记录了一次尝试利用此漏洞的经历,并计划后续改进相关工具。
  http://bbs.xxx.com/.config.inc.php.swp

刚看到 toby57 在博客提到,之前有留意过。这个漏洞的利用前提是。服务器不解析.swp 。且未知格式会直接输出,才会这样,最近有看到过几个这种网站。不过基本失败。。

mark下。回头改进工具 














本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/520130,如需转载请自行联系原作者

### 关于JSON敏感信息泄露的问题及解决方法 #### JSON敏感信息泄露的风险分析 在Web应用程序中,JSON(JavaScript Object Notation)常用于前后端的数据交互。由于其简洁性和易读性,开发者有时会在JSON响应中无意间暴露过多的信息,这些信息可能包括但不限于用户的个人信息、会话令牌、API密钥等。 当发生异常时,如果不恰当地捕获和处理异常,可能会导致未经过滤的堆栈跟踪或其他内部状态被发送给客户端[^1]。这种情况下,攻击者可以利用错误消息中的细节来推测系统的结构和技术实现,进而策划更深入的攻击。 #### 解决方案概述 为了防止因不当的错误处理而导致敏感信息泄露,在设计阶段就应该遵循良好的实践原则: - **自定义全局异常处理器**:创建统一的异常捕捉机制,确保所有的异常都被拦截,并只向外部用户提供友好的提示而非详细的错误日志。 ```java @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<String> handleException() { return new ResponseEntity<>("An unexpected error occurred", HttpStatus.INTERNAL_SERVER_ERROR); } } ``` - **过滤返回给前端的内容**:无论是正常业务逻辑还是异常情况下的反馈,都应当严格控制输出到HTTP响应体内的数据范围,去除不必要的字段或属性。 - **启用HTTPS协议**:采用SSL/TLS加密通信渠道,保护传输过程中的隐私资料免受中间人窃听威胁[^4]。 - **定期审查代码库**:查找潜在的安全隐患点,特别是那些涉及个人身份验证凭证的地方;同时也要关注第三方依赖项是否存在已知漏洞。 - **实施最小权限原则**:仅授予必要的访问权给各个组件和服务接口,减少一旦某个部分失陷所能造成的损害程度。 - **对敏感数据进行加密脱敏**:即使是在内部网络环境下传递重要参数之前也应该先对其进行转换操作,比如哈希化或者AES算法加密后再存入数据库表单里保存起来[^3]。 #### 实际案例说明 假设有一个RESTful API服务负责提供用户账户详情,但不幸的是它直接把整个对象序列化成了JSON字符串传回去了——这显然不是一个明智的做法! ```json { "id": 1, "username": "admin", "passwordHash": "$2a$10$vI8aWBnW3fID.ZQ4/zo1G.qMjZgRTKowghYEYvaq1PIPSDL/M7wP6", "email": "support@example.com" } ``` 正确的做法应该是构建一个新的DTO (Data Transfer Object),只保留真正需要共享的部分作为最终呈现形式的一部分: ```json { "userId": 1, "userName": "admin", "contactEmail": "support@example.com" } ``` 这样做不仅提高了安全性,还使得API更加清晰直观易于理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值