版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web常见漏洞利用项目四项目四Web常见漏洞利用v项目概述项目分析项目概述Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的广泛使用,Web应用已经融入到日常生活中的各个方面:网上购物、网络银行应用、证券股票交易、政府行政审批等等。在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器侧的动态处理。此时,如果Java、PHP、ASP等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,会导致Web应用安全问题层出不穷。本文根据当前Web应用的安全情况,列举了Web应用程序常见的攻击原理及危害,并给出如何避免遭受Web攻击的建议。项目分析Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息010203文件上传漏洞文件下载漏洞利用SQL注入漏洞利用文件上传漏洞01任务描述任务分析思考与练习任务实施文件上传漏洞01任务描述【任务描述】文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的。现在公司小唐为了解该漏洞的危害性,以便后期更好地做好完全防护,在公司的实训平台进行测试文件上传漏洞的工作原理。本次任务,请同学和小唐一起完成这个测试任务。02任务分析【任务分析】上传漏洞这个顾名思义,就是攻击者通过上传木马文件,直接得到Webshell,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞,导致该漏洞的原因在于代码作者没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验。03任务实施【任务实施】步骤一:打开实训平台上的虚拟机,Metasploitable2Linux。虚拟机启动完成后,使用用户名:msfadmin、密码:msfadmin即可登录系统,如图所示【任务实施】步骤二:查看该实验机IP,根据实验要求修改IP地址,如图所示。修改方法vi
/etc/network/interfaces,对IP进行修改,如图所示。【任务实施】步骤三:编辑完成后,登录dvwa,输入3/dvwa/login.php,可以看到DVWA的登录界面,得到dvwa登陆界面,如图所示。【任务实施】步骤四:登录访问DVWA,默认用户名:admin密码:Password登录之后,将DVWA的安全级别调成low,low代表安全级别最低,存在较容易测试的漏洞,如图所示。【任务实施】步骤五:选择左边菜单栏中的“Upload”链接,如图所示。【任务实施】步骤六:点击选择文件,选择准备好的木马文件webshell.php上传,如图所示。【任务实施】步骤七:上传成功后,记下上传的路径。在浏览器输入3/dvwa/hackable/uploads/webshell.php,就可以看到Webshell的界面了在WEBSHELL成功执行后,就可以远程控制这台服务器。小唐这时已经能够控制这台服务器,可是他想为什么可以从Web页面上传Webshell,于是,他点击DVWA界面上的VIEWSOURCE按钮,分析程序代码。04思考与练习【思考与练习】1、将DVWA的安全级别调整到中级,同学们是否可以上传webshell.php呢?2、请同学们思考,根据文件上传漏洞的成因,在代码级层面如何进行防护,请将任务中的漏洞,通过代码将其保护住。文件下载漏洞利用02任务描述任务分析任务实施思考与练习文件下载漏洞利用01任务描述【任务描述】一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。为了更好地做好安全防护,公司的安全技术人员小唐要在实训Web网站上体验文件下载漏洞的渗透与利用。02任务分析【任务分析】文件下载漏洞是因为一般的网站提供了下载文件功能,但是在获得文件并下载文件的时候并没有进行一些过滤保护,这就导致了漏洞的产生。对于任意文件下载漏洞,正常的利用手段是下载服务器文件,如脚本代码,服务器配置或者是系统配置等等。但是有的时候我们可能根本不知道网站所处的环境,以及网站的路径,这时候我们只能利用../../来逐层猜测路径,让漏洞利用变得繁琐。通过查看下载功能的php文件我们可以得知存在漏洞的原因,对存在该漏洞的网站进行渗透测试。本次任务,要求小唐发现Web网站上的文件下载漏洞,并尝试渗透利用。从而学习保护WEB服务器的方法。03任务实施【任务实施】步骤一:找到一个带有文件下载漏洞的网站,点击通知公告,如图所示。【任务实施】步骤二:查看通知公告页面,页面中存在两个附件,点击第二个附件,如图所示。【任务实施】步骤三:启动Burpsuite抓取点击下载附件时,HTTP的请求与响应包,如图所示。【任务实施】步骤四:启在浏览器中设置好代理,访问网站的通知公告页面,点击附件2下载,在Burpsuite抓到的请求数据中查看文件下载的参数filepath,发现这个是通过绝对路径来获取资源,于是我们可以利用这个点来任意文件下载,如图所示更改请求的数据包头。【任务实施】通过报错获取网站的绝对路径,如图所示。其网站路径为/data/webapps/LawPlatform【任务实施】步骤五:根据前步的分析,一般情况下数据库的配置文件可能在../../../../data/webapps/LawPlatform/WEB-INF/classes/perties,根据这个假设,再次修改步骤四图中的HTTP的请求数据包信息。发出HTTP请求后,我们得到HTTP的响应数据,如图所示。【任务实施】步骤六:根据得到数据库的用户和密码后,进行连接,连接成功如图所示。图中显示结果,是成功连接数据库,可以获得数据库的任何内容。之后,可以通过数据针对系统进行进一步攻击。可以将数据库的有关用户信息导出。可见,文件下载漏洞的危害非常大。04思考与练习【思考与练习】利用DVWA的渗透测试练习,在漏洞列表中选择“FileInclusion”,在安全等级设为低的情况下,将系统的/etc/passwd文件内容读取出来?SQL注入漏洞利用03SQL注入漏洞利用任务分析任务描述任务实施思考与练习01任务描述【任务描述】公司在接到客户要求后,为客户完成了用户公司新闻发布系统。目前功能已经开发完成,正准备交付给用户。但是由于最近网络中经常暴出网站数据库被爆库、拖库等信息。因此,公司希望在交付用户进行一次自查。公司自然就将这个任务派给了在公司中担任渗透测试岗位的小唐。为了能顺利完成这个任务小唐先在测试环境下,学习一下SQL注入的场景。02任务分析【任务分析】SQL注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态SQL命令,或者作为存储过程的输入参数,这些表单特别容易受到SQL注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是SQL注入就发生了。在本次任务中,小唐就需要使用手工注入方式。在实训平台完成SQL注入的测试。以便掌握这种漏洞的防护方法。03任务实施【任务实施】步骤一:下打开网络拓扑,登入metasploitable2,用户名:msfadmin,密码:msfadmin,如图所示。【任务实施】步骤二:查看该实验机IP,根据实验要求修改IP地址,如图所示。【任务实施】步骤三:登录访问DVWA,默认用户名:admin密码:password,如图所示。【任务实施】登录之后,将DVWA的安全级别调成low,low代表安全级别最低,存在较容易测试的漏洞,如图所示。【任务实施】步骤四:找到SQlInjection选项,测试是否存在注入点,这里用户交互的地方为表单,这也是常见的SQL注入漏洞存在的地方。正常测试,输入1,结果如下方所示,如图所示【任务实施】步骤五:查看当将输入变为“'”时,页面提示错误“YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'''''atline1”,结果如图所示。看到这个结果,我们可以知道,这个表单存在着注入漏洞,如图所示。【任务实施】步骤六:尝试遍历数据库表,由于用户输入的值为ID,因此我们习惯判断这里的注入类型为数字型,因此尝试输入:1or1=1,看能否把数据库表中的内容遍历出来。可是结果如下,并没有显示出所有信息,如图所示。【任务实施】步骤七:于是猜测,是否后台应用程序将此值看作了字符型,于是输入:1'or'1'='1,结果,遍历出了数据库中的所有内容,如果是重要数据库表,可能这个信息已经对于攻击者,有了足够意义,如图所示。【任务实施】步骤八:输入"1'orderby1--"结果页面正常显示注意--后面有空格。继续测试,"1'orderby2--","1'orderby3--",当输入3是,页面报错。页面错误信息如下,Unknowncolumn'3'in’orderclause',由此我们判断查询结果值为2列,如图所示。【任务实施】步骤九:通过得到连接数据库账户信息、数据库名称、数据库版本信息。利用user(),及database(),version()等三个内置函数。这里尝试注入“1'and1=2unionselect1,2--”如图所示。【任务实施】步骤十:经过上个步骤得出1'and1=2unionselect1,2--从而得出Firstname处显示结果为查询结果第一列的值,surname处显示结果为查询结果第二列的值,利用内置函数user(),及database(),version()注入得出连接数据库用户以及数据库名称,如图所示。【任务实施】步骤十一:于是连接数据库的用户为root@localhost,数据库名称为dvwa,进一步利用函数version(),尝试得到版本信息,“1'and1=2unionselectversion(),database()--”便得到了版本信息,1'and1=2unionselectversion(),database()--,如图所示04思考与练习【思考与练习】阅读以下条款:《网络安全法》的第二十七条任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。【思考与练习】将渗透测试平台DVWA的安全级别调整到中级,同学们选择SQLInject模块,尝试通过手工注入是否获得数据库数据?通过使用SQLMAP是否还可以进行SQL注入呢?反射型跨站脚本利用0401任务描述02任务分析03思考与练习04任务实施反射型跨站脚本利用01任务描述【任务描述】XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者向Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。公司的用户新闻系统已经完成的SQL注入测试。现在,为了更好地做好安全防护,小唐进行了反射型跨站脚本XSS攻击测试。02任务分析【任务分析】反射XSS是XSS分类中最多的,他们原理是下面这样:Hacker——发现存在反射XSS的URL——根据输出点的环境构造XSS代码——进行编码、缩短(可有可无,是为了增加迷惑性)——发送给受害人——受害打开后,执行XSS代码——完成hacker想要的功能(获取cookies、url、浏览器信息、IP等等),XSS攻击信息存在于instant消息,消息接收方接收到消息之后,被XSS攻击。03任务实施【任务实施】步骤一:找出存在反射型xss的漏洞一个有反射型xss漏洞的网站(自己搭的虚拟站点,域名为),该域名下有一个首页(index.html),一个登陆页面(login.html),一个登陆的cgi(login.php),一个用于搜索的cgi(search.php)。由于xss漏洞一般发生于与用户交互的地方,因此搜索框是我们关注的重点,如图所示\。【任务实施】步骤二:找出xss漏洞存在位置我们首先需要找出站点的xss漏洞发生在什么地方,上面提到,与用户交互的地方是我们的主要关注点。现在我们随意输入几个字符“计算机”,点击搜索,搜索界面如图所示(这是自己写的一个简陋的搜索界面)。【任务实施】步骤三:找出输入特殊字符进行测试这里发现了我们输入的字符出现在了搜索界面上(很多电商网站应该都是这种界面页面形式吧)。这次我们输入一些特殊字符来试试“<script>alert(1)</script>”,点击搜索如图所示。出现了我们心仪的小弹窗,看来search.php未对用户输入的关键词作任何处理,便直接输出到界面上,既然xss漏洞出现,那么便可以开始实施攻击了,通过xss可以获取用户的cookie来进行破坏。04思考与练习【思考与练习】学习反射型跨站脚本利用后,您能不能使用PHP代码来防止任务中的xss攻击?存储型跨站脚本利用05任务描述任务分析思考与练习任务实施存储型跨站脚本利用01任务描述【任务描述】跨站脚本利用又称XSS,站脚本攻击(CrossSiteScript,XSS),是最常见的Web应用应用程序安全漏洞之一,也是OWASP2013Top10之一。XSS通常来说就是在网页中嵌入恶意代码,通常来说是Javascript,当用户访问网页的时候,恶意脚本在浏览器上执行。为了更好地存储型跨站脚本攻击的安全防护,小唐要进行存储型跨站脚本XSS的实验,您能和他一起吗?02任务分析【任务分析】存储型XSSXSS主要分为三种类型:反射型XSS,存储型XSS和DOM型XSS。本文主要阐述的是存储型XSS,简单来说明一下存储型XSS的攻击基本流程:1、比如在某个论坛提供留言板功能,黑客在留言板内插入恶意的html或者Javascript代码,并且提交。2、网站后台程序将留言内容存储在数据中3、然后一个用户也访问这个论坛,并刷新了留言板,这时网站后台从数据库中读取了之前黑客的留言内容,并且直接插入在html页面中,这就可能导致了:黑客留言的脚本本身应该作为内容显示在留言板的,然后此时可能黑客的留言脚本被浏览器解释执行了。小唐就是要在网站,将一个恶意SCRIPT存储到数据库中。以便找到这个漏洞的防护方法。03任务实施【任务实施】本次实验需要一台实验虚拟机CentOS7和一台实验虚拟机Windows7,本次实验CentOS7的IP地址为内含DVWA系统。按以下步骤进行实验。步骤一:调整DVWA的级别首先,登录访问DVWA默认用户名:admin密码:password登录之后,将DVWA的安全级别调成low,low代表安全级别最低,存在较容易测试的漏洞。设置方式如图所示,选择“low”点击“Submit”即可。【任务实施】步骤二:点击“XSS(Stored)”,进入实验页面如图所示所示。【任务实施】步骤三:点击“ViewSource”,进入源代码窗口,如图所示。【任务实施】步骤三:注入语句下面分析代码执行流程:首先使用trim方法去除用户输入的数据首尾处的空白字符(或者其他字符),然后使用stripslashes方法删除反斜杠,然后使用mysqli_real_escape_string对字符串特殊符号进行转义最后对用户输入数据进行xss检测编码,直接写入到数据库中,于是造成存储型xss漏洞。【任务实施】步骤四:注入语句下面分析代码执行流程:首先使用trim方法去除用户输入的数据首尾处的空白字符(或者其他字符),然后使用stripslashes方法删除反斜杠,然后使用mysqli_real_escape_string对字符串特殊符号进行转义最后对用户输入数据进行xss检测编码,直接写入到数据库中,于是造成存储型xss漏洞。我们在Message中注入<script>alert(‘1’)</script>如图所示。点击“SignGuestbook”后得到如图所示。通过上面出现的结果可以看出注入的代码已经被执行。【任务实施】步骤五:注入将安全等级变为“Medium”,查看源代码,如图所示。在这个代码中,重点关注:Message由于使用了htmlspecialchars方法对用户输入数据进行编码转换,因此不存在xss漏洞。但是name由于仅仅用了str_replace方法把<script>替换为空,于是我们有以下三种方法来绕过。在具体实验之前,因为name的长度是有限制的,我们需要使用BurpSuite来拦截修改name传入值。【任务实施】步骤六:设置firefox使用本地代理,如图所示。【任务实施】步骤七:启动burpsuite,使得拦截生效,如图所示【任务实施】步骤八:注入返回到实验页面,在name中输入test,在message中输入test,点击“SignGuestBook”,如图所示。【任务实施】步骤九:然后回到burpsuite页面,看到了拦截的内容,如图所示。然后修改txtName为:<imgsrc=1onerror=alert(/xss/)>,如图所示点击转发按钮“Forward”,则浏览器中弹出了alert窗口,说明注入已经成功如图所示。04思考与练习【思考与练习】请将任务中DVWA渗透平台的代码,使用XSS的防御策略,修改该代码,使其能防御XSS的攻击。暴力破解Web网站弱口令06任务描述任务分析任务实施思考与练习使用NMAP探测系统服务01任务描述【任务描述】弱口令通常指由常用数字、字母、字符等组合成的,容易被别人通过简单及平常的思维方式就能猜到的密码。对于Web网站,尤其是Web网站的用户名和密码登录页面,以及网站后台管理登录页面,很容易遭到攻击者的暴力破解。如果网站登录密码采用的是弱口令的话,就更容易被攻击者暴力破解获取到口令。攻防之初,大多为绕过既有逻辑和认证,以Getshell为节点,不管是SQL注入获得管理员数据还是XSS获得后台cookie,大多数是为了后台的登录权限,假若攻击者获得Web网站登录密码,那一切都是柳暗花明。不管口令复杂与否,只要在构造的密码字典内都是爆破之结晶。为了了解Web网站弱口令的不安全性和危害,以便提高登录密码的复杂性并加强攻击防洪,小唐进行了暴力破解网站弱口令的实验,学习相关工具的使用。02任务分析【任务分析】本任务使用两台虚拟机实现:Kali和CentOS7。Kali模拟攻击者环境;CentOS7模拟Web网站服务器,且网站登录密码为弱口令。两台虚拟机的用户名和密码如下:Kali虚拟机:用户名root,密码123456CentOS7虚拟机:用户名root,密码123456使用Burpsuite爆力破解Web网站弱口令的过程需要在Kali中完成如下任务:构造密码表在浏览器中设置本地代理并启用burpsuite的拦截功能访问Web网站并使用猜测的用户名和口令登录通过Intruder设置暴力破解标记03任务实施【任务实施】步骤一:登录kali界面如图所示。【任务实施】步骤二:输入username:root和password:123456后进入kali主界面,如图所示所示。【任务实施】步骤三:注入在kali上构造密码本在Desktop上建立目录temp,分别点击标定功能项,如图所示。【任务实施】步骤四:输入所要建立的目录名称【任务实施】步骤五:执行右键功能菜单“openinterminal”,如图所示【任务实施】步骤六:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年社保卡应用服务课件
- 2026 年读懂口腔信号关注身体内在健康课件
- 医院2026年基孔肯雅热防控知识培训考核试卷及答案
- 线切割电极丝相关试题及答案
- 甲壳类繁育工创新实践知识考核试卷含答案
- 电缆卷绕车司机安全专项水平考核试卷含答案
- 玉米收获机操作工操作知识水平考核试卷含答案
- 社会治理常见试题及精准答案梳理
- 城市轨道交通行车值班员达标考核试卷含答案
- 饲草产品加工工岗前技术传承考核试卷含答案
- 2026年秋季学期学校教学质量提升专项行动方案:落实六环贯通、三级联动、四单闭环,将教学质量沉淀于日常
- 2025年食品安全总监、食品安全员考核考试试题库及答案
- 甲状腺癌诊疗指南解读 课件
- 2026年公路弃土场规划及生态恢复方案
- 2026年少先队常识认知试题含答案
- 2026年国家网络安全宣传周试题及答案
- 2025 版中国脓毒症与感染性休克院前急救指南
- 《热爱班集体》分层作业及答案-2026-2027学年统编版(新教材)小学道德与法治四年级上册
- 物业公共收益管理制度
- 2025年贵州省六盘水市事业单位遴选笔试真题及参考答案
- 马工程西方经济学(第二版)教学课件-5
评论
0/150
提交评论