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网站攻击与防范任务一 Web漏洞检测8 项目六 Web网站攻击与防范l任务描述 对目标网站进行渗透测试的第一步是要了解目标网站存在的安全漏洞。请使用AWVS软件对目标网站漏洞进行扫描,以尽可能全面地发现目标网站所存在的安全漏洞。l任务分析lAWVS(Acunetix Web Vuln
5、erability Scanner)是一款知名的Web网站漏洞扫描工具,它通过网络爬虫技术测试Web网站安全,检测流行的安全漏洞,可以扫描任何通过Web浏览访问和遵循HTTP/HTTPS规则的Web站点和Web应用程序。lAWVS拥有大量的自动化和手动工具,总体而言,主要包含以下几方面的工作:l1.发现阶段:扫描整个网站,通过跟踪站点上的所有链接和robots.txt文件实现扫描。扫描完成后会映射出站点的结构并显示每个文件的细节。l2.检测阶段:在上述扫描过程之后,AWVS会模拟黑客的攻击过程自动地对所发现的每一个页面发动一系列的漏洞攻击。9 项目六 Web网站攻击与防范l3.报告阶段:在发现
6、漏洞之后,AWVS就会在Alerts Node(警告节点)中报告这些漏洞。每一个报告都包含着漏洞信息和如何修复漏洞的建议。l4.总结阶段:为防止扫描误差,可以对目标网站再次扫描,AWVS会将结果保存为文件以备日后分析以及与以前的扫描相比较,使用报告工具,就可以创建一个专业的报告来总结这次扫描。10 项目六 Web网站攻击与防范l任务实施l本次任务实施拓扑示意图如图6-2所示。图6-2 使用AWVS软件对目标网站漏洞进行扫描拓扑示意图11 项目六 Web网站攻击与防范l1下载和安装AWVS软件。l(1)下载AWVS软件。l访问官方网站https:/ a demo”,填写电子邮件地址和基本信息,即
7、可下载AWVS的测试版,如图6-3所示。12 项目六 Web网站攻击与防范图6-3 下载AWVS测试版13 项目六 Web网站攻击与防范l(2)安装AWVS软件。l我们以AWVS10.5为例演示安装的步骤。l步骤1 双击运行安装包,打开安装向导,如图6-4所示。图 6-4 AWVS安装向导第一步14 项目六 Web网站攻击与防范l步骤2 点击图6-4中的“Next”按钮,进入“Licence Agreement”界面,选择“I Accept the agreement”,如图6-5所示。图6-5 AWVS安装向导第二步15 项目六 Web网站攻击与防范l步骤3 点击图6-5中的“Next”按钮
8、,进入“Select Destination Location”界面,选择软件安装的目录,如图6-6所示。图 6-6 AWVS安装向导第三步16 项目六 Web网站攻击与防范l步骤4 点击图6-6中的“Next”按钮,进入“Miscellaneous”界面,该界面提示接下来将会安装一个CA证书,如果不安装该证书,此软件就不能解析HTTPS协议的数据流,如图6-7所示。图6-7 AWVS安装向导第四步17 项目六 Web网站攻击与防范l步骤5 点击图6-7中的“Next”按钮,进入“Select Additional Tasks”界面,选择生成一个桌面图标,如图6-8所示。图6-8 AWVS安装
9、向导第五步18 项目六 Web网站攻击与防范l步骤6 点击图6-8中的“Next”按钮,进入“Ready to Install”界面,再次确认一下前几步选择的配置信息,如果有误,可以点击“Back”按钮进行修改,如果正确无误,可以点击“Install”按钮开始安装,如图6-9所示。图6-9 AWVS安装向导第六步19 项目六 Web网站攻击与防范l步骤7 安装程序运行结束后,会弹出“安全警告”对话框,提示将要安装“Acunetix WVS Root CA”证书。在安装向导的第四步已经提示需要安装这个证书,因此,点击“是”按钮,如图6-10所示。图6-10 AWVS安装向导第七步20 项目六 W
10、eb网站攻击与防范l步骤8 在安装向导的最后一步,点击“Finish”按钮,即可完成安装过程,如图6-11所示。图6-11 AWVS安装向导第八步21 项目六 Web网站攻击与防范l2.使用AWVS对目标网站进行扫描。l步骤1 双击桌面的AWVS图标,打开AWVS窗口。第一次运行会自动弹出如图6-12所示“Scan Wizard”窗口,打开一个Web网站扫描的配置向导。如果已经进行过了一些扫描工作,又想重新开启一次新的扫描,也可以选择“File”菜单中“New”子菜单中的“Web Site Scan”子菜单,或者快捷工具栏中的第一个图标“New Scan”,同样可以打开“Scan Wizard
11、”窗口,如图6-13所示。22 项目六 Web网站攻击与防范图6-12 扫描向导第一步23 项目六 Web网站攻击与防范图 6-13 新建Web网站扫描24 项目六 Web网站攻击与防范l步骤2 在“Scan Wizard”对话框“Scan Type”选项中选择“Scan single website”,表示只扫描一个网站,并在下面的“Website URL”文本框中输入要扫描的网站的地址:“http:/192.168.137.100/DVWA”。l步骤3 点击“Next”按钮,进入扫描向导的第二步“Options”,如图6-14所示。在这一步中可以在“Scanning profile”选项中
12、设定重点需要扫描的漏洞,在“Scanning settings”选项中设定扫描选项。此次任务实施中我们都选择“Default”。25 项目六 Web网站攻击与防范图6-14 扫描向导第二步26 项目六 Web网站攻击与防范l步骤4 点击“Next”按钮,进入扫描向导第三步“Target”,如图6-15所示。这里列出了扫描目标的基本情况,尤其要注意网站所使用的编程语言,如果AWVS识别不正确,需要手动指定。27 项目六 Web网站攻击与防范图6-15 扫描向导第三步28 项目六 Web网站攻击与防范l步骤5 点击“Next”按钮,进入扫描向导第四步“Login”,如图6-16所示。如果目标网站有
13、登录界面,这里需要提前输入登录的用户名和密码,否则扫描过程就不能顺利完成。如果有已经保存的登录文件,可以选择“Use pre-recorded login sequence”,在此我们选择“Try to auto-login into the site”,并在下面的“Username”“Password”文本框中分别输入登录的用户名和密码。29 项目六 Web网站攻击与防范图6-16 扫描向导第四步30 项目六 Web网站攻击与防范l步骤6 点击“Next”按钮,进入扫描向导第五步“Finish”,如图6-17所示。这里的“Save Sequence”按钮可以对登录的用户名密码进行保存,还可以
14、将其他网站加入扫描任务中,最后的“Save to a new template”可以将此次扫描保存一个模板,以方便下次扫描使用。31 项目六 Web网站攻击与防范图6-17 扫描向导第五步32 项目六 Web网站攻击与防范l步骤7 点击“Finish”按钮,即可开始对目标网站的扫描。根据目标网站的复杂程序和漏洞的多少不同,扫描时间也不相同。l3保存结果并生成扫描报告l扫描结束后,会有如图6-18所示的扫描结果,可直观地显示网站漏洞数量、漏洞类型等信息。33 项目六 Web网站攻击与防范图6-18 AWVS扫描结果34 项目六 Web网站攻击与防范l点击工具栏中的“Save scan results”按钮,可以将扫描结果保存为AWVS文件,该文件可以通过AWVS工具打开并查看详细信息。l点击工具栏的“Report”按钮,可以将扫描结果生成报告,如图6-19所示,在扫描结果报告界面点击工具栏的“Export to various formats”按钮,可以将报告导出成各种需要的格式,以方便在没有AWVS的环境中查看扫描报告。35 项目六 Web网站攻击与防范图6-19 生成扫描报告并导出36 项目六 Web网站攻击与防范THANKS