在php传参过程中,如果服务器运行的Linux环境,可以加入命令的执行,比如参数名是a,命令可以是:a=ls,通过用;,&&,|| 来分割,还可以同时执行多个命令。在Windows环境下dir等价于ls.

cat是读文件命令,如果被过滤可以用tac来读。

通配符:* 和?

如我们需要找寻flag,就可以用 cat f* 来读取所有f开头的文件。

如果读文件命令都被过滤了,那就要构造命令来读取文件:

在shell中,反引号表示执行的意思,那么 ls /bin 就等价于 ls ' echo /bin',这样就可以构造最终版本:'echo dGfjCg==|base64 -d ' 'ench ZmxhZy5waHAK|base64 -d' 也等价于 ls /bin,也就是把ls 和/bin 先用base64编码,然后运行解码命令就可以实现同样的效果,这样就饶过了过滤,其他命令也是如此操作。

变量拼接过滤:

a=c;b=at;c=fl;d=ag;echo $a$b$c$d 那就等价于cat flag

空格过滤:用<>,${IFS},$IFS$9,代替空格,也可以用控制字符代替空格:%09 ,%0b , %0c

PHP代码学习的更多相关文章

  1. u-boot代码学习内容

    前言  u-boot代码庞大,不可能全部细读,只能有选择的读部分代码.在读代码之前,根据韦东山教材,关于代码学习内容和深度做以下预先划定. 一.Makefile.mkconfig.config.mk等 ...

  2. Objective-C代码学习大纲(3)

    Objective-C代码学习大纲(3) 2011-05-11 14:06 佚名 otierney 字号:T | T 本文为台湾出版的<Objective-C学习大纲>的翻译文档,系统介绍 ...

  3. ORB-SLAM2 论文&代码学习 ——Tracking 线程

    本文要点: ORB-SLAM2 Tracking 线程 论文内容介绍 ORB-SLAM2 Tracking 线程 代码结构介绍 写在前面 上一篇文章中我们已经对 ORB-SLAM2 系统有了一个概览性 ...

  4. ORB-SLAM2 论文&代码学习 —— 单目初始化

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12358458.html 本文要点: ORB-SLAM2 单目初始化 ...

  5. ORB-SLAM2 论文&代码学习 —— LocalMapping 线程

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12360913.html 本文要点: ORB-SLAM2 Local ...

  6. Learning Memory-guided Normality代码学习笔记

    Learning Memory-guided Normality代码学习笔记 记忆模块核心 Memory部分的核心在于以下定义Memory类的部分. class Memory(nn.Module): ...

  7. 3.1.5 LTP(Linux Test Project)学习(五)-LTP代码学习

    3.1.5 LTP(Linux Test Project)学习(五)-LTP代码学习 Hello小崔 ​ 华为技术有限公司 Linux内核开发 2 人赞同了该文章 LTP代码学习方法主要介绍两个步骤, ...

  8. Apollo代码学习(七)—MPC与LQR比较

    前言 Apollo中用到了PID.MPC和LQR三种控制器,其中,MPC和LQR控制器在状态方程的形式.状态变量的形式.目标函数的形式等有诸多相似之处,因此结合自己目前了解到的信息,将两者进行一定的比 ...

  9. S32DS中链接文件及启动代码学习

    S32DS中链接文件及启动代码学习 一.链接文件 <Linker Files>文件夹中有linker_flash.ld文件和linker_ram.ld文件. Linker File称为链接 ...

  10. Dagger2 生成代码学习

    接上一篇文章介绍了Dagger2的初步使用,相信刚接触的人会觉得很奇怪,怎么会有很多自己没有定义的代码出现,为什么Component的创建方式是那样的.为了搞清楚这些东西,我们需要查看一下Dagger ...

随机推荐

  1. selenium 进入页面提示 503 Service Temporarily Unavailable

    进入三级页面提示503 Service Temporarily Unavailable,如果手动刷新页面重新加载成功 网上看都是如何配置及原因的,没告诉如何解决 于是我想,如果是这样的话,执行刷新操作 ...

  2. Selenium KPI接口 窗口句柄

    应用场景: 当单击主页上的链接时,将打开一个新窗口.在新打开的窗口中,无法执行任何操作,因为焦点仍然在主页Web驱动程序上. 这时候,我们需要把焦点定位到新打开的页面上. 先获取所有窗口a=drive ...

  3. pandas 删除指定条件的行

    inplace=True:不创建新的对象,直接对原始对象进行修改: inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果. 删除工作日餐补为0的记录 row_index=df[ ...

  4. 【记录】C++STL容器/特有类 使用积累

    STL容器共有成员函数 size() max_size() empty() begin() end() clear() [链接]csdn_STL中所有容器共有成员函数 双端队列deque 1.创建与初 ...

  5. 查看、安装python指定版本的包、安装卸载第三方模块

    python安装/卸载第三方包 (1)安装第三方包: 安装指令pip install xxx (xxx,需安装的包名) 安装特定版本的package:通过使用==, >=, <=, > ...

  6. gitlab启动与关闭

    gitlab安装完毕后,默认开机启动,开启关闭 sudo gitlab-ctl start/stop

  7. OSPF各类LSA

    一.域内路由 路由器将接口宣告进OSPF进程后,形成的链路状态放入1类LSA中,用于描述路由器自身的直连状态. 1. 区域0为骨干区域,非0为非骨干区域. 2. 骨干区域有且只能存在一个. 3. 非骨 ...

  8. Oracle锁表及解锁方法

    1. 首先查看数据库中哪些表被锁了,找到session ID: 使用sql: select b.owner,b.object_name,a.session_id,a.locked_modefrom v ...

  9. 实现领域驱动设计 - 使用ABP框架 - 更新操作实体

    用例演示 - 更新 / 操作实体 一旦一个实体被创建,它将被用例更新/操作,直到它从系统中删除.可以有不同类型的用例直接或间接地更改实体 在本节中,我们将讨论更改 Issue 的多个属性的典型更新操作 ...

  10. HTML中,table怎样使用

    <table> 标签用于在HTML中创建表格.表格是一种以行和列的形式组织和显示数据的结构化方式.<table> 标签通常与其他相关标签(如 <tr>.<th ...