《网络工程技术实践》课件项目六任务四文件上传漏洞检测及防范.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《网络工程技术实践》课件项目六任务四文件上传漏洞检测及防范.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络工程技术实践 网络工程技术实践课件项目六 任务四 文件上传漏洞检测及防范 网络工程 技术 实践 课件 项目 任务 文件 上传 漏洞 检测 防范
- 资源描述:
-
1、1 项目六 Web网站攻击与防范项目六 Web网站攻击与防范2 项目六 Web网站攻击与防范【项目概述】某安全运维公司接到一个任务,要求对客户公司的Web网站进行渗透测试,已知服务器IP地址为192.168.137.100/24。请找出该Web网站存在的安全漏洞并给出防范攻击的措施。【项目分析】Web是万维网(World Wide Web,WWW)的简称,它利用HTTP(HyperText Transfer Protocol,超文本传输协议)来建立用户与服务器之间的标准交互方式。常用的Web应用都是基于网页形式开展的。Web网站由多个网页组成,提供各种类型的网络服务。3 项目六 Web网站攻击
2、与防范l早期的Web网站只有浏览功能。随着IT技术的发展,现在的Web网站逐渐发展到能支持用户进行自定义查询、支持用户登录并互动、在线交易等复杂业务。在这个过程中,需要添加额外的组件来实现上述功能,因此,目前的Web站点都会附带数据库及其他服务,从而实现对当前站点及用户信息的存储及复杂功能的支持。l基于HTTP协议的Web网站执行一次典型信息查询任务的工作流程如图6-1所示。4 项目六 Web网站攻击与防范图 6-1 Web网站执行一次信息查询的工作流程5 项目六 Web网站攻击与防范l图中所示的流程与真实的大型网站应用流程并不完全一致,只用于说明基本原理。因为大型网站要同时为数以千万的用户请
3、求提供服务,仅通过一台服务器根本无法支持海量的用户访问请求,所以会利用负载均衡、CDN、云技术、分布式数据库等技术来应对大量用户的并发访问。然而,所涉及的所有环节均可能存在安全隐患,其中一项服务产生问题都可能影响用户的正常使用或者危害Web服务器的安全。因此,要把Web系统中的所有组件都纳入安全防护体系之中。l目前,大多数企业都会拥有自己的Web网站,网站成为了企业对外宣传和业务开展的重要渠道。黑客也常常盯住企业的网站,希望通过利用企业网站的漏洞控制企业网站,进而控制企业的服务器,从中获得企业内部信息的控制权。常见的Web安全漏洞包括:SQL注入漏洞、XSS漏洞、命令执行漏洞、CSRF漏洞、文
4、件上传漏洞、文件包含漏洞等,还有一些业务层面的逻辑漏洞。渗透测试人员需要利用技术发现这些漏洞,并给出防御措施,才能保证Web网站的安全运行。6 项目六 Web网站攻击与防范项目主要内容:任务一 Web漏洞检测任务二 SQL注入漏洞检测与防范任务三 XSS漏洞检测及防范任务四 文件上传漏洞检测及防范7 项目六 Web网站攻击与防范任务四 文件上传漏洞检测及防范8 项目六 Web网站攻击与防范l任务描述 根据任务一中对目标网站漏洞的扫描结果,我们发现该网站的某些页面存在文件上传漏洞。请使用渗透测试技术进一步检测该页面文件上传漏洞的情况并给出防范措施。l任务分析l1文件上传攻击的原理。l上传功能是用
5、户与服务器进行文件交互的重要手段,主要应用于系统的流程核心点,如证件信息上传、申请表格上传、自定义头像上传等。通过上传功能,用户可实现自有内容的个性化修改、重点业务的自动开展等。同时,在业务系统侧,也可以通过文件上传功能实现用户交互的自定义设计,为业务开展及用户体验提供良好的实现方式。9 项目六 Web网站攻击与防范l但是,上传过程中存在重大安全隐患。攻击者的目的是取得当前Web服务器的权限。如果通过Web层面开展攻击,那么必须将攻击者的木马插入Web系统中,并在服务器端执行。这个过程就是对Web服务器进行文件注入攻击。这时,上传点可作为上传木马有效途径,上传攻击将直接威胁当前系统的安全性。l
6、文件上传攻击,是指攻击者利用Web应用对上传文件过滤不严的漏洞,将应用程序定义类型之外的文件上传到Web服务器,并且此类文件通常为木马,在上传成功后攻击者即可获得当前的Webshell。l上传功能目前主要通过HTML的表单功能来实现,即将要上传的文件拆分为文件名及文件内容,并由服务器进行接收,再根据中间件规则进行过滤,转存至本地存储,从而完成了一次上传功能。以下为一个标准的上传功能实现案例。l(1)客户端上传表单的功能实现。通过HTML文件的功能实现从浏览器接收用户上传的文件,代码如下:10 项目六 Web网站攻击与防范lll l file uploadlll 文件上传漏洞l l 上传文件:l
7、 l l lll其界面如图6-41所示。11 项目六 Web网站攻击与防范图 6-41 标准的文件上传界面12 项目六 Web网站攻击与防范l此代码中的关键是表单,其内容含义如下:l“form action”定义了表单上传目标页面为upload_file.php,也就意味着上传的文件由后台的upload_file.php程序来作进一步的处理。l采用的提交方式由“method”定义,为“post”方式。l定义提交类型为“multipart/form-data”(如果不指定,则由浏览器自行判断)。l(2)服务器端处理上传文件的功能实现。服务器端接收到来自浏览器上传的表单后,会对上传表单中的内容进行
8、处理,并将PHP中的文件缓存到真实路径。服务端代码(upload_file.php)如下所示:13 项目六 Web网站攻击与防范l?phplif(is_uploaded_file($_FILESupfiletmp_name)ll$upfile=$_FILESupfile;l$name=$upfilename;l$type=$upfiletype;l$size=$upfilesize;l$tmp_name=$upfiletmp_name;lecho 上传文件名:.$name.;lecho 上传文件类型:.$type.;lecho 上传文件大小:.($size/1024).KB;l$destina
9、tion=./file/.$name;lmove_uploaded_file($tmp_name,$destination);lecho 文件上传成功!;l14 项目六 Web网站攻击与防范lelsellecho 文件上传失败!;lecho$_FILESupfileerror;ll?15 项目六 Web网站攻击与防范l上传代码的完整流程为:lupload_file.php页面接收到表单的上传信息后,分别先获取上传文件的文件名$name、文件类型$type和文件大小$size。l设定文件的存储路径$destination。l使用move_uploaded_file函数将文件存储到$destina
10、tion指定的路径中。l如果上传成功则显示“文件上传成功!”,否则显示“文件上传失败!”。l上述代码是实现上传功能的基本代码,其中未添加任何防护措施。如果要在此互不干涉下进行木马上传,直接利用上传功能选择木马文件并执行即可。16 项目六 Web网站攻击与防范l2文件上传攻击的条件。l攻击者利用上传功能的目的是将Web木马上传至服务器并能成功执行。因此,攻击者成功实施文件上传攻击并获得服务器Webshell的前提条件如下。l(1)目标网站具有上传功能。上传攻击实现的前提是:目标网站具有上传功能,可以上传文件,并且文件上传到服务器后可被存储。l(2)上传的目标文件能够被Web服务器解析执行。由于上
11、传文件需要依靠中间件解析并执行,因此上传文件后缀名应为可执行格式。在Apache+PHP环境下,要求上传的Web木马采用.php后缀名(或能有以PHP方式解析的后缀名),并且存放上传文件的目录要有执行脚本的权限。l(3)知道文件上传到服务器后的存放路径和文件名。许多Web应用都会修改上传文件的文件名称,这时就需要结合其他漏洞获取这些信息。如果不知道上传文件的存放路径和文件名称,即使上传成功也无法访问,那么攻击过程就没有任何意义。l(4)目标文件可被用户访问。如果文件上传后,却不能通过Web访问,或者真实路径无法获得,木马则无法被攻击者打开,那么就不能成功实施攻击。17 项目六 Web网站攻击与
12、防范l3Web木马的原理。l木马(Trojan horse)是指可以控制另一台计算机的特定程序。根据使用场景,木马可分为网页木马、系统木马等类,这种分类取决于它的作用目标。攻击者会针对 Web系统所采用的语言(ASP/PHP/JSP等)来编写木马,这种木马一般被称为Web木马。Web木马上传到Web服务器后可被当成Web页面被攻击者访问。攻击者远程访问Web木马页面即可执行Web木马。lWeb木马的主要作用是开设可供攻击者持续使用的后门,以方便攻击者进行后续针对Web服务器的提权等攻击。部分功能较为全面的木马也会提供文件操作、数据库连接等方便攻击者获取当前服务器数据的功能。l攻击者还可以利用
13、Web木马来修改 Web页面,如替换首页(早期黑客炫耀为主)添加JavaScript刷流量/暗链等,并且可利用Web木马攻击操作系统来获取更高的权限。因此Web 木马的危害非常大。18 项目六 Web网站攻击与防范l4Web木马的特点。l从某个角度来说,Web木马也是应用页面,只不过主要是针对目标服务器执行信息获取、添加额外功能等工作,这与正常的页面功能完全不同,但是会以当前Web的格式存放,这是由于Web木马须在服务器上由中间件来解析并执行。综合以上不可变的情况,Web木马有以下几个主要特点。l(1)木马可大可小。根据功能不同,Web木马自身的文件大小也各不相同。最小的木马可利用一行代码进行
展开阅读全文