攻击者可以控制file_get_contents() 文件系统路径参数,从而访问或修改受保护的文件。
细节
当满足两个条件时,就会发生路径操作错误:
1. 攻击者可以指定某些文件系统操作所使用的路径。
2. 攻击者可以通过指定特定的资源来获得特定的权限,这在正常情况下是不可能的。
例如,在特定程序中,攻击者可以获得某些权限来修改指定文件或在攻击者控制的配置环境中运行该程序。 在这种情况下,攻击者可以指定:
通过mysql_query()输入到程序中的值。该值用于通过file_get_contents() 访问文件系统资源。
示例1:以下代码使用HTTP 请求的输入创建文件名。程序员没有考虑到攻击者可以使用以下内容:
“…/…/tomcat/conf/server.xml”导致应用程序删除自己的配置文件。 $r名称=
$_GET[\’报告名称\’];
$rFile=fopen(“/usr/local/apfr/reports/” .rName,“a+”);
删除链接($rFile);
示例2:
以下代码使用配置文件中的输入来确定要打开哪个文件并将其返回给用户。如果程序以足够的权限运行并且恶意用户可以篡改配置文件,则该程序可以读取系统上扩展名为.
以.txt 结尾的文件。
$文件名=$CONFIG_TXT[‘sub’]“.txt”;
h a n d l e=f open (handle=fopen(handle=fopen(文件名, “r”);
a m t=f read ( amt=fread( amt=fread(handle, filesize($filename)));
回声$amt;
建议
防止路径操纵
最好的方法是使用间接方法。也就是说,创建用户必须从中选择的合法值列表。此方法不允许您直接使用用户指定的输入来指定资源名称。
然而,在某些情况下,这种方法可能不可行,因为这样的合法资源名称列表太大并且难以维护。
因此,在这种情况下,程序员经常诉诸实施拒绝列表。在您键入字符之前,拒绝列表会选择性地拒绝或避免潜在危险的字符。然而,这样的列表不太可能完整,并且随着时间的推移会变得过时。更好的方法是
创建可在资源名称中使用的字符列表,并且仅接受仅包含这些已识别字符的输入。
接下来我们将为每个同学划分学习计划!
学习计划
那么,作为初学者,问题又出现了:我应该先学什么,接下来又应该学什么?
既然你诚实地问了,我就告诉你你需要从头开始学习什么。
阶段一:初级网络安全工程师
接下来,安排一个月的基本网络安全计划。完成课程后,基本上可以找到与网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等。其中,如果学好级保证模块,就可以从事级保证工程师的工作。
总体薪资范围6,000-15,000
1.网络安全理论知识(2天)
了解行业背景和前景,决定发展方向。
学习有关网络安全的法律法规。
网络安全运营理念。
等保制度介绍、等保法规、流程、规范。 (很重要)
2.渗透测试基础知识(1周)
渗透测试程序、分类和标准
信息收集技术:主动/被动信息收集、Nmap工具、Google Hacking
漏洞扫描、漏洞利用、原理、使用、工具(MSF)、IDS绕过、防病毒侦察
主机攻防训练:MS17-010、MS08-067、MS10-046、MS12-20等。
3.操作系统基础知识(1周)
Windows系统常用功能及命令
Kali Linux系统常用功能及命令
操作系统安全(系统入侵调查/系统加固基础设施)
4.计算机网络基础(1周)
计算机网络基础、协议和体系结构
网络通信原理、OSI模型、数据传输流程
常用协议分析(HTTP、TCP/IP、ARP等)
网络攻击技术和网络安全防御技术
Web漏洞原理及防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5.数据库基础操作(2天)
数据库基础
SQL语言基础
加强数据库安全
6. 网络渗透(1周)
HTML、CSS 和JavaScript 简介
OWASP前10名
Web漏洞扫描工具
Web入侵工具:Nmap、BurpSuite、SQLMap、其他(Chop Knife、Miss Scan等)
![](https://img-
blog.csdnimg.cn/9342a47116654b6fa263d98ddc1440ee.png#pic_center)
所以到现在为止已经过去了大约一个月的时间。你已经成功成为“脚本小子”了。那么,你还想继续探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
薪资水平:15,000 至30,000 日元
7.脚本编程学习(4周)
在网络安全领域。编程能力是“脚本小子”和真正的网络安全工程师之间的关键区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用的工具不能满足实际需求时,往往需要扩展现有工具或者可能需要创建工具或自动化脚本来满足要求。需要特定的编程技能。在分秒必争的CTF比赛中,需要具备一定的编程能力,才能有效地利用自制的脚本工具来实现各种目标。
对于从零开始的学生,我们建议选择一种脚本语言:Python/PHP/Go/Java,并学习常用库的编程。
设置您的开发环境并选择您的IDE。 PHP 环境推荐Wamp 和XAMPP,IDE 强烈推荐Sublime。
学习Python编程,包括语法、正则、文件、网络、多线程等常用库。推荐《Python核心编程》,不需要全部看完。
使用Python 创建漏洞利用程序,然后创建一个简单的网络爬虫。
学习基本的PHP 语法并创建一个简单的博客系统
熟悉MVC 架构并尝试学习PHP 或Python 框架(可选)。
了解引导布局或CSS。
阶段三:顶级网络安全工程师
如果您有兴趣开始网络安全,请点击此处。 【网络安全主要优势:免费提供入门、进阶分享全套282G学习资源包。 ](https://mp.weixin.qq.com/s/BWb9OzaB-
gVGVpkm161PMw)
![](https://img-
博客.csdnimg.cn/eab3902215ce441db1d0a7c73982913f.png#pic_center)
学习资料分享
当然,只给方案不给学习资料就等于流氓行为。
网络安全工程师的入门熟练学习资料包,是[282G]。点击下面的二维码链接即可获取。
![](https://img-
博客.csdnimg.cn/img_convert/eef665b690d826927e48ff10130cce6f.jpeg)
学习网络安全技术只有三种方式:
第一个是申请网络安全专业,目前称为网络空间安全专业。主要专业课程有:程序设计、计算机组织原理、数据结构、操作系统原理、数据库系统、计算机网络、人工智能、自然语言处理等。社会计算、网络安全法规、网络安全、内容安全、数字取证、机器学习、多媒体技术、信息检索、舆情分析等。
第二种是自学。这意味着在互联网上寻找资源和教程,或者尝试结识并拥抱一些伟大的人。但这种方法非常耗时,而且没有学习计划。长期没有进步就很容易抑郁。
如果您有兴趣开始网络安全,请点击此处。 网络安全的主要优势:我们免费提供完整的入门级和高级共享的282G学习资源包。
第三种方法就是找培训。
接下来,我们将向您展示如何从头开始快速启动网络安全。
进入网络安全,应该先学习编程还是计算机基础?这是一个有争议的问题。有人建议先学习编程,但实际上,这些都是你需要学习的东西。这些在学习网络安全时非常重要。然而,对于没有基础知识或考虑转行的人来说,学习编程和计算机基础知识很困难,而且需要花费太多时间。
第一阶段:基础准备 4周~6周
这一步是任何准备进入安全行业的人必须学习的。俗话说:“地基不固,地动摇”。
第二阶段:web渗透
基础学习周期:1周至2周:
了解基本概念(SQL注入、XSS、上传、CSRF、一句话木马等),为后续的Web渗透测试打下基础。
在几个论坛中检查网络的受欢迎程度,并从案例研究中学习想法。想法很重要,因为每个网站都是不同的。
学会提问的技巧遇到不懂的地方,要好好提问。
入侵环境搭建时间:3周到4周:
了解渗透测试常用工具(AWVS、SQLMAP、NMAP、BURP、Chinese Chopper等)。
下载这些工具的非后门版本并将其安装到您的计算机上。
了解这些工具的使用场景和基本用法建议在Google上搜索。
渗透实战操作 时间:约6周:
网上搜索实际入侵案例,深入了解如何在实战中使用SQL注入、文件上传、漏洞分析等。
搭建自己的漏洞环境进行测试我们推荐DWVA、SQLi-labs、Upload-labs、bWAPP。
了解渗透测试的阶段以及每个阶段必要的应对措施,例如PTES渗透测试实施标准。
深入研究手动SQL 注入,找到绕过waf 的方法,并编写自己的脚本。
学习文件上传原理、如何进行截断、双后缀欺骗(IIS、PHP)、分析漏洞利用(IIS、Nignix、Apache)等。请参阅上传攻击框架。
了解XSS形成原理和类型,使用DWVA进行练习,使用含有XSS漏洞的cms,安装和测试安全狗等。
了解一句话木马并尝试创建一个一句话木马。
了解Windows 和Linux 上的权限提升。 Google 关键字:权限提升
这是入门阶段
第三阶段:进阶
开始工作并找到工作后,您如何继续前进?请参阅下面的照片了解更多详情
给初学者的入门提示:
初学者最好从视频开始。视频比令人困惑的文本更容易理解和遵循。在这里我们为您准备了一系列视频学习资料,从入门到掌握网络安全,全部免费。
如果您有兴趣开始网络安全,请点击此处。 网络安全的主要优势:我们免费提供完整的入门级和高级共享的282G学习资源包。
#以上关于开发安全:file_get_contents相关内容来源网络的信息仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92274.html