1.网络安全之文件包含漏洞总结
2.网络安全篇php伪协议-漏洞及其原理
3.文件上传和文件包含的文件伪协伪协各种姿势
4.文件包含漏洞相关知识总结
5.phar反序列化学习
网络安全之文件包含漏洞总结
文件包含漏洞属于代码注入漏洞,引入文件包含函数以减少重复代码编写,包含通过函数将文件包含进来。议源议使用简单来说,码文木马文件内部包含其他文件或多个文件。包句话 然而,含中virtualbox源码详解除了常规代码文件,写入任何后缀文件在被包含时都可能被当作代码执行。文件伪协伪协因此,包含若允许用户控制包含文件路径,议源议使用则很可能包含非预期文件,码文木马从而执行非预期代码,包句话导致安全问题。含中 几乎所有脚本语言提供文件包含功能,写入但在PHP Web Application中居多,文件伪协伪协而在JSP、ASP中较少,问题在于语言设计的局限性。后续讨论以PHP为主。 文件包含漏洞分为本地文件包含和远程文件包含。 本地文件包含 (LFI):包含文件内容遵守PHP语法规范,任何扩展名都可被解析。 远程文件包含 (RFI):需要开启PHP远程包含功能(php.ini中设置),允许通过URL加载远程文件。无论扩展名如何,只要符合PHP语法规范,解析器都会执行。筹码线反红指标公式源码 PHP文件包含函数包括include()、include_once()、require()和require_once()。这些函数都能进行文件包含,但作用各异。 漏洞示例代码展示如何快速启动解析php的web server,测试LFI和RFI。 利用任意文件读取:如果内容不符合PHP语法,直接返回文件内容,相当于读取任意文件。 使用PHP封装协议:PHP内建URL风格封装协议,如php://filter,用于读取文件源码。 RFI getshell:开启远程包含功能后,直接加载远程文件即可实现getshell。 LFI+文件上传 getshell:利用LFI漏洞,通过上传包含恶意代码的任意文件,利用文件路径实现getshell。 LFI+日志文件 getshell:将恶意代码写入日志文件,通过文件包含漏洞执行。 LFI+/proc/self/environgetshell:利用CGI方式运行时的请求头信息实现getshell。 LFI+phpinfo getshell:结合LFI和phpinfo()页面,通过POST上传文件实现getshell。 LFI+session getshell:利用控制session内容实现getshell,通过检查session保存路径进行。 绕过指定前缀:使用../回溯符跳转到其他目录。电竞赏金赛网站源码链接 指定后缀:利用伪协议zip://和phar://绕过限制,或在php版本限制下使用长度截断。 修复建议:过滤特殊字符、关闭远程包含功能、使用open_basedir配置限制文件访问范围、设置文件白名单。 网络安全学习路线图:初期入门,掌握基本技术后,逐渐深入,包括视频学习、白帽子书籍、安全大厂内部资源、面试题、CTF题目、工具包、应急响应等。 网络安全学习资源:免费领取全套G学习资料包,涵盖入门到进阶的所有内容,详情请访问官方链接。网络安全篇php伪协议-漏洞及其原理
支持协议的函数,如 include()、include_once()、require() 和 require_once(),用于包含文件内容并执行其中的PHP代码。例如,include(文件名);会执行文件名下的微信小程序投稿源码PHP代码,其余部分直接输出。
文件操作类函数包括fopen()、file()、readfile()和file_get_contents()等,用于读取、写入或操作文件内容。例如file_get_contents(文件名);直接读取文件内容。
伪协议file://允许访问本地文件系统,不受allow_url_fopen和allow_url_include的影响。使用方法包括/path/to/file.ext、relative/path/to/file.ext、fileInCwd.ext、C:/path/to/winfile.ext等。
访问/file.php?var1=val1&var2=val2和user:password@example.com。
ftp://伪协议用于访问ftp(s)URLs,同样需要开启allow_url_fopen和allow_url_include。
php://伪协议提供访问各种输出流,如php://input,用于读取原始数据流。利用php://filter,可以实现数据筛选和过滤。本地文件无论allow_url_fopen和allow_url_include状态如何,都可以使用此功能。例如,php://filter/read=convert.base-encode/resource=c:/windows/win.ini。
数据流封装器data://允许直接插入数据,婚礼请柬微信小程序源码格式为data://text/plain或data://text/plain;base,PD9waHAgcGhwaW5mbygpPz4=。前者直接执行PHP代码,后者将base编码内容解码后执行,以绕过过滤。
压缩伪协议,如compress.zlib://、compress.bzip2://和zip://,用于压缩或解压文件,格式包括compress.zlib://file.gz、compress.bzip2://file.bz2和zip://archive.zip#dir/file.txt。
WRITE-BUG数字空间是一款面向个人和小团队的知识管理工具,提供多人即时聊天、云文档、代码托管、云批注笔记等服务,功能丰富。它适用于学生和大学生社交交流,提供代码托管无需**,内置代码质量评估,支持Git版本管理。
WRITE-BUG数字空间支持自定义组合和选择,是程序员必备工具,提供全新的创作和管理体验。您可以加入学习圈直接参与讨论和交流。此平台颜值高,操作简单,是新时代个人和团队知识管理的理想选择。
文件上传和文件包含的各种姿势
这篇文章探讨了文件上传和文件包含的多种情况和安全问题,特别关注在前端和后端开发中可能遇到的漏洞。
前端处理时,JavaScript防护至关重要,可以通过抓包手段和禁用插件来防止恶意文件上传。例如,IIS服务器的6.0版本中,解析漏洞可能导致.asp文件的扩展名解析问题,而Apache的2.4.0-2.4.版本存在换行解析漏洞,需要特别注意。
在后端,文件包含操作也需谨慎。本地文件包含可能造成安全风险,而远程文件包含依赖于allow_url_fopen和allow_url_include的设置。PHP的伪协议如file://和php://input/filter允许访问特定类型的资源,但需确保正确配置以防止恶意利用。此外,zip://和data://协议可访问压缩文件,但同样可能被恶意利用。
防止文件包含被绕过是防御的关键,如通过中间件日志监控,尤其是处理可能的木马插入和ssh登录日志。将敏感信息的session保存在非常规路径,如在定时重置的日志文件中,可以降低被恶意访问的风险。
文件包含漏洞相关知识总结
文件包含漏洞概念:通过PHP函数引入文件时,若文件名未经过合理验证,可能导致操作未预期的文件,甚至发生意外文件泄漏或恶意代码注入。
文件包含漏洞的环境要求:允许远程服务器或网站检索数据的配置allow_url_fopen必须为On状态,而allow_url_include则在php5.2之后默认为Off状态。
常见文件包含函数:include与require的区别在于,include在文件不存在时会产生警告但脚本继续执行,而require则会引发致命错误并停止脚本。
文件包含漏洞的利用方法:通过php://input或data://伪协议注入代码,以及利用file://、zip://、compress.zlib://、bzip2://、phar://和php://filter获取或执行文件内容。这些方法可以结合文件上传漏洞进行利用。
文件包含漏洞的截断:利用%截断或路径长度截断,前者针对php版本低于5.3.4且magic_quotes_gpc为off状态的场景,后者则适用于php版本低于5.2.8的情况。
包含Apache日志文件:通过构造请求,将PHP代码插入到日志文件中,借助文件包含漏洞执行日志中的PHP代码,获取用户访问记录信息。
包含SSH log日志:通过ssh连接并输入密码后,结合文件包含漏洞,可以访问并利用SSH日志文件。
包含SESSION:通过获取Session内的可控变量,如phpsessid,利用可读写的Session文件,实现对session内容的访问。
包含environ:在php以cgi方式运行时,environ会保留UA头信息。通过插入PHP代码到environ文件中,再利用文件包含漏洞执行代码。
包含/proc/self/fd/[environreferer]:利用burpsuite的测试器模块fuzz方法,挖掘并利用/proc/self/fd目录下的文件结构,包含SSH log日志。
包含临时文件:通过上传文件创建的临时文件,利用文件包含漏洞在文件被删除前访问。可以通过暴力猜测文件名或利用PHPinfo页面获取上传文件的存储路径和临时文件名。
文件包含漏洞的绕过方法:特定前缀绕过,如目录遍历和编码绕过,以及指定后缀绕过,利用url编码、二次编码等技巧实现绕过。
phar反序列化学习
了解phar反序列化,首先需明确,phar是一种类似于jar的打包文件,但实质上是一种压缩文件,自php5.3版本起默认启用。通过使用phar伪协议读取文件,系统将自动执行一次反序列化操作。此过程涉及四大主要组成部分:标识符、文件内容、压缩文件信息以及签名格式。
标识符是phar文件的起点,其结构需以`**__HALT_COMPILER();?>`结尾,内容则无限制,如`xxx\`。phar文件内部包含被压缩文件的信息,其中`meta-data`部分以序列化形式存储,此点是漏洞执行的关键。
在未有特别要求的情况下,文件内容自由编写,最终目的仅为通过序列化生成所需内容。在phar反序列化中,一些特定函数受到影响,通过伪协议解析phar文件时触发反序列化,进而执行恶意代码。
构造实验步骤中,生成vfree.phar文件,并利用受影响函数包含phar文件,实现远程代码执行。vfree.txt虽功能不明,但其作用在于输出特定信息,作为执行过程的验证点。
实战案例演示了如何利用phar反序列化漏洞,如在SWPUCTF的SimplePHP题目中,通过读取文件内容,发现并利用了任意文件读取漏洞。在后续审计中,通过包含多个文件,最终定位至关键文件并分析其内容和功能。
深入分析,发现关键类如Cer、Show和Test等,其中Test类的__get魔术方法在特定条件下触发,通过构造特定参数,实现漏洞利用。在编写exp文件时,需注意特定参数的使用,如`source`,以确保正确触发魔术方法。总结,phar反序列化漏洞利用涉及构建特定链路,最终通过调用函数实现文件读取,展示了从漏洞识别到利用的完整过程。
2024-12-22 23:291067人浏览
2024-12-22 23:122417人浏览
2024-12-22 22:24951人浏览
2024-12-22 22:032539人浏览
2024-12-22 22:02305人浏览
2024-12-22 21:46345人浏览
中国消费者报福州讯(记者张文章)1月29日下午,福建省市场监管局召开全省市场监管系统新型冠状病毒感染肺炎疫情防控工作视频会议,省局党组书记严效东、局长黄培惠出席会议并讲话,要求各地市场监管部门进一步抓
1.å¦ä½å®è£ Wordpress2.2023开源免费的WordPress个人博客主题推荐3.通过源码包搭建的wordperess的数据怎么迁移到docker部署的wordpress?å¦
1.我想做一个美女的网站,不知道需要多少虚拟主机用什么样的程序大家推荐一下吧我想做一个美女的网站,不知道需要多少虚拟主机用什么样的程序大家推荐一下吧 站 用本体的话 空间就占用大了 刚起步 可