zoukankan      html  css  js  c++  java
  • CTFHUB-技能树-Web-RCE(上)

    这一篇关于php伪协议

    eval执行

    eval函数应该都知道,就是把字符串按照 PHP 代码来计算

    这里源代码没有进行任何过滤

    所以直接可以传参

    ①?cmd=system('ls /');

    ②?cmd=system('cat /flag_25186');

    一个好的web手一定不会忘掉;号

    文件包含

    题目是这样的

    它里面已经有一个shell.txt,内容是一句话木马,那岂不是可以为所欲为了

    构造一下

    然后cat一下就出来了

    php://input

    这是一个伪协议,主要用来接受post数据,将post请求中的数据作为php代码执行

    所以post请求里要写上php代码,格式如下

    然后cat一下就好啦

    读取源代码

    这里介绍另一个php伪协议,php://filter协议,主要用来查看源码(或者已知文件名的文件)

    一般格式:参数=php://filter/(read.)convert.base64-encode/resource=include.php(以base64加密方式读取)

    也可以直接读取:php://filter/resource=xxx

    本题就是直接读取,因为提示了flag的位置

    远程包含

    含义:包含攻击者指定url文件

    这题好像没有考到,还是用的伪协议

    补充:php的伪协议还有

    一:php://file文件,用于当../(相对路径)被屏蔽时,格式:参数=file:///C:windows/win.ini
    二:zip://、bzip2://、zlib://协议:可以访问压缩文件中的子文件,格式:zip://压缩文件绝对路径#(#可以写成其url形式:%23)压缩文件内的子文件名
    三:phar://协议:类似zip协议,但是可以使用相对路径,格式:phar://压缩文件绝对或相对路径/压缩文件内的子文件名
    四:data://协议:将原本的include的文件流重定向到了用户可控制的输入流中,格式:参数=data://text/plain,<?php phpinfo();也可以写成base64形式:data://text/plain;base64,PD9waHAgcGhwaW5mbygpOyA==

  • 相关阅读:
    Chrome在解析html时的一个bug
    WebGL笔记(二):顶点着色
    跟据一段代码浅谈Javascript闭包
    [标量函数] Html标记过滤 HtmlFilter
    A new weblog from Contribute CS4
    WebGL笔记(一):起步
    MSSQL查询连接数
    DDD中的分层
    非root用户使用docker方法
    七牛跨服务器上传文件带参数
  • 原文地址:https://www.cnblogs.com/Web-Fresher/p/13723337.html
Copyright © 2011-2022 走看看