当前位置: 首页 > news >正文

文件包含进阶玩法以及绕过姿态

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

 本文整理文件包含漏洞的进阶玩法与绕过姿态

不涉及基础原理了

特殊玩法汇总

本地包含

文件包含上传文件

原理:

php的文件包含有着把其他文件类型当做php代码执行的功效,文件上传一般会限制后缀,但是文件包含可以把他当做php源码执行,所以可以写好源码改成jpg,txt等格式上传后包含他们即可。

包含日志文件

原理:

利用日志的记录特性,我们传递一个请求,然后这个请求中放置恶意代码。

然后利用php可以把其他文件当做php源码来执行的特性,让他执行日志文件中的恶意代码。

注意点:

根据日志类型选择数据包的注入点。

比如nginx会记录ip,URL,参数,以及user-agent

URL以及参数涉及到URL编码问题可能不成功,所以在user-agent中注入恶意代码是个不错的选择

常用路径文档:

常用日志及配置文件路径

包含session文件

CTF | 天下武功唯快不破之条件竞争漏洞 - FreeBuf网络安全行业门户

session利用的小思路 - 先知社区

文件包含配合PHP伪协议

原理:文件包含配合PHP支持的伪协议,能够访问,写入,执行一些资源。

具体方法操作:

php常用伪协议整理-CSDN博客

 远程包含文件

原理:如果对方未禁止远程包含,我们就可以自己服务器上放置恶意代码。然后远程包含即可。

allow_url_include = on必须为on(开启)

纯文件包含进行信息收集

windows敏感文件绝对路径

c:\boot.ini                     #查看系统版本
c:\windows\system32\inetsrv\MetaBase.xml     #IIS配置文件
c:\windows\repair\sam         #存储Windows的密码
c:\programFiles\mysql\my.ini     #mysql配置文件,里面可能有密码
c:\programFiles\mysql\data\mysql\user.MYD     #mysql root密码
c:\windows\php.ini             #php配置文件

linux敏感文件绝对路径

/etc/passwd                     #用户密码
/usr/local/app/apache2/conf/httpd.conf         #apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf   #虚拟网站设置
/usr/local/app/php5/lib/php.ini       #php相关设置        
/etc/httpd/conf/httpd.conf           #apache配置文件        
/etc/my.cnf                       #mysql配置文件
/etc/sysconfig/iptables             #查看防火墙策略

绕过姿态

本地包含

大小写混写绕关键字

经典的绕过。

匹配php就换PhP

%00截断绕后缀拼接

原理:低版本PHP会识别%00为末尾,所以后面内容的会失效。

作用情况:

包含内容是拼接的,会在末尾添加后缀让我们找不到包含文件,可以%00截断。

超长路径绕后缀拼接

原理:

Windows目录最大长度256字节,超出的部分会被丢弃;
Linux目录最大长度4096字节,超出的部分会被丢弃。

所以遇到后缀拼接,可以用/././././让后缀失效。

远程包含绕过

绕后缀拼接

用下列字符绕,有时需要URL编码

http://www.lryc.cn/news/502409.html

相关文章:

  • Markdown编辑器工具--Typora
  • PyTorch 的 torch.unbind 函数详解与进阶应用:中英双语
  • 四十六:如何使用Wireshark解密TLS/SSL报文?
  • 【人工智能】OpenAI O1模型:超越GPT-4的长上下文RAG性能详解与优化指南
  • Ubuntu22.04搭建FTP服务器保姆级教程
  • 操作系统(4)操作系统的结构
  • Python数据分析(OpenCV视频处理)
  • 跨域 Cookie 共享
  • 【视频异常检测】Real-Time Anomaly Detection and Localization in Crowded Scenes 论文阅读
  • 设计模式12:抽象工厂模式
  • 论文学习——多种变化环境下基于多种群进化的动态约束多目标优化
  • Jenkins参数化构建详解(This project is parameterized)
  • Cerebras 推出 CePO,填补推理与规划能力的关键空白
  • 广东省食品销售中高级题库及答案
  • JAVA基础-深入理解Java内存模型(一)-- 重排序与先行发生原则(happens-before)
  • 【Lambda】java之lambda表达式stream流式编程操作集合
  • 家具购物小程序+php
  • 【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码
  • VB.net进行CAD二次开发(二)与cad交互
  • 【NLP 11、Adam优化器】
  • 51单片机应用开发(进阶)---串口接收字符命令
  • redis 怎么样删除list
  • 【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】
  • npm或yarn包配置地址源
  • STUN服务器用于内网NAT的方案
  • Linux 简单命令总结
  • Vue.js组件开发:提升你的前端工程能力
  • 使用 Pandas 读取 JSON 数据的五种常见结构解析
  • C++鼠标轨迹算法(鼠标轨迹模拟真人移动)
  • Go mysql驱动源码分析