版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#【文章标题】ActiveX 控件漏洞挖掘入门【编写语言】htmletc【使用工具】COMRaider【操作平台】WINXPSP2》以及一些常见的ActiveX 漏洞挖掘过程,》以及一些常见的ActiveX 漏洞挖掘过程,想对这方面的东西做点小小的总结,权当作入门的东西,勉强算是原创吧。【基础介绍】ActiveX是微软在1996年引入,是基于COM组件和OLE的。COM组件开发的目的是为了简化代码的重用,通过建立带有接口的对象,它们能被其他 COM足见以及程序调用,IE里面经常用到这样的技术。因此 COM组件被广泛用于开发浏览器的第三方应用程序,其实也就是插件。但由于现在有的第三方开发人员编程方面的原因,控件出现越来越多的漏洞能被恶意的网站来利用,通过溢出或者是功能代码的注入来侵害个人电脑。ActiveX控件被利用多出现在2个方面:第一就是其导出函数可能具有的隐蔽的功能,比如操作注册表,读写文件等等,还有就是控件本身一些函数在处理参数的时候出现了参数长度未检查造成溢出的情况。恶意的网站如果在网站上安装了有漏洞的COM组件,而用户毫不知情的情况下访问很容易被入侵。ActiveX控件被浏览器调用实例化的条件是:它是被标记了可安全执行脚本 (assafeforscripting) 。要判断其是否为可安全执行脚本,只需在注册表中对应的 CLSID项下查看是否有ImplementedCategories 此项即可。【FUZZ工具介绍】目前FUZZActiveX 控件比较好的工具是COMRaider.【如何跟踪COM组件的接口】首先来讲些基础知识:IDispatch接口如下:interfaceIDispatch:IUnknown{virtualHRESULTGetTypeInfoCount(UINT*pctinfo)=0;virtualHRESULTGetTypeInfo(UINTitinfo,LCIDlcid,ITypelnfo**pptinfo)=0;virtualHRESULTGetlDsOfNames(REFIIDriid,LPOLESTR*rgszNames,UINTcNames,LCIDlcid,DISPID*rgdispid)=0;virtualHRESULTInvoke(DISPIDdispidMember,REFIIDriid,LCIDlcid,WORDwFlags,DISPPARMS*pdispparams,VARIANT*pvarResult,EXCEPINFO*pexcepinfo,UINT*puArgErr)=0;}GetTypeInfoConut :用于获取自动化组件支持的 ITypelnfo 接口的数目。GetTypeInfo :用于获取指向ITypeInfo 接口的指针,通过该指针将能够判断自动化服务程序所提供的自动化支持。GetIdsofNames:读取一个函数的名称并返回其调度ID(DISPID)DISPID*rgdispid唯一的。是一个long类型的数据,对于IDispatch的一个特定实现,此DISPID值应该是REFIIDriid 为保留参数,不许设置为IID_NULLrgszNames中指定了成员函数名及其参数。cNames标识了名字的个数lcid参数用于指定本地化标识。得到的DISPID将保存到rgdispid中。4.Invoke:提供了访问自动化对象暴露出来的方法和属性的方法。将dispidMember参数,Invoke将实现一组按此索引来访问的函数。riid的定义相同,分别为保留参数和本地化标识。DISPID作为函数指针数组的索引传入
和lcid的含义与在GetIDsOfNames中WORDwFlags指定了要访问的是接口的属性还是方法DISPPARMS*pdispparams包括了方法和属性调用的参数数组、DISPID数组以及数组中参数个数等信息。VARIANT*pvarResultEXCEPINFO*pexcepinfoUINT*PuArgErr保存返回值信息。指向一个有效的异常信息结构。包含了第一个产生错误的参数指针。综合以上,可以了解到:通过GetIDsOfNames和Invoke的结合使用,将可以根据函数名称对方法和属性进行调用。这样,函数地址、AddRef()、Release()以及接口指针等细节问题将无需考虑。基于以上的分析,对于 COM里面某个函数的定位思路是:由于在调用 COM里面某个函数时,会去分发,然后再调用COM里面的函数,那么,我们就在它分发的时候先把它拦截下来,之后再单步跟入某个函数。关键函数:DispCallFunc,位于oleaut32.dll。在DispCallFunc函数一直“步过”,直到见到callecx指令时,我们就来到了进入 COM里面某个函数的边缘了!就差一步“步进” ,就来到了COM里面的某个函数的入口点了。【如何跟踪COM组件的接口--示例】使用工具:COMRaider目标:COMRaider里含有的vuln.dll1.首先注册vuln.dll。如图:系垛任务Ytllr.dll1,0.0.1vulnModuleJboorrlicPDsoftWindowsXP【版本5.1.2600]CO版权所有1985-2001MicrosoftCorp-C:XDocumentsandSettIngs\J<7zj>cd_-/P:\>re^sui*32vuln・dllRegSvr32i/ vuln.dll申的DllRegisterServer 功r确疋2.运行COMRaider,选择开始并直接fuzzvuln.dll 。如图:3.选择Method3开始"Fuzzmember”。如图:”。如图:4.点击Next后出现了很多文件,随便选择一个点右键" LaunchinOily5.被ollydbg加载后出现在入口点。首先查看可执行模块,因为前面说过DispCallFunc 位于oleaut32.dll所以直接查看oleaut32.dll,双击oleaut32那条,然后ctrl+n,在DispCallFun 下断点即可。如图:|£J巧壬巳萱程⑼调说側強件(日述坝①篩I 记录Q地址010B3C2501003C2601003C2801893C2B0iaO3C2C01003C31Q1098C36Alt+L执行模块同Alt+E
的荐曲f,lt+M进程①窗口(邂)句柄㈤|£J巧壬巳萱程⑼调说側強件(日述坝①篩I 记录Q地址010B3C2501003C2601003C2801893C2B0iaO3C2C01003C31Q1098C36Alt+L执行模块同Alt+E
的荐曲f,lt+M进程①窗口(邂)句柄㈤CPUSEHfcS补丁迪m a*->.Alt+CCtrl+P反汇編movedpushenouebsub&spushEpushwmoueacallu垃仲 日恋X►Illi聖I■關i谢岁J■l|e)m|t|w|h|C)f\K|BR|胡日::1?1OltyDbg-wscript.eMe-[可执行梗块]F9运行,会停在DispCalIFunc这里,然后单步走。如图:十六进制77?^30q8BEC770F731083C4FC770F731356770F731453770F7315的砧FC770F73180FB74514770F731C25FFDFFFFF770F732183F81777OF73247QF«7BS4UQ200770F732A0F87^51077DF732E8BUD1877ftF7AA1KAFRCH6.下好断点以后7.F8单步,直到看见callecx的时候单步步入,就到了被分发函数的入口了。如图:770F73C1770F73C7770F73DB770F73D76^:A1isooao^n8088B4OFO0OOFFD16n:RBQD18000086A1B4OF0OOOmoueax,duordptrFs:[18]orbyteptrds:[eax+FB>i],1callecxnouecx,dwordptrFs:[18]andbyteptrds:[ecx+FBU],0基址大小 入口名称文件版本路径010000000OG1COO6O1003C23wscript8200;XWIND0WS\System32\wscript,exe58FBOOODOfHCAOOO58FD5E柏ftcGenral5.1.3N&I0.219B(xpsp_sp2_rtrtC:\VINDOVS\AppPatch\AcGenral.DLLFADCODOO00097008SHDC1626UxThene0.W.290B.218D(xpsp_sp2_rt£:\WlND0WS\SyStei>i32MJxTheme.dll&CC9aQQ0OOQSAOdfl5CC3SE39ShimEnq5.1.2a@a.21SO(xpspsp2_rtniC:XUIHD0WS\Syst9Hk32XShinEng-dllsmzaaoQ00097BOB5D1732DAcomet115-82(xpsp_sp2_rtm.Bi»0eB3-2£AWIND0WS\5y5tem32Xconctl32_(lll62C2O0O00008900062C22EADLPH5.1.2600.2180(xpspsp2_rtmC:XWIND0WS\System32\LPK.DLL73FAO0OD0O06BOO873FDAEB6USP101.OU2O.26B0-21S8(xpsp_sp2_C:\WIND0WS\System32MJSP1C.dll了丹DEOOOOOOfiEOSO759D1&D4USERENU5.1-2606,2180(xpsp_sp2_rtnC:XWiND0WS\syst?li»32\USEREHU.dll763OSOS0OCO1OOO076301ZG0IWt325.1.2600(xp5p_5p2_rtnC:\WINDDWS\System32MMH32.dll>6990000im3D0»Z69AD9A1ule325^1.26H.2726(xp5p_sp2_gdrCz\WlND0WS\sij5teR32Xole32.dll76B10OOQ0002A00076H12B6P5.1.2600-2180(Xpsp_Sp2_rtrtC:\WlHD0WS\SySteni32\VINMM.dll77BFa8000O08COOB770F1&&80L£fiUT325.1.2600.21SQC:\WIHD0US\systen32X0LEAUT32_dll7718000a001O2BIB771842B3comctl326_0(xpspsp2rtn.fl40803-21C:XWIND0WS\WinSxS\x86Microsoft-Uinm77BBoaao0001508*77BB1292HSACK325-1-2600.2190(xdsdsd2rtfC:\WIND0WS\Susten32\MSfiCM32-dll};]文锹巳查看(心调试◎插怜凸选项⑴盅口阻帮肋⑻反汇编pushebppiouebp,espaddesp,^Upushesipushebxehouduordptrss:[ebp^>»],espmovzxeax.wordptrss:[ebp+1^]andeax.FFFFDFFFcmp@ax,17jaOLEfiUT32-77l1B7DFrouzxea»,uordptrss:[ebp+10]piouecxtduordptrss:[ebp+18]rmnpsx_1
55push?bp1Q08125E8BECntouebp,esp19001260&1EC64040038subesp,4048B4&QCnoueax/dwordptrss:[ebp+C]1000126925FFFF0090andeaxfOFFFF1IB0126E83F8@8cnpeax,810001271“0F85D0009000jnzuuln.1000134710001277C7850CFCFFFFmoudvjordptrss:[ebp-3F*t],08B4D1Umouecx.duorciptrss:(ebp+m]110*12848980I^FCFFFFmauduordptrss:[ebp-3EC]fecx190B12SA83BD1i»FCFFFFcmpduiordptrSs:[ebp-3EC],0190312917750Cjnzshortuuln.1G0O129F10001293C785B0FCFFFFtiouduordptrsstfebp-^BO],91Q0»129DvEBADjnpshortuuln.108012EC1000129F8695I^FCFFFFmovedx,dwor(iptrss:[ebp-3EC]100GI12A552^jusIiedx100012AAFF15弼90朋13callduoirdptrds:[<&KERNEL32-lstr19Q012AC8D4i*0S02leaeax,dwordptrds:[eax+eax*2]100O12BO898504FCFFFFroudwordptrss:[ebp-3FC],eax10OB1SB6SB8504FCFFFFmoueaxTdvrordptrss:[ebp-3FC]106612BC83C003addeax,310C012BF2却FCandal,QFC106012C1E81A2DOBOOcalluuln-1EII}03FEQ100612C689A5FCFBFFFFmowdwrdptrss:[ebp-<»0^]fes卩106012CC8B8»BliFCFFFFfiiouecx,dwordptrss:[ebp-3FC]100B12D251pushecx100012D38B951兀FCFFFFfiiovedx,d^ordptrss:[ebp^3EC]100812D952pushedxBBSSFCFBFFFFmoueax,dviordptrss:[ebp^UQii]100S12E050pusheax106O12E1E86A010000callvuln.10001450108612E6898SSOFCFFFFmoudwordptrss:[ebp->i0O],eax1Q0012EC8B8DBBFCFFFFn)ouecxsdwordptrss:[ebp-<4O0]100012F2898010FCFFFFmouduiordptr55:[ebp-3F9],ecx这样就找了调试那个函数的入口,就可以自己调试了。【再一个示例】一个目录下)这次使用methodi的函数,可以观察由COMRaider生成的fuzz文件(我的是在跟com-dll一个目录下)<7X111versian=*1.0*standalone='yes1?><package><jobid='DonelnUBS*debug=*Fals^1prror=-true'><objectclassid='clsld:e£F2A07C-CE69-41U4-96fiA-2247D892A73D1id='target1/><scriptIanguage='uhscript*>'FileGeneratedbyCOtlRaideruO.0.133-http:白乎enFe’com'Wscript.echotypename(target)'Fordebugging/custon(>rologtaryetFile=*T:\uuln.dll,'prototiipe-"FunctionMethodl(B^UalsPathfisString)AsLong'1meinberName=*'Method1'*proyid='*UULNLib-seruer**argCounf=1~〜_^g1=String(3e92, ]target-Nethodlarg1/</script><71ol)></package>注意红色部分,表示填充的参数为 3092个,该脚本通过调用mehodl来弹出一个显示3092个A的对话框,但是由于参数太多,导致溢出。双击文件可见结果如下:MyVulnMessageaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAftAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA隔RgfMa碍碍fMZ砂3砂ggg隔z砂zznnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaamaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAA^AAAAAAAAAAAAAAAMAAAAAAAAAAAMAAAAAAAAAAAAAAA^AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAA^AAAAAAAAAAAAAAAAAAAAA/\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAflAAAAAAAAAAAAAAAAAAAAAAAAA^AAAAAAAAAAAAflAAAAAA^AAAAAAAAAAAAAAAAAAAAAAAAA^AAA^AAAAAAAAAAftAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA«MMMMHMMMBHMMMMBM|aaaaaaaaaaaaaaQJAAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAA^AAAAAAAAAAAAAAAAA^AAAaaaaaaAAAAAAAAAAAAA«MMMMHMMMBHMMMMBM|aaaaaaaaaaaaaaQJAAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAA^AAAAAAAAAAAAAAAAA^AAAaaaaaaMKrnsoft(r)WindowsBasedScriptHost错恨签名EventType:BEXfl:^script.»«PE:5.60.8320F3:41107bclF4:unknown?5:Q.O0,0F6:(XlOOOOOOPT:41414141要查看关于餡保报告的技忒信息>请单击此处口调试⑧aaaaaaaaaaaaa/1AAAAAAAAHAAAAA^^WFi"-ir-i»-"i-ini-ini-ir-»iaaaaaaaaaaaaaaaaaaaaaaaaaaa关闭©厂笑和【该部分小结】COMRaider 的目的就可以根据接口所提供的参数类型构造不同的 FUZZ脚本,比如说methodi 的参数是string,则COMRaider就构造超长字符串的参数的脚本来 fuzz,并且还能通过调试器来调试。【其他类型的漏洞】ActiveX 控件提供了丰富的接口来操作,但是有的接口可能会被不法的人来利用干坏事。下面就举一个例子来演示ActiveX 在这方面的破坏性。这是一个2007年9月报出的漏洞。QRcodeActiveX中的SaveAsBMW()和SaveAsWMF()可以储存任何文件类型的文件。那意味着它可以修改系统的配置文件以及做很多坏事。还是先用COMRaider来看看。选择MW6QRCode.dll,查看。如图:■-COMRaiderCOMServer/cADocumeiisandsitting^\k'7;M®\MW6QSSde.dllvShowonflyfuzzable肌MWEQRCODELbpi■燈QRCodevShowonflyfuzzable-Y>IQRCode酋*B^ckColor圈BarColor酋1BorderStyle酋*Data酋*Fial(f/al0GetActuaIR匚.住GetActualSize色GetPatternDdta酋1Level酋1Maskg§*Qfientation0Render•e毒aveAsBMPj0SaveAsWMFOetOize 的VersianSubSaveAsBMP(SyV^IFiteNameAsStringUserightclickmenuontreeviewtogeneratefuzzfilesSubSaveAsBMP(SyV^IFiteNameAsStringUserightclickmenuontreeviewtogeneratefuzzfiles其实如何找到这2个函数有漏洞存在还是需要尝试去调用。这里过程是艰巨的,我还是直接给出 EXP,是在WO上找的。是个网页形式的,上面有说明,点击以后会在系统目录下生成 system_.ini 文件,如果别有用意的人可能会写点可执行程序等等,病毒啊,木马啊甚至 rootkit 那到时候就不堪设想了。【总结】可见挖掘软件漏洞是个非常困难的工程, 要求掌握很多的知识, 对于挖掘ActiveX 的漏洞我之前并没有太多的认识。这篇算勉强算是 ActiveX漏洞发掘的入门篇吧,说白了就是一些总结,因为好多东西都是在网上找的,所以有什么不对的地方,还希望能够多多指出。希望大家一起交流。参考文献:《ActiveX-ActiveExploitationMilw0rm:/exploits/4420++++忽然发现我仅仅是发掘 ActiveX 漏洞,但不去利用,利用远远要比发掘有趣COMRaider自带了一个vuln.dll 的漏洞链接库文件,我就拿这个下手吧(外面的AX漏洞要么已经被开发出exp,要么已经被找的差不多了 ...)一共5个函数,我就用Method1参数进行攻击,字符型的溢出点的定位我还是用 CCProxyTelnetProxyPing远程栈溢出分析中的方法,首先生成 1000个字符,然后提交到函数中,意料之中的崩溃,看看错误输出 26禁止的地址对应,找到"4C494141AAIL2200xdcEIP==>0x4c494141" ,也就是说216个字符的时候就是溢出点了,为什么?还是仔细看看我写的那篇 CCProxyTelnet 溢出的文章中说道的那个工具与技巧: )不过为了证实一下构造下面的代码while(s.length<217){s+="\x41";}test
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力公司疫情期间抢修值班制度
- 幼教机构卫生安全检查制度
- 给青年员工进行绩效培训
- 现代售后服务顾问培训
- 母婴产品电商代理合同
- 检察院年终总结报告
- 支气管镜的培训
- 大学生安全责任书与协议书范文
- 农村宅基地代理协议书范文模板
- 家居设计股份合作协议书
- 冬季防溺水安全课件
- 传统节气《冬至》课件
- 智能机器人焊接
- 销售人员如何列名单与分析名单
- 大客户战略:大客户全生命周期管理
- 康得新财务审计案例分析
- 2024届高考语文复习:小说叙事艺术 课件39张
- 23秋国家开放大学《EXCEL在财务中的应用》形考作业1-4参考答案
- 水利工程生产安全重大事故隐患判定标准(修订稿)
- 蔬菜宝贝秘密课件
- 人美版七年级美术下册《卢浮宫博物馆》教案及教学反思
评论
0/150
提交评论