聪明的phpWEB 未解决

分数: 25 金币: 2
题目作者: midi
一  血: ⎝Lazzaro⎠
一血奖励: 3金币
解  决: 3176
提  示:
描  述:
聪明的php
评论
yswdlll 3年前

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

回复 1

qingguo515 3年前

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

回复 0
yswdlll 3年前

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

回复 0

2817001550 3年前

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

回复 1

ycfhw1 3年前

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

回复 3
rexAn 3年前

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

回复 1

吉警hm 3年前

passthru替代system,more替代cat

回复 2

你把握不住 3年前

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

回复 0
souzher 1年前

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

回复 0

今晚打老虎了 2年前

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

回复 0

青霞Official 3年前

@mosterh 模版注入

回复 0

mosterh 3年前

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

回复 0

sety 3年前

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

回复 0

烟花不易冷 3年前

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

回复 0

yourheika 3年前

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

回复 0
第三方应用 1年前

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

回复 0

kaibaking 3年前

其实是一个模板注入题。。。

回复 2
现在有点开心了 3年前

@zoro 因为题目里面有smarty,这差不多是明示了

回复 0

zoro 3年前

怎么发现是smarty模版的啊

回复 0

4thrun 3年前

正解

回复 0

himeix 3年前

提示:flag 在根目录下,文件名随机

回复 0

lm459532915 3年前

tac passthru

回复 1

WriteUp

image
midi

3 金币

评分(11)

解题动态

feifeifei1212 攻破了该题 2小时前
13184971752 攻破了该题 1天前
YameMres 攻破了该题 1天前
lwh20060523 攻破了该题 2天前
besty2k 攻破了该题 2天前
zttyzz 攻破了该题 3天前
oohyodec 攻破了该题 3天前
zwhnsh 攻破了该题 4天前
15195388189 攻破了该题 6天前
平凡的人 攻破了该题 10天前
xiaoli98 攻破了该题 10天前
unilot 攻破了该题 13天前
5013230204 攻破了该题 13天前
creeee4esp 攻破了该题 13天前
montarius 攻破了该题 14天前
test002 攻破了该题 14天前
陈尘 攻破了该题 15天前
hikarical 攻破了该题 16天前
她说我们只是朋友 攻破了该题 17天前
lizhongtian 攻破了该题 17天前
问题反馈