20199314 2019-2020-2 《网络攻防实践》第11周作业
20199314 2019-2020-2 《网络攻防实践》第11周作业
- 20199314 2019-2020-2 《网络攻防实践》第11周作业
- Web应用程序体系结构及其安全威胁
问题 | 解答 |
---|---|
这个作业属于哪个课程 | 《网络攻防实践》(https://edu.cnblogs.com/campus/besti/19attackdefense) |
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10737 |
作业正文 | 如下 |
Web应用程序体系结构及其安全威胁
1. Web应用程序体系结构及其安全威胁
1.1 Web应用体系结构
- Web应用程序是一种使用浏览器在互联网或企业内部网上进行访问操作的应用软件形态,通常以浏览器支持的语言(JavaScript Html)所编写,或能够在浏览器控制的环境中运行(JAVA Applet),依赖于浏览器来对应用程序进行渲染与执行。
-Web应用的体系结构由浏览器作为“瘦”客户端主要完成数据显示与展示内容的渲染功能;而由功能强大的“胖”服务器负责完成主要业务的计算处理;两者之间通过因特网或内联网上HTTP/HTTPS应用层协议的请求与应答进行通信。
- 胖服务器端由Web服务器软件、Web应用程序与后端数据库构成,并通过经典三层架构:表示层、业务逻辑层、数据层来进行组织与构建。
浏览器: 标准的web服务端,使用HTTP/HTTPS协议,HTML语言和web服务器进行交互,获取web服务器上的信息和应用服务。
Web服务器: web服务器软件通常被描述为HTTP守护程序,接收Web客户端对资源的请求,在这些请求上执行一些基本的解析处理以确定资源的存在,然后将它传送给web应用程序来执行,待web应用程序执行完逻辑并返回响应时,web服务器在将这个响应返回给web客户端,在浏览器上进行本地执行、渲染和展示。
web应用程序: 现代web应用的核心是处于服务端的业务逻辑。
数据库: 也被称为后台 是web应用存储数据的地方,数据层也作为web应用程序多级结构中的最后一层。
传输协议HTTP/HTTPS: 浏览器与Web站点之间的通信传输协议使用HTTP/HTTPS协议,HTTP协议默认使用TCP 80端口,该协议采用统一资源标识符URI对各种资源进行统一定义,采用请求/响应模式。SSL/TLS隧道技术,来实现加密传输的HTTPS协议。
1.2 Web应用安全威胁
-
针对浏览器和终端用户的web浏览安全威胁。
包括以浏览器渗透攻击为核心的网页木马,Phishing网站钓鱼等。 -
针对传输网络的网络协议安全威胁。
如针对HTTP明文插损胡协议的敏感信息监听,在网络层、传输层和应用层都存在的假冒身份攻击,以及拒绝服务攻击等。 -
系统层安全威胁。
Web站点的宿主操作系统,如Windows、Server、Linux等,存在着远程渗透攻击和本地渗透攻击威胁。 -
Web服务器软件安全威胁。web服务器如IIS、Apache作为一种典型的网络服务,也不可避免的存在着安全漏洞与弱点,攻击者可以利用这些漏洞对web服务器进行攻击,获取敏感信息。
-
Web应用程序安全威胁。
程序员在使用ASP、PHP等脚本语言实现Web应用程序时,由于缺乏安全意识或有着不良的编程习惯,最终导致Web应用程序出现安全漏洞,从而被共集资和渗透利用,包括SQL注入攻击、XSS跨站脚本攻击等。 -
Web数据安全威胁。
web站点中在Web应用程序后台存储的关联数据内容,以及web客户输入的数据内容,存在着被窃取、篡改及输入不良信息等威胁。
2. Web应用安全攻防技术概述
2.1 Web应用的信息收集
对目标WEB服务应用标识,收集服务器域名、IP地址和虚拟IP地址、Web服务器端口与其他开放服务、Web站点类型和版本、Web应用程序类型及版本、Web服务器及其存在的安全漏洞信息。
2.1.1 手工审查Web应用程序结构与源代码
- 静态和动态生成的页面:
HTML源文件可能包含有价值的隐藏和注释信息,如表单中的隐藏字段可能存在会话处理、用户标识、口令等敏感信息。 - 目录结构:
Web服务器上的存储目录结构也是攻击者关注的信息,攻击者不会局限于利用浏览器及站点的导航链接来进行访问,他们会对Web服务器上可能存在的管理员目录、旧版本目录、备份目录、数据目录等进行探查,来查看这些目录是否存在,以及是否由于不安全的配置可以进行目录文件枚举,从而可以从中搜索包含关键信息或可被攻击的文件。 - 辅助性文件:
Web应用程序的一系列辅助性文件,如CSS级联样式表、XML样式表、JavaScript文件、include文件等,通常用于格式化HTML页面以适应流行浏览器的不同要求,或者执行客户端的输入验证。手动审查这些辅助性文件可能会得到数据库字段结构、目录路径、Web应用输入参数以及数据库连接字符串等重要信息。 - 输入表单:
表单是Web应用程序接受用户输入的主要途径,通过手工审查页面源代码可以发现一些关键表单的位置,并可以深入地了解页面表单的各方面信息,包括数据提交的方法(使用GET还是POST来提交数据)、表单处理行为(调用什么脚本?使用何种脚本语言?)、输入字段名称、最大长度限制、隐藏字段、自动完成标记、口令字段等。 - 查询参数字符串:
从Web应用程序中很容易收集到一些动态页面文件的查询参数字符串,这些查询参数字符串可以被复用以假冒其他用户、获取受限的数据、运行任意的系统命令,或者执行其他应用程序开发者所不希望看到的动作。
2.1.2 自动下载与镜像Web站点页面
逐个手工地审查分析Web站点页面源码往往是很繁琐且低效的,一些自动下载与镜像Web站点页面的工具能够提升这一工作的自动化程度。在Linux系统上, 可以使用lynx、Wget等工具,而在Windows上, 可以使用迅雷、快车等工具。
2.1.3 使用Google hacking技术审查与探测web应用程序
对于在大范围内搜索存有漏洞的Web应用程序、符合特定条件的敏感信
息内容,以及在被Google检索的目标Web站点中搜索特定信息,GoogleHacking是一种最高效的审查与探测方法。
2.1.4 web应用程序安全评估与漏洞探测
为了找出薄弱环节,总结针对这个web应用程序的详细攻击步骤。针对Web应用程序的攻击主要集中在身份验证、会话管理、数据库操作、输入数据合法/合理性检查。
安全辅助分析工具主要包括: 浏览器插件、免费工具集、商业Web应用安全评估系统和漏洞扫描器。
2.2 攻击Web服务器软件
-
Web 服务器软件作为 Web 应用的承载体,也成为攻击者对 Web 应用实施攻击的首要目标之一。
-
针对 Web 服务器软件包的渗透攻击仍然存在,Web 服务器平台中的安全漏洞主要分为如下几大类。
数据驱动的远程代码执行安全漏洞: 作为一种典型的网络服务守护进程,Web 服务器软件包也面临着缓冲区溢出、不安全指针、格式化字符串等一系列数据驱动安全漏洞的远程渗透攻击,这类攻击往往能够让攻击者在 Web 服务器上直接获得远程代码执行的权力,并以相当高的权限执行任意命令。
服务器功能扩展模块漏洞: Web 服务器软件通过一些功能扩展模块来为核心的 HTTP 引擎增加其他的功能,启动包括动态代码执行(如微软的 ASP)、站点检索(如 IIS 的索引服务)、Web 分布式写作与版本管理协议 WebDAV、SSL 加密协议等。这些扩展模块往往较 Web 服务器软件的编写质量要差许多,因此也就存在更多的安全漏洞。
样本文件安全漏洞: 为了让更多人接受和依赖他们的技术,Web 服务器软件厂商经常在他们的软件包中包含样本文件和代码示例来演示自己平台一些新奇的用法。一旦这些样本文件存在安全漏洞,就使得攻击者可以利用这些默认包含的样本文件来对 Web 服务器实施攻击。
源代码泄露: 源代码泄露漏洞让渗透测试人员能够查看到没有防护措施 Web 服务器上的应用程序源代码,在特定情况下,攻击者甚至可以利用这些漏洞查看到系统级的文件。
资源解析攻击: Web 服务器软件在处理资源请求时,需要将同一资源的不同表示方式解析为标准化名称,这一过程被称为资源解析。一些 Web 服务器软件可能在资源解析过程中遗漏一些输入合法性与合理性验证的处理,从而就可能导致目录遍历、敏感信息泄露、甚至代码注入攻击。
2.3 攻击Web应用程序
-
在Web应用各个层次上,目前安全最薄弱的环节在于Web应用程序。(开发过程快、编码质量和测试水平最低、灵活性和复杂性) 。
-
在2004年发布的《WASC Web安全威胁分类v1.0》将Web应用程序安全威胁从攻击技术角度分为如下6类。
针对认证机制的攻击: 针对用来确认用户、服务或应用身份机制的攻击手段,包括暴力枚举、利用认证机制不完善弱点、攻击口令恢复验证机制等;
授权机制的攻击: 针对用来确认用户、服务或应用是否具有执行请求动作必须权限限制的攻击手段,包括信任/会话预测、利用授权机制不完善弱点、利用会话失效机制不完善弱点、会话身份窃取攻击等;
客户端攻击: 扰乱或者渗透攻击Web站点客户端用户的攻击手段,包括内容欺骗、跨站脚本攻击等;
命令执行攻击: 在Web站点上执行远程命令的攻击手段,包括缓冲区溢出、格式化字符串、LDAP注入、操作系统命令注入、SQL注入、SSI注入等;
信息暴露: 获取Web站点具体系统信息的攻击手段,包括目录枚举、信息泄露、路径遍历、资源位置可预测等;
逻辑攻击: 扰乱或者渗透攻击Web应用逻辑流程的攻击手段,包括功能滥用、拒绝服务攻击、对抗自动程序不完善、处理验证过程不完善等。
2.4 攻击Web数据内容
Web 站点除了通过服务器软件和应用程序中存在安全漏洞和弱点遭受攻击之外,还面临着针对敏感数据内容的攻击威胁,具体包括安全敏感数据泄露、网站内容遭受篡改,以及不良信息内容上传。
安全敏感数据泄露
- Web服务器存在目录遍历漏洞或不安全的目录文件枚举配置,在不经意间泄露;
- 利用Web服务器的Upload、incoming等上传目录临时中转文件时泄露;
- 由于缺乏安全意识,在Web站点公开的文档资料中包含个人隐私、企业秘密,甚至国家秘密信息。
网站篡改: 利用特定攻击手段入侵网站后,将网站页面内容进行替换,从而宣示入侵成功。
不良信息内容上传: WEB站点被不良入侵者攻击后,一些允许用户上传内容的网站可能遭到不良信息上传的威胁。
2.5 Web应用安全防范措施
Web 站点网络传输安全设防措施:
-
尽量使用 HTTPS 协议来保障 Web 站点传输时的保密性、完整性与身份真实性;
-
通过加密的连接通道来管理 Web 站点,避免使用未经加密的 telnet、FTP、HTTP 来进行 Web 后台管理,而使用 SSH、SFTP 等安全协议;
-
对关键的 Web 服务器,设置静态绑定 MAC-IP 映射,在服务网段内进行 ARP 等各类欺骗攻击的检测与 MAC 封禁机制。
Web 站点操作系统及服务安全设防措施:
-
对 Web 站点的操作系统与服务器软件进行及时的补丁更新;
-
对 Web 站点服务器的橾作系统及各种开放服务进行远程安全漏洞扫描;
-
采用提升系统与服务安全性的一般性设防措施,包括关闭所有不使用的服务,避免使用明文传输的网络服务;设置强口令字,以及安全的服务配置:部署防火墙,设置对控制及内容上传通道的限制访问;配置数据备份服务,必要时设置冗余和双机热备机制。
Web 应用程序安全设防措施:
-
应该认识到采用动态内容、支持用户输入的 Web 应用程序较静态 HTML 具有更高的安全风险;
-
对于必须提供用户交互、采用动态页而的 Web 站点,尽量使用具有良好安全声誉及稳定技术支持力量的 Web 应用软件包;
-
只在必要时候自主或外包开发 Web 应用程序;
-
使用 Web 服务器软件提供的日志功能,对 Web 应用程序的所有访问请求进行日志记录与安全审计。
Web 站点数据安全设防措施:
-
提商网站内容维护人员的数据安全意识;
-
对维护网站的数据安全实施日常监测和防护。
3. SQL注入
代码注入是针对 Web 应用程序的上流攻击技术之一。代码注入根据攻击目标的不同又分为:
- 恶意读取、修改与操纵数据库的 SQL 注入攻击;
- 在 Web 服务器端安装、执行 Webshell 等恶意脚本的 PHP 注入或 ASP 注入攻击;
- 在 Web 服务器端恶意执行操作系统命令的 Shell 注入攻击;
- 其他多种多样的注入攻击,如 LDAP 注入、邮件命令注入、空字节注入、SSI 注入、XPath 注入、XML 注入、XQuery 注入等。
3.1 SQL注入攻击原理
-
SQL注入是利用Web应用程序数据层存在的输入验证不完善型安全漏栋实施的一类代码注入攻击技术,这类被攻击的漏洞被称为SQL注入漏洞, 是由于用户输入没有被正确地过滤以消除SQL语言中的字符串转义字符,如引号(')、双引号(")、反引号(、)、分号(;)等,或者没有进行严格的类型判断,从而使得用户可以输入并执行一些非预期的SQL指令代码。
-
SQL注入攻击的原理是向Web应用程序提供的用户输入接口输入一段精心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得注入代码得以执行完成非预期的攻击操作行为。
3.2 SQL注入攻击步骤和过程
发现SQL注入点: 常见注入点存在于http://SITE/xxx.asp?some_rec=yyy的动态网页。当some_rec字段为整形参数时,通常数据库SQL操作语句为SELECT * FROM some_table WHERE some_rec = yyy,可将参数取值yyy设置为如下三种不同的字符串,通过返回页面判断该动态页面是否存在SQL注入点。若都满足,可认定该web应用程序为整数类型输入存在注入点。
- yyy修改为yyy' 造成SQL出错,动态页面返回错误提示信息。
- yyy修改为yyy and 1=1 不对查询条件造成任何影响,返回正常页面。
- yyy修改为yyy and 1=2 查询不到任何信息。
判断后台数据库类型 - 利用数据库服务器的系统变量。
- 利用数据库服务器的系统表进行判断。
后台能数据库中管理员用户口令字猜测 - 用户口令字猜解攻击过程一般包括猜解表名,猜解字段名以及用户与口令猜解。
- 猜解字段值可用二分法来快速逼近。
上传ASP后门,得到默认账户权限
本地权限提升
利用数据库扩展存储过程执行shell命令
SQL注入工具
- 国外工具:
Wposion、wieliekoek.pl、SPIKE Proxy工具、SPI Tooklit工具包中也包含一个名叫“SQL Injector”的自动化SQL注入测试工具。 - 国内工具:CSC、NBSI、HDSI、阿D注入工具、WED、Domain、Pangolin等。
SQL注入攻击防范措施
- 使用类型安全的参数编码机制。
- 凡是来自外部的用户输入,必须进行完备检查。
- 将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象。
- 加强SQL数据库服务器的配置与连接。
4. XSS跨站脚本攻击
XSS跨站脚本攻击成为排名最靠前的安全威胁类型之一;与代码注入攻击不同的是,XSS跨站脚本攻击的最终目标不是提供服务的Web应用程序,而是使用Web应用程序的用户。
4.1 XSS攻击技术原理
与代码注入类似,XSS攻击的根源同样是Web应用程序对用户输入内容的安全验证与过滤不够完善,用户提交的内容包含HTML、JavaScript及其他脚本代码,而一旦Web应用程序没有对这些输入的合法性进行有效检查与过滤,就很有可能让这些恶意代码逻辑包含在服务器动态产生或更新的网页中。
4.2 XSS攻击类型
- 持久性XSS漏洞:
通常出现于一些可以将用户输入持久性的保存在Web服务器端,并在一些“正常”页面中持续显示,从而能够影响所有访问这些页面的其他用户,因此该类XSS漏洞也被称作存储性XSS漏洞。 - 非持久性XSS漏洞:
当Web浏览器在HTTP请求参数或HTML提交表单中提供的数据,被立即由服务器端脚本使用产生一个提供给该用户的结果页面,而缺乏恰当的请求数据安全验证与过滤,那么就很可能存在着非持久性的XSS漏洞。
XSS攻击银行网站实例步骤:
(1)攻击者构造出一个包含恶意脚本的bank.com登录请求链接,并通过EMail/HTTP等方式将该攻击链接发送给其他bank.com网站用户;
(2)受害者点击攻击链接后,将会把恶意链接中包含的恶意脚本当做用户名参数提交给bank.com的登录处理界面;
(3)由于bank.com登录处理页面存在XSS漏洞,将会在返回的欢迎页面中包含恶意客户端脚本;
(4)攻击者的恶意客户端脚本在受害者浏览器中执行,通常会驱动浏览器向攻击者发送会话令牌,如ID、Cookie等信息;
(5)攻击者获得用户会话令牌以后,就可以劫持用户会话,或者伪造用户登录bank.com,并可实施进一步攻击。
4.3 XSS攻击防范措施
4.3.1 服务器端防范措施
为了消除XSS攻击风险,需要采取一种三重防御方法来阻止漏洞的发生,包括输入验证、输出净化和消除危险的输入点。
-
输入验证:Web应用程序应根据用户提交的数据进行严格的验证和过滤,需要验证的数据的潜在特性包括用户输入数据不是过长、仅包含某些合法字符、不能包含某些HTML与JavaScript关键标签符号、数据与一个特殊的正规表达式相匹配等。
-
输出净化:Web应用程序对用户提交的数据进行HTML编码,以净化可能的恶意字符,将可能存在的恶意字符当做HTML文档内容而非结构来处理。
-
消除危险的输入点:Web应用程序页面中有一些位置,在这里插入用户提交的输入就会造成极大的风险;因此,开发者应力求寻找其他方法执行必要的功能。
4.3.2.客户端防范措施
跨站脚本最终是在客户端浏览器上执行的,因此对抗XSS攻击需要提升浏览器的安全设置,如提高浏览器访问非受信网站时的安全等级、关闭Cookie功能或设置Cookie只读,此外也可采用非主流的安全浏览器如Chrome、Opera来尽量降低安全风险。
实践5--SEED SQL注入实验
任务:
1.对 SELECT 语句的攻击 (在不知道密码的情况下登录该应用程序)
2.对 UPDATE 语句的攻击 (在不知道密码的情况下修改某用户资料)
3.对抗 SQL 注入 ( 修复该web应用的SQL注入漏洞)
实验步骤:
- 对 SELECT 语句的攻击,运行Apache Servert(托管网站的Apache2服务器),输入命令sudo service apache2 start。
- 打开SEED,访问搭建好的界面:http://www.sqllabmysqlphpbb.com/。
2.使用快捷键ctrl+U查看该页面源码,可以看到前端提交表单数据到unsafe_home.php进行校验。
3.输入vim /var/www/SQLInjection/unsafe_home.php查看源代码分析分析一下unsafe_home.php。
- 可以发现web数据库用户名root和密码seedubuntu,以及SQL数据库中包含的姓名、电子代码、薪水等信息。
- 下图可以发现还区分为admin用户和普通用户。
6.回到where name修改成WHERE name= 'Admin' #' and Password='$hashed_pwd',这样可以绕过密码验证,因为#后面的语句都被注释掉了,那么where部分就变成:
-
直接输入Admin'# 登陆成功。
-
对 UPDATE 语句的 SQL 注入攻击
-
利用相同的方法免登录Boby账号,查询到自身信息和修改修改信息(无法修改薪水)。
10.在NickName那里输入语句', salary='1000000' where EID='20000';#,这样#后面的就会被注释,所以就直接执行set salary='1000000' where EID = '20000'
11.也就是对unsafe_edit_backend.php中的以下部分进行修改。
12.修改其他用户的密码。 我们知道密码在数据库中是以sha1的形式存储的,那么就简单了,那么首先我们需要获取一个指定密码的sha1值。使用指令echo -n '666'|sha1sum输出密码666的sha1值为cd3f0c85b158c08a2b113464991810cf2cdfc387 。
13.登陆Boby在第一个空输入', Password='cd3f0c85b158c08a2b113464991810cf2cdfc387 ' where Name='Alice';#
14.用666登陆Alice。
-
对抗SQL注入,SQL注入漏洞的本质原因是由于执行语句和数据放在一块,使用预处理语句(Prepare Statement)可以很好的防止这一攻击出现。
主要为两块
unsafe_home.php中,对SELECT语句进行预处理。
原来的语句修改;$sql = $conn->prepare("SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email,nickname,Password FROM credential WHERE name= ? and Password= ?");
$sql->bind_param("ss", $input_uname, $hashed_pwd);
unsafe_edit_backend.php中,对UPDATE语句进行预处理。
修改为:
$sql = $conn->prepare("UPDATE credential SET nickname=?,email=?,address=?,PhoneNumber=? where ID=$id;");
$sql->bind_param("ssss", $input_nickname, $input_email,$input_address, $input_phonenumber);
实践6--XSS攻击实验
任务:
- 测试漏洞
- 在消息窗口中显示Cookie
- 获得受害主机的Cookie
- 利用Cookie仿冒受害主机
流程:
- 登录到phpBB中,发表信息并用LiveHTTPHeaders得到该信息的发表请求。
- 从发表请求中抽取用户的Cookie信息和发布消息内容,进行修改
- 编写Java程序,实现向服务器发送HTTP请求。
- 将修改好的消息和Cookie信息通过Java程序发送到服务器
- 刷新页面,你将看到修改后的信息。
- 尝试仿冒用户发布新的消息,而不是修改用户曾经发布的消息
实验步骤:
1.运行Apache Server:镜像已经安装,只需运行命令sudo service apache2 start
2.测试漏洞,访问具有XSS漏洞的Web 网站:http://www.xsslabelgg.com (已经预设了Alice的账户为alice密码seedalice,Boby账户boby密码seedboby,Admin账户名admin密码seedelgg)
3.进入个人信息编辑页面,在Brief description中插入我们的XSS攻击代码 ,并保存。
4.登陆Boby账户,查看Alice的profile,弹出了XSS弹窗。攻击成功,主要原因是因为没有对字段进行安全检查和过滤,显示内容的时候,也是直接读取显示。
5.在消息窗口中显示Cookie,步骤于上一步相同,只是把 替换成,弹出提示框,显示当前的 cookie 信息。
6.获得受害主机的Cookie,也就是将只有用户可以看到cookies,发送给攻击者。
7.重新写一个帖子输入,
8.上面的document.write()JavaScript 函数提供了可以对浏览器 DOM 结构(文档对象模型)进行操作的 API 接口,escape()函数表示对对字符串进行编码。ip192.168.200.7是本机地址,监听端口为5555。
9.在终端输入:nc -l 5555 -v 监听端口,获得受害主机Cookie。
10.利用Cookie仿冒受害主机
11. 登录用户为 Alice,然后访问用户 Boby 的主页:http://www.xsslabelgg.com/profile/boby
12. 由于HTTP Header Live下载不下来。打开火狐浏览器开发者模式中的 Network 页面,然后点击左侧的Add friend,添加 Boby 为好友。
13.在post中可以看到http://www.xsslabelgg.com/action/friends/add?friend=45&_elgg_ts=1589379790&_elgg_token=_5Nizwk_0qfFwA_e0kiA2A,
显然,这里用到了三个参数,friend=、_elgg_ts、_elgg_token . 分别是好友、时间、身份认证;而请求的地址是:http://www.xsslabelgg.com/action/friends/add
14.于是,可以构造下面的 JS 脚本,用于添加其他好友( 参考孙启龙博客)。
15.登录 Boby 访问 Alice 主页:http://www.xsslabelgg.com/profile/alice, 返回 Boby 主页,成功添加 Alice 为好友。
16.编写XSS蠕虫。
- Alice的about me处放入此代码,切换账户让boby去访问Alice主页,可以截获如下信息。同时,蠕虫病毒已经侵染了Boby的主页。
18.对抗XSS攻击
Elgg有来用来防御XSS攻击的插件。用amin账户进行登录,找到Account->administration->plugins,找到HTMLawed插件,单击Activate以启用的对策。
7. 学习中遇到的问题及解决
问题1:实践中修改其他用户的密码时未找到用户。
问题1解决方法:密码sha1的值输入错误。
问题2:LiveHTTPHeaders安装不了。
问题2解决办法:采用系统自带的network工具。
问题3:两个用户间第二次访问显示cached文件, 造成XSS蠕虫失败。
问题3解决办法:应该是浏览器访问成功就直接把缓存文件放在本地了把,访问时调用的是本地缓存文件。
8. 学习总结
本章主要掌握了在web页面下的SQL注入代码攻击以及XSS跨站脚本攻击。实践中出点错误很容易耗费时间。尤其是js脚本看起来费劲难懂。