开发安全之:Path Manipulation

这篇具有很好参考价值的文章主要介绍了开发安全之:Path Manipulation。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Overview

攻击者可以控制 file_get_contents() 文件系统路径参数,借此访问或修改原本受保护的文件。

Details

当满足以下两个条件时,就会产生 path manipulation 错误:

1.攻击者能够指定某一文件系统操作中所使用的路径。

2. 攻击者可以通过指定特定资源来获取某种权限,而这种权限在一般情况下是不可能获得的。 例如,在某一程序中,攻击者可以获得特定的权限,以重写指定的文件或是在其控制的配置环境下运行程序。 在这种情况下,攻击者可以指定通过  mysql_query() 进入程序的值,这一数值用于通过  file_get_contents() 访问文件系统资源。

例 1: 下面的代码使用来自于 HTTP 请求的输入来创建一个文件名。程序员没有考虑到攻击者可能使用像 "../../tomcat/conf/server.xml" 一样的文件名,从而导致应用程序删除它自己的配置文件。 $rName = $_GET['reportName'];

$rFile = fopen("/usr/local/apfr/reports/" . rName,"a+");

unlink($rFile);

示例 2:以下代码使用来自于配置文件的输入来决定打开哪个文件,并返回给用户。如果程序以足够的权限运行,且恶意用户能够篡改配置文件,那么他们可以通过程序读取系统中以扩展名 .txt 结尾的任何文件。

$filename = $CONFIG_TXT['sub'] . ".txt";

$handle = fopen($filename,"r");

$amt = fread($handle, filesize($filename));

echo $amt; ...

Recommendations

防止 Path Manipulation 的最佳方法是采用一些间接手段:创建一个必须由用户选择的合法值的列表。通过这种方法,就不能直接使用用户提供的输入来指定资源名称。 但在某些情况下,这种方法并不可行,因为这样一份合法资源名的列表过于庞大,维护难度过大。因此,在这种情况下,程序员通常会采用执行拒绝列表的办法。在输入之前,拒绝列表会有选择地拒绝或避免潜在的危险字符。但是,任何这样一个列表都不可能是完整的,而且将随着时间的推移而过时。更好的方法是创建一个字符列表,允许其中的字符出现在资源名称中,且只接受完全由这些被认可的字符组成的输入。文章来源地址https://www.toymoban.com/news/detail-807995.html

到了这里,关于开发安全之:Path Manipulation的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VIMA: General Robot Manipulation with Multimodal Prompts

    Paper name VIMA: General Robot Manipulation with Multimodal Prompts Paper Reading Note URL: https://arxiv.org/pdf/2210.03094.pdf Project URL: https://vimalabs.github.io/ ICLR review URL: https://openreview.net/forum?id=hzjQWjPC04A ICLR 2023 在投论文,斯坦福和 NVIDIA 的工作。允许多模态的 prompts (比如文字+图片/视频),交织文本和视

    2024年02月12日
    浏览(40)
  • Hive——DML(Data Manipulation Language)数据操作语句用法详解

    Load语句可将文件导入到Hive表中。 说明: local : 表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表 。 overwrite : 表示覆盖表中已有数据,否则表示追加。 partition : 表示上传到指定分区,若目标是分区表,需指定分区 。 本地文件路径: 执行load语句: load da

    2024年04月28日
    浏览(37)
  • 小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核

    小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核 因小程序尚未发布,订单中心不能正常打开查看,请先发布小程序后再提交订单中心PATH申请 初次提交审核小程序 的时候把path设置上,我这

    2024年02月04日
    浏览(49)
  • 【论文笔记】ObjectFormer for Image Manipulation Detection and Localization

    发布于CVPR2022 论文链接:https://openaccess.thecvf.com/content/CVPR2022/papers/Wang_ObjectFormer_for_Image_Manipulation_Detection_and_Localization_CVPR_2022_paper.pdf 在本文中,我们提出了ObjectFormer来检测和定位图像操作。 为了捕捉在RGB域中不再可见的细微操作轨迹,我们提取图像的高频特征,并将其与R

    2024年02月04日
    浏览(65)
  • uniapp开发小程序引入组件报错Component is not found in path

    在使用uniapp开发小程序时,由于分包遇到了一个问题,引入其他分包的组件时报错Component is not found in path  小程序报错  后来发现,引用其他包的资源都会报错,之前只知道分包不能使用主包资源,不知道分包之间的资源也不能共用。将需要的组件复制一份过来就行了。 经验

    2024年02月12日
    浏览(39)
  • Linux:登录报错“authentication token manipulation error”问题分析与解决方案

    在日常的Linux系统使用中,遇到“authentication token manipulation error”这个错误是一个比较常见的问题。这篇文章将为大家深入分析这个问题的原因,并提供详细的解决方案。 在尝试更改Linux系统的用户密码时,可能会遇到“authentication token manipulation error”的错误提示。这通常发

    2024年04月09日
    浏览(57)
  • 【大数据之Hive】十、Hive之DML(Data Manipulation Language)数据操作语言

    将文件导入Hive表中。 语法: 说明: (1)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到HIve表。 (2)overwrite:表示覆盖表中已有数据,否则表示追加。 (3)partition:表示上传到指定分区,若目标是分区表则需要指定分区。 如: 语法: 说明: (

    2024年02月09日
    浏览(57)
  • (WWW2023)论文阅读-Detecting Social Media Manipulation in Low-ResourceLanguages

    论文链接:https://arxiv.org/pdf/2011.05367.pdf         社交媒体被故意用于恶意目的,包括政治操纵和虚假信息。大多数研究都集中在高资源语言上。然而,恶意行为者会跨国家/地区和语言共享内容,包括资源匮乏的语言。         在这里,我们调查是否以及在何种程度上

    2024年02月12日
    浏览(35)
  • 【论文笔记】Guided Skill Learning and Abstraction for Long-Horizon Manipulation

    更多笔记(在耕):这里 这篇文章在 RAL 期刊录用了。可以上 IEEE Xplore 查看更完整的内容! 研究背景? To assist with everyday human activities, robots must solve complex long-horizon tasks and generalize to new settings. 为了协助日常人类活动,机器人必须解决复杂的长期任务并推广到新环境。 Rec

    2024年02月15日
    浏览(44)
  • 【EAI 018】VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models

    论文标题:VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models 论文作者:Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li, Jiajun Wu, Li Fei-Fei 作者单位:Stanford University, University of Illinois Urbana-Champaign 论文原文:https://arxiv.org/abs/2307.05973 论文出处:CoRL 2023 (Oral) 论文被引:64(

    2024年02月22日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包