聪明的phpWEB 未解决

分数: 25 金币: 2
题目作者: midi
一  血: Lazzaro
一血奖励: 3金币
解  决: 3867
提  示:
描  述:
聪明的php
评论
陈江川0118 4年前

还是不太懂为什么?a={paathru('ls')} ,这里为什么要加{}吗,写成?a=passthru('ls')执行不成功

回复 2
qinyuan 3年前

这是模板,变量值要被带入模板渲染加载,要符合模板特定语法,所以要{}

回复 3

ximing 4年前

可以用passthru popen scandir head ,可以参考https://zhuanlan.zhihu.com/p/401583380

回复 0

lengf 4年前

smarty是个模板

回复 0

yswdlll 4年前

先用a={{7*7}},发现有注入,用tplmap跑一下,发现的smarty构架。然后搜了一下smarty的模板,{$smarty.version},发现版本号3.1.有{if php代码}{/if}漏洞。。可以直接执行php代码,最后在linux搜索命令上卡了我很久

回复 1

qingguo515 4年前

哪位大神告诉一下为什么?a={paathru('ls')} ,这里为什么要加{}吗,写成?a=passthru('ls')执行不成功

回复 0
yswdlll 4年前

加个标签哦,{if paathru('ls')}{/if}

回复 0

2817001550 4年前

模板注入我不太熟,但是知道这里可以通过模板注入命令执行就ok了。看到源代码之后发现有一个命令执行函数漏掉了passthru,就用这个函数传入"grep -r fl[a]g{[^_]*} 目录",目录使用 "../../"这样的层层查找,这里需要注意的是利用grep支持正则表达式绕过对flag字符串的过滤 和 过滤回显中的一些干扰项(不用那么费心去找了)。

回复 1

ycfhw1 4年前

more ./*|grep fla 用来匹配当前目录下,文件内容里有fla的,直接输出文件内容

回复 3
rexAn 4年前

我的flag在根目录,?a={{passthru('more ../../../*|grep fla')}}

回复 1

吉警hm 4年前

passthru替代system,more替代cat

回复 2

你把握不住 4年前

先ls / 找出flag的随机文件(a之后的那个文件),然后tac 随机文件

回复 0
souzher 2年前

@烟花不易冷 你ls的是当前的工作目录,你可以查看一下别的目录再找找。

回复 0

今晚打老虎了 3年前

@烟花不易冷 请问解决了吗?我也是这个情况

回复 0

青霞Official 4年前

@mosterh 模版注入

回复 0

mosterh 4年前

@烟花不易冷 {passthru('ls')}请问一下为什么要加那个大括号呢

回复 0

sety 4年前

@烟花不易冷 因为flag的随机文件不在当前目录下

回复 0

烟花不易冷 4年前

求教大佬,为什么我?f={if passthru('ls')}{/if}之后出现的语句是f cache configs index.php libs template.html templates templates_c ,没出现flag的随机文件?

回复 0

yourheika 4年前

根本就写不出来嘛,跟着writeup上面也没用

回复 0
第三方应用 3年前

每个人打开的东西好像是有点区别的,要修改的

回复 0

WriteUp

image
midi

3 金币

评分(13)

解题动态

一只小白鲸 攻破了该题 1天前
hdcc1 攻破了该题 5天前
qq1002517 攻破了该题 6天前
hkfcd 攻破了该题 9天前
shuiniu221 攻破了该题 11天前
xyqsin 攻破了该题 12天前
scv 攻破了该题 12天前
klfx1913 攻破了该题 15天前
Soraha 攻破了该题 16天前
Clinale 攻破了该题 16天前
瓜喵~ 攻破了该题 17天前
是羊羊羊呀 攻破了该题 19天前
seyana 攻破了该题 19天前
22222222221 攻破了该题 20天前
wes 攻破了该题 20天前
李逍遥逛霍格沃茨 攻破了该题 21天前
AzKanna 攻破了该题 24天前
SkyAsh 攻破了该题 29天前
luck1219 攻破了该题 1月前
Niko_83c 攻破了该题 1月前
问题反馈