版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章基于Wireshark的TCP协议分析实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5Wireshark是开源的网络协议分析工具,被广泛誉为“网络世界的显微镜”。它能捕获并深度解析网络中的数据包,帮助用户理解流量行为、诊断故障、分析安全威胁。Wireshark基础Wireshark基础传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。TCP旨在适应支持多网络应用的分层协议层次结构,互连的计算机通信网络中成对的应用程序进程之间能够依靠TCP提供可靠的通信服务来传输字节流。TCP协议简介TCP协议简介第一次握手:客户端向服务器发送一个SYN报文(SEQ=x,SYN=1),表示客户端希望建立连接,并进入SYN_SEND状态,等待服务器的确认。此时,客户端的TCP连接处于半开状态,因为它已经发送了连接请求,但还没有收到服务器的回应。三次握手三次握手第二次握手:服务器收到客户端的SYN报文后,会回应一个SYN+ACK报文(SEQ=y,ACK=x+1),表示服务器同意建立连接,并对客户端的SYN报文进行了确认。此时,服务器进入SYN_RECV状态,等待客户端的确认。服务器发送的SYN报文实际上是它自己的连接请求,而ACK报文则是对客户端SYN报文的确认。第三次握手:客户端收到服务器的SYN+ACK报文后,会向服务器发送一个ACK报文(ACK=y+1),表示对服务器SYN报文的确认。此时,客户端和服务器都进入了ESTABLISHED状态,表示TCP连接已经成功建立,可以开始传输数据了。三次握手第一次挥手:客户端发送一个FIN包给服务端,表示希望关闭连接,不再发送数据。此时,客户端进入FIN_WAIT_1状态。第二次挥手:服务端收到客户端的FIN包后,回复一个ACK包,表示已经收到了客户端的关闭请求,但此时服务端可能还有数据需要发送给客户端,因此不会立即关闭连接。此时,服务端进入CLOSE_WAIT状态。四次挥手第三次挥手:当服务端完成所有数据的发送后,也发送一个FIN包给客户端,表示希望关闭连接。此时,服务端进入LAST_ACK状态。第四次挥手:客户端收到服务端的FIN包后,回复一个ACK包,表示已经收到了服务端的关闭请求,并同意关闭连接。此时,客户端进入TIME_WAIT状态,等待一段时间(通常是2倍的最长报文段寿命MSL)后,确保所有的数据都已经被对方接收并处理完毕,才最终关闭连接。四次挥手内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过Wireshark工具分析典型网络协议数据包,理解TCP协议格式和工作过程,为后续学习打下基础。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)安装Wireshark,熟悉功能菜单。(2)通过HTTP和HTTPS访问目标网站(如学校门户网站),登录邮箱等操作。用Wireshark捕获操作过程中产生的各层协议数据包(要求至少包括IP协议、ICMP协议、TCP协议、UDP协议、HTTP协议),观察数据包格式(特别是协议数据包首部字段值),重点分析TCP协议的三次握手和四次挥手过程。实验内容和环境(3)实验用机的操作系统为Windows。(4)最新版本的Wireshark软件详见其官网。(5)访问的目标网站可由教师指定,邮箱可用自己的邮箱。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)教师指定访问目标,此案例通过访问如下博客来分析TCP三次握手和四次挥手过程。我们使用ping命令获取该站点的IP地址,如图1-1所示。实验步骤图1-1ping目标网址界面2.精准抓包。打开wireshark,通过已经知道的IP地址以及TCP协议,输入命令进行抓包:ip.addr==56andtcp.port==64530,如图1-2所示。实验步骤实验步骤图1-2数据报捕获界面(3)TCP的三次握手过程分析①第一次握手分析根据图1-3所示,第一次握手是客户端主动连接服务端,正如传输协议里所说的Seq=0(Seq是序列号)表示初次连接,Ack=0(Ack是确认码,ACK是确认标志),初次连接是0,同时还发送了一个标志位,SYN=1,表示客户端请求建立连接。实验步骤实验步骤图1-3第一次握手TCP包信息②第二次握手分析我们通过分析SourceIP和DestinationIP发现服务端对客户端的确认信息,初次连接为Seq=0,Ack=1(上一次客户端的序列号+1)。此时的标志位SYN=1和ACK=1,表明这是一个确认的回馈连接,如图1-4所示。实验步骤实验步骤图1-4第二次握手TCP包信息③第三次握手分析第三次握手是客户端对服务端的反馈,Seq=1,因为是客户端的第二次交互,Ack=1(上一次服务端连接的序列号+1),此时标志位ACK=1表示确认收到了连接回复。至此,三次握手就建立连接完毕,接下里就是进行http请求的数据传输和应答过程。实验步骤实验步骤图1-5第三次握手TCP包信息4.TCP的四次挥手过程①第一次挥手服务端对客户端发送连接关闭请求,用来关闭客户端到服务端的数据传送,标志位FIN=1,ACK=1,表示发送要断开数据传送的状态,进入FIN-WAIT-1状态Seq=1和Ack=1,如图1-6所示。实验步骤实验步骤图1-6第一次挥手TCP包信息②第二次挥手根据图1-7所示,客户端收到服务端的连接关闭信息FIN后,发送ACK确认报文,进入CLOSE-WAIT状态。实验步骤实验步骤图1-7第二次挥手TCP包信息③第三次挥手此时依旧是客户端发包,发出FIN,表示客户端也准备关闭请求,用来断开客户端到服务端的数据传送,进入LAST-ACK状态,如图1-8所示。实验步骤实验步骤图1-8第三次挥手TCP包信息④第四次挥手服务端收到客户端的FIN后,发送ACK确认报文,进入TIME-WAIT状态,服务器等待两个最长报文段寿命后进入Close状态。客户端收到确认后,立即进入Close状态。至此,四次挥手完成,如图1-9所示。实验步骤实验步骤图1-9第四次挥手TCP包信息内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者能够深入了解TCP建立与关闭过程。TCP的三次握手和四次挥手在目的、过程和作用上存在显著差异。三次握手用于建立连接,确保通信双方具备数据发送和接收的能力,并协商好初始序列号。而四次挥手用于断开连接,确保数据在通信两端传输的完整性和可靠性,及时释放系统资源。这两个过程共同构成了TCP协议中连接管理和数据传输的重要机制。总结与思考谢谢!第二章RSA攻击实训2.1RSA算法实现与测试实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考51977年,美国麻省理工学院的三位教授Rivest、Shamir和Adleman共同研制出一种公开密码系统,以其姓氏首字母命名为RSA公钥密码系统。1978年,阐述该系统的论文《获得数字签名和公开钥密码系统的方法》正式发表。至今,RSA仍是应用最广泛的公钥密码方案之一。RSA密码系统RSA算法基于一个简单的数论事实:将两个大质数相乘很容易,但对它们的乘积进行因式分解却极为困难,因此可以将乘积公开作为加密密钥。该系统包括密钥生成、加密和解密三个部分。RSA算法
密钥生成过程⑤计算私钥D。D、E、L之间必须满足以下关系:1<D<L且E*DmodL=1,其中和gcd分别是欧拉函数和计算整数的最大公约数函数。密钥生成过程RSA的加密过程可以使用一个通式来表达:密文=明文^EmodN。因此,只要知道E和N,任何人都可以进行RSA加密,所以说E、N是RSA加密的密钥,E和N的二元组就是公钥,即:公钥=(E,N)。明文=密文^DmodN,即:对密文进行D次方后除以N的余数就是明文,这就是RSA解密过程。知道D和N就能进行解密,私钥=(D,N)。RSA加密过程内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)熟悉公钥加密和私钥解密的概念,理解RSA算法的基本原理。(2)熟练使用C语言等编程语言实现RSA加密算法。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)学习、掌握RSA算法的原理,编写程序实现RSA算法。(2)实验用机的操作系统为Ubuntu18.04。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)从官网下载VMwareWorkstationPro。从清华大学开源软件镜像站选择版本ubuntu-18.04.6-desktop-amd64.iso开始下载。(2)打开VMwareWorkstationPro,选择新建虚拟机,安装程序光盘映像文件ubuntu-18.04.6-desktop-amd64.iso,完成创建用户、拆分多个文件等步骤等待虚拟机安装,如图2-1所示。实验步骤实验步骤图2-1安装虚拟机界面(3)创建文件夹code,进入code文件夹(mkdircode;cdcode),在此目录下新建C语言文件main.c,输入RSA相关代码并运行,编译刚刚编写的代码,查看结果(sudogeditmain.c;gccmain.c-omain;./main),如图2-2所示实验步骤图2-2RSA算法编译界面运行程序,输入待加密的明文,可以看到加密和解密的结果。如:输入31、37为p、q,17为e,通过加密算法得加密后的密文是1050,如图2-3所示。实验步骤图2-3RSA算法程序运行界面RSA算法实现代码RSA算法实现代码详见书本P9-P12内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者能够深入了解RSA算法的原理和实现过程,能够运用编程语言进行实现,开始基本认识并掌握一些比较复杂的加密算法。RSA加密和解密的密钥不一致,密钥太长,加解密速度慢。这个实验的算法相对来说较容易实现,但真正掌握这个算法还需要对算法进行深入分析。总结与思考2.2RSA算法攻击实现实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5
预备知识预备知识
根据上面两个等式可以得到:从而可解出p、q值。预备知识
共模攻击
共模攻击
共模攻击
低加密指数攻击
低加密指数广播攻击
低加密指数广播攻击
低加密指数广播攻击内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)理解并实现RSA算法的基本原理,包括模幂运算、模逆运算等关键步骤。(2)掌握共模攻击,低加密指数攻击和低加密指数广播攻击的基本原理。实验目的(1)编写程序实现基于共模攻击,低加密指数攻击和低加密指数广播攻击对RSA密码破解。(2)实验用机的操作系统为Ubuntu18.04。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5
实验步骤
实验步骤内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者可以掌握共模攻击、低加密指数攻击和低加密指数广播攻击的基本原理。关于共模攻击,需要强调模数共享这个关键漏洞点。实验部分要突出证书场景的还原,毕竟现实中多个服务共用证书的情况并不少见(多用户系统中同一证书机构错误地为不同用户签发相同的证书)。总结与思考确保每个密钥对使用独立生成的模数n,避免共享素数,是有效的防御方案。关于低加密指数攻击方面,用户可能混淆明文过小和加密指数过小两种场景。需要明确区分,尤其是m^e<n的情况其实属于明文脆弱性而非e过小导致。为了有效抵御低加密指数攻击避免使用e=3,推荐e=65537(平衡安全与效率)。总结与思考谢谢!第三章数字签名技术实训3.1RSA签名算法实现实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5数字签名是一种基于密码学的技术,相当于现实世界中手写签名或印章的电子化且具有更高安全性的替代方案。其核心目的是确保数字文档、消息或软件的真实性、完整性和不可否认性。具体目标包括:真实性:验证信息确实来自声称的发送者,而非他人冒充;预备知识完整性:保证信息签署后未被篡改,即使一个比特的变动也会导致验证失败;不可否认性:使发送者无法事后否认其签名行为,通常在法律上具备效力。RSA数字签名是一种常用的非对称加密算法,用于确保数据的完整性和身份验证,下面是RSA数字签名的计算过程:预备知识1.密钥生成。a.随机选择两个大素数p和q。b.计算n=p*q,n为公钥和私钥的一部分。c.计算欧拉函数φ(n)=(p-1)*(q-1),φ(n)为公钥和私钥的一部分。d.选择一个整数e,满足1<e<φ(n),且e与φ(n)互质,e为公钥的一部分。预备知识
预备知识
预备知识内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5理解RSA数字签名的原理,熟练掌握RSA数字签名的过程。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)编程实现RSA数字签名与验签,解决身份冒充和数据篡改问题。(2)实验用机的操作系统为Ubuntu18.04。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)打开虚拟机并开启终端,创建文件夹code,进入此文件夹,创建C语言文件(mkdircode;cdcode;sudogeditmain.c),如图3-1所示。实验步骤图3-1RSA签名创建界面(2)创建成功后,弹出main.c窗口,输入RSA签名代码,保存并退出。实验步骤实验步骤(3)编译代码,并运行,运行结果如图3-2所示。输入待签名的消息,可以看到签名后的消息与验签结果。假设输入25为待签名的消息,通过签名算法得签名后的消息为20。实验步骤图3-2RSA签名算法运行完成界面内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者理解了RSA数字签名的原理,熟练掌握RSA数字签名的过程。数字签名实验的核心在于展示“非对称性”:用私钥签名,公钥验证。常见的教学实验通常包含三个漏洞方向:无填充伪造、低指数漏洞和私钥泄露(签名与解密同源)。总结与思考1.“签名≠加密”RSA签名是私钥运算,但绝不能直接用于解密——需严格区分应用场景。2.填充的核心地位无填充的RSA签名极易被伪造,填充方案是安全基石。总结与思考3.参数安全边界低指数(e=3)在签名中与加密场景同样危险,需强制淘汰。4.服务端安全开放签名接口需视为高危操作,必须限制输入范围和频率。总结与思考核心结论:RSA签名的安全性依赖于“哈希+填充+大参数+系统隔离”四层防御,任何一层的缺失都将导致致命漏洞。实验思考:RSA数字签名在TLS证书、区块链交易等场景广泛应用,但其安全性高度依赖工程实现。通过实验可深刻理解:理论安全的算法+脆弱的实现=实际系统漏洞,规范使用比算法本身更重要。总结与思考3.
2ECC签名算法实现实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5ECDSA(EllipticCurveDigitalSignatureAlgorithm,椭圆曲线数字签名算法)是一种基于椭圆曲线密码学(EllipticCurveCryptography,ECC)的数字签名算法。与传统的数字签名算法(如RSA)相比,ECDSA在相同安全强度下所需的密钥尺寸更小,且具有更高的安全性,因此被广泛应用于SSL/TLS、比特币等现代加密协议中。预备知识ECDSA基于椭圆曲线的数学原理生成和验证数字签名,结合了公钥密码学与散列函数技术,用于验证消息的完整性和发送方的真实性。通过该算法,接收方能够确认以下两点:消息完整性:消息在传输过程中是否未被篡改;预备知识来源真实性:消息确实由声称的发送方发出。ECDSA依赖于非对称密码机制,使用私钥进行签名、公钥进行验证,其过程可分为签名生成和签名验证两个步骤。预备知识
签名过程
签名过程
验证过程
验证过程内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5本实验旨在了解椭圆曲线密码学算法的基本原理,实现和测试ECC基本算法。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)完成ECC算法的实现与测试(2)实验用机的操作系统为Ubuntu18.04。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)创建main.cpp①打开ubuntu虚拟机,使用快捷键Ctrl+Alt+t进入控制台②输入mkdircode,在当前路径下创建文件夹code,我们默认在主目录下创建文件夹,如图3-3所示实验步骤图3-3创建文件夹界面③进入code文件夹,输入sudogeditmain.cpp新建C语言文件main.cpp,并在main.cpp文件中输入程序代码,如图3-4所示ECC签名实现代码详见书本24页实验步骤图3-4创建ECC签名界面(2)运行代码,查看结果,如图3-5所示。实验步骤图3-5ECC签名运行结果界面内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5本次实验,我们对椭圆曲线密码算法进行了深入的探究,有助于深化读者对椭圆曲线密码学基础理论的理解。在实际应用中,椭圆曲线密码学已被广泛用于构建高效且安全的密码体系,从而大大提高了信息传输的可靠性和隐私性。这一实验成果有利于我们进一步学习椭圆曲线密码学的理论研究和实际应用。总结与思考1.“随机数k是生命线”:椭圆曲线数字签名算法的安全性完全依赖于k的机密性和唯一性——一次重用即导致灾难性崩溃。2.实现>理论:即使曲线数学安全,侧信道漏洞仍可击穿系统,如:智能卡被攻破。总结与思考谢谢!第四章身份认证与访问控制技术实训4.1口令破解实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5身份认证是指对某实体身份的真实性与有效性进行验证的过程。其核心在于通过检验该实体的特定属性,以判断其是否合法。可用于验证的属性包括密码、数字签名,以及指纹、声纹、虹膜等生物特征。身份认证常用于通信双方之间的相互身份确认,从而保障通信过程的安全性。身份认证在网络信息系统中,准确识别用户身份是构建安全体系的基石与核心。因此,在实际应用中,多数系统会要求用户在使用前提供某些信息,以完成身份认证。目前,主要的身份认证方法包括以下四种,既可独立使用,也可组合形成多因素认证系统:身份认证(1)基于所有物(持有因素):指借助用户持有的特定物件进行认证,例如电子钥匙、智能卡或智能手机等。该方式要求用户必须持有相应设备,并通过其中存储的信息与主机进行验证。(2)基于所在位置(地址因素):依据用户所使用的设备或物理位置信息进行识别,如IP地址、MAC地址或其实际办公地点。身份认证(3)基于个人特征(生物因素):利用个体独特的生理或行为特征进行身份鉴别,例如指纹、人脸、虹膜或声音等。这类方法安全性较高,通常应用于安全要求严格的系统中。身份认证(4)基于所知信息(知识因素):最常见的是口令认证,如密码或PIN码。然而该方法存在一定局限性:若密码设置过于复杂,用户难以记忆;若过于简单,则易被攻击者破解,因此安全性相对较弱,实践中可能存在较大风险。身份认证条件安全认证系统与无条件安全认证系统是无安全认证的两种基本类型。无条件安全性也称为理论安全性,指认证系统的安全强度不依赖于攻击者的计算能力或资源限制。这意味着,攻击者无论采取何种策略试图破解系统,其成功率都不会高于随机猜测。身份认证条件安全性则被称为实际安全性,其安全性是通过破解该系统所需的理论计算量来衡量的。如果在理论上可以破解,但根据现有的计算资源和工具无法在可行时间内完成所需计算,则该系统被视为是计算安全的,例如基于DES构建的消息认证码(MAC)。身份认证若可证明破解某个认证体制在计算上的困难程度等价于解决某个已知数学难题,则该体制被认为是可证明安全的,RSA数字签名体制即属于此类。身份认证另一分类方式为是否具备保密功能。具备保密功能的认证系统能够同时实现身份认证与信息加密,而无保密功能的认证系统则仅专注于身份的真实性验证。身份认证此外,根据是否引入仲裁机制,认证系统还可划分为有仲裁和无仲裁两类。传统的无仲裁认证系统假设通信双方彼此信任,共同抵御外部攻击者的主动攻击,系统中仅包含发送方、接收方和攻击者,不涉及第三方仲裁。然而在现实应用中,通信双方可能存在互不信任的情形,例如发送方否认曾发出过某条消息,或接收方否认收到消息、甚至声称收到的是经自己伪造的不同消息。身份认证这类争议一旦发生,便需依赖仲裁方进行裁决。相应地,能够处理此类争议的认证系统即被称为有仲裁认证系统。身份认证暴力破解暴力破解属于一种穷举试错方法。攻击者通过系统地枚举所有可能的字符组合(例如密码、密钥或用户名等),逐一尝试,直至匹配成功。该方法并不利用系统漏洞或设计缺陷,而是纯粹依赖强大的计算资源和持续的尝试。破解的成功率主要受三个因素影响:密码或密钥的强度、攻击者拥有的算力,以及目标系统所部署的防护机制。暴力破解对用户而言,使用高强度的密码(特别是较长的密码)并启用多因素认证(MFA)是有效抵御此类攻击的主要方式。暴力破解常用的暴力破解工具包括Hydra、Metasploit、X-Hydra、Medusa、Ncrack和Patator等。其主要应用场景包括:(1)密码破解:用于攻击各类登录接口,如网站、操作系统、网络设备;破解加密文件(如ZIP、RAR、PDF及Office文档);获取加密磁盘分区或无线网络(如WPA/WPA2PSK)的访问权限。暴力破解(2)密钥破解:尝试恢复加密数据所需的密钥,虽一般针对对称加密算法(对非对称加密如RSA通常因计算量过大而不现实)。(3)发现隐藏资源:通过猜测可能存在的路径或文件名,探测网站或其他服务中的未公开内容。暴力破解(4)凭证填充:使用已泄露的用户名和密码组合,在其他系统上进行大规模登录尝试。这类攻击本质上是一种针对性更强的字典攻击,依赖用户在多个平台重复使用同一凭证的行为。内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)理解暴力破解的思想及原理。(2)培养搭建网络攻防实验环境的能力。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)掌握使用Docker部署DVWA。(2)掌握使用BurpSuit工具进行网站登录信息的暴力破解方法。(3)虚拟机:Kali-23.4。(4)工具:FoxyProxy、BurpSuit。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考51.使用Docker部署DVWA(1)在Kali虚拟机命令行首先执行suroot命令进行提权。首先安装docker.io,在命令行执行命令:sudoaptinstalldocker.io,并通过查看版本信息命令docker--version,验证是否安装成功如图4-1所示。实验步骤实验步骤图4-1安装docker.io(2)通过dcoker部署DVWA,执行命令:dockerrun-d--namehcc_dvwa-p8081:80vulnerables/web-dvwa。端口映射为8081,名称为hcc_dvwa,并可以通过dockerps,发现部署的hcc_dvwa,如图4-2所示。实验步骤实验步骤图4-2使用Docker部署DVWA打开kali机上的火狐浏览器,在地址栏输入:8081,访问DVWA,如图4-3所示。实验步骤图4-3访问DVWA第一次登录时不需要输入用户名和密码,直接点击Login会跳转到下方页面,点击Create/ResetDatabase,再次登录需要输入用户名admin,密码password进行登录。到此为止,DVWA已经部署完成。下面是本次实验的一些初始化设置,进入DVWA(见图4-4)后,设置DVWASecurity,选择Low,点击Submit,设置完之后,点击进入BruteForce,如图4-5所示。实验步骤实验步骤图4-4DVWA部署成功界面实验步骤图4-5DVWA初始化设置2.FoxyProxy配置(1)在Kali虚拟机的火狐浏览器右上角点击扩展按钮,添加FoxyProxy插件,如图4-6所示。实验步骤图4-6添加FoxyProxy插件(2)点击该插件进入,点击Options,在点击Add添加代理,ip使用,端口使用8808,点击Save保存,如图4-7所示。实验步骤图4-7添加代理然后回到前面,选择新添加的代理,选中开启,如图4-8所示。实验步骤图4-8开启代理截图3.使用BurpSuit进行网站登录信息破解。(1)添加代理监听ProxyListeners。①点击Kali机桌面左上角,选择WebApplicationAnalysis,再选择burpsuit工具,如图4-9所示。实验步骤实验步骤图4-9选择burpsuit工具②依次单击Proxy→Proxysettings→Add按钮,添加代理监听器。③将Bindtoport设置为8088,Specificaddress设置为,如图4-10所示。实验步骤实验步骤图4-10Bindtoport设置④保证新添加的代理监听器处于打开状态,如图4-11所示。实验步骤图4-11开启代理监听器(2)拦截代理数据①点击Intercept,再单击Interceptisoff按钮,使其变成Interceptison。拦截经过代理的数据,如图4-12所示。实验步骤图4-12拦截代理数据②回到DVWA页面,输入正确的用户名admin,随便输入一个密码,单击Login按钮。③登录后,Burpsuit会拦截到数据,自动跳转到图4-13所示页面。实验步骤实验步骤图4-13Burpsuit拦截数据(3)进行暴力破解攻击。①上面拦截到的数据可以看到我们输入的信息和一些设置的信息。下面右击空白处,选择SendtoIntruder。点击Intruder,选中我们刚刚输入密码的信息,点击Add按钮,为我们输入的错误内容加上爆破点。这里我们只有一处需要爆破的位置,攻击类型选择单点爆破Sniper,默认选择不用修改,如图4-14所示。实验步骤实验步骤图4-14添加爆破点②单击页面上方的Payloads,单击Load按钮上传已自定义的密码字典文件,如图4-15所示。实验步骤图4-15上传字典数据③密码字典数据文件password-list.txt的内容如图4-16所示。实验步骤图4-16密码字典文件的内容④上传密码字典数据后,单击右上角的StartAttack,开始执行暴力破解。根据结果的length(长度),其中与众不同的那个数据就可能是正确的密码。如图4-17所示,只有password的length是4741,其他的都是4703,所以password很有可能是正确的密码。实验步骤实验步骤图4-17暴力破解的结果⑤单击Response→Render,可以查看系统尝试登录的结果,显示Welcometothepasswordprotectedareaadmin,说明password就是正确的密码,如图4-18所示。实验步骤实验步骤图4-18查看系统尝试登陆的结果(4)登录测试输入密码password进行登录(先关闭FoxyProxy的代理),登录成功,如图4-19所示。实验步骤图4-19登录成功内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者可深入理解暴力破解的思想及原理,熟练掌握Docker、BurpSuit等工具的使用。实验过程中仍有以下细节值得注意和思考。总结与思考(1)火狐浏览器中FoxyProxy代理打开使用的时间点很重要。只有将DVWA所有设置都做完然后打开登录页面准备登录时才能打开代理。在浏览器中的代理打开之后到Login登录之前,要完成BurpSuit成功添加并打开代理监听器、打开Interceptison。只有这样才能顺利的完成实验。总结与思考(2)代理端口选择时不要选择已经被进程占用的端口。(3)在kali命令行进行安装docker.io前,应已经执行完suroot命令提权完毕。(4)如果出现dockers.io安装不成功的情况,可能需要先执行sudoaptupdate进行更新所有软件包,但具体的报错情况还需实验人员根据具体报错信息进行具体的分析,随机应变。总结与思考附:Kali虚拟机的Docker管理(1)容器管理命令,如图4-20所示。总结与思考图4-20容器管理命令(2)删除容器:dockerrm容器id:移除指定id的容器,移除后可以再次执行run命令再部署一个新的容器,如图4-21所示。总结与思考图4-21删除指定的容器(3)删除docker的配置文件(docker:sudoaptautoremore–purgedocker.io),删除docker的数据目录,包括所有容器、镜像、数据卷sudorm-rf/var/lib/docker,如图4-22所示。总结与思考图4-22删除Docker的配置文件(4)有时候删除完docker,命令行运行ifconfig会多一个docker0网卡,删除该网卡:iplinkdeletedocker0,如图4-23和4-24所示。总结与思考图4-23多一个docker0网卡总结与思考图4-24删除多出的docker0网卡4.2基于角色的访问控制实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5访问控制机制是信息安全防护体系的核心组成部分,其主要目标是防止网络资源被非法使用或越权访问。作为保障网络系统安全和资源保密性、完整性的关键手段,访问控制通常需与其它安全机制协同运作,共同构建有效的保护体系,其中安全访问控制发挥着中心作用。访问控制访问控制的核心目的在于拒绝任何对计算资源、通信资源或信息资源的未授权访问,确保系统和数据仅被合法使用。它既约束用户行为,也限制代表用户执行的程序操作。所谓“未授权访问”包括非法的使用、泄露、修改、破坏及指令发布等行为,涵盖非法用户侵入系统与合法用户滥用权限两种情况。访问控制从本质上看,访问控制是对越权使用资源的防御机制,旨在将资源访问严格限制于授权范围内。其完整描述基于三个基本要素:主体(Subject)、客体(Object)和访问控制策略(AccessControlPolicy)。访问控制主体(Subject)主体指发起访问请求的主动实体,通常包括用户、代表用户执行操作的进程或设备。例如,当用户Alice打开文件a.txt时,Alice即为主体。访问控制客体(Object)客体是被访问的被动实体,即受保护的资源。常见的客体包括数据、文件、进程、内存区域、设备及网络资源等。在上例中,文本文档a.txt即为客体。访问控制访问控制策略(AccessControlPolicy)访问控制策略是主体对客体进行操作的一系列规则,明确规定了哪些操作(如读r、写w、执行e、控制c)是被允许的。该策略体现了系统的授权机制,是主体访问客体时必须遵守的约束条件。例如,文件系统可设定普通用户仅具备读取权限,而无权修改或删除文件。访问控制实施有效的访问控制策略对维护系统和数据安全具有关键作用。通过合理制定和执行策略,可显著减少未授权访问风险,保障资源的完整性与保密性。实际应用中,访问控制策略可根据具体安全需求与环境进行灵活配置。访问控制基于角色的访问控制(Role-BasedAccessControl,RBAC)是一种广泛应用的访问控制模型。其核心思想是将权限与角色相关联,用户通过被分配至相应角色而获得权限,从而简化权限管理过程。该模型具有良好的适应性,可在不同系统配置下实现自主或强制访问控制,具备较高的灵活性。访问控制在RBAC模型中,系统根据业务和管理需求设立若干角色(如岗位或职位),每个角色被授予与其职能相符的资源访问权限。通过将用户集合与角色相绑定,系统实现了以角色为中心的授权机制,相比针对个体用户的授权,具备更强的可管理性和可操作性。访问控制例如,在银行系统中可定义出纳员、分行管理者、系统管理员、客户和审计员等角色,并设定如下策略:(1)出纳员可修改客户账户记录(存款、取款、转账等),并查询所有账户注册信息;(2)分行管理者除具备出纳员权限外,还可创建和取消账户,但其资金操作权限存在金额限制;访问控制(3)系统管理员能够查询系统注册项、执行系统开关操作,但无法访问或修改客户账户信息;(4)客户仅可查询自身注册信息,无法查看其他客户信息;(5)审计员可读取全部系统信息,但禁止进行任何修改。访问控制此类策略具备以下优点:(1)直观符合现实世界的职责划分,便于非技术人员理解;(2)易于映射到访问矩阵和基于组的自主访问控制模型,有利于系统实现。访问控制内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5本次实验能够让读者掌握浏览器和Web应用程序之间数据交互的角色关系。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)深入理解访问控制的基本概念、原理及其在信息安全中的核心地位。(2)熟悉WebGoat漏洞靶场环境,能够熟练对WebGoat漏洞靶场进行配置并在该靶场环境下进行基于角色的访问控制,实现垂直越权。(3)靶机:WebGoat漏洞靶场环境(用户名:root,密码:password)。(4)操作机:学员自己的电脑。实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)首先使用Win+R键输入cmd回车后进入终端,使用命令[cdC:\Users\root\Desktop\webgoat]进入WebGoat目录,使用命令[java-jarwebgoat-container-7.1-exec.jar]尝试启动WebGoat,如图4-25所示。实验步骤实验步骤图4-25启动WebGoat(2)通过命令行可以看到WebGoat已经运行,打开BurpSuite,在Proxy->intercept中点击OpenBrowser按钮打开浏览器,输入地址[localhost:8080/WebGoat]访问本地8080端口查看WebGoat网页端,,如图4-26所示。实验步骤实验步骤图4-26WebGoat网页端(3)使用默认账号密码(账号:webgoat密码:webgoat)登录,在general中找到HttpBasics,在BurpSuite中点击interceptisoff按钮开启阻塞选项。在WebGoat中输入任意用户名后点击Go!按钮,可以在BurpSuite中刚看到访问信息,如图4-27所示。实验步骤实验步骤图4-27在BurpSuite中查看访问信息(4)设置基于角色的访问控制。首先在WebGoat网页端的AccessContorlFlaws中选择LAB:RoleBasedAccessControl,(在进行新的访问时,确保已经关闭了网络阻塞或者将其放行),随意选择一个用户进行登陆操作,注意密码为用户的姓的小写,在点击登录按钮其前在BurpSuite中打开阻塞网络流选项,如图4-28所示。实验步骤实验步骤图4-28在BurpSuite中打开阻塞网络流选项(5)打开interceptison选项,在WebGoat中点击login,此时可以在BurpSuite中看到拦截的请求信息,如图4-29所示。实验步骤实验步骤图4-29BurpSuite中的拦截请求信息首先在BurpSuite中被拦截的请求信息位置右键选择sendtointruder选项,之后在repeter选项卡中可以看到被拦截的请求信息已经发送到这里。在二级选项卡中选择Positions,将AttackType模式选择Clusterbomb模式,在右侧选择clear,选中id字段后点击右侧add,同理添加password字段,如图4-30所示。实验步骤实验步骤图4-30DeleteProfile权限设置(6)选择payloads选项卡,在payloadtype中选择Numbers,From中填101,To中填112,Step中填1,如图4-31所示。实验步骤实验步骤图4-31Payloads选项卡设置(7)在Payloadsets中选择2,分别添加[larry,moe,curly,eric,tom,jerry,david,bruce,sean,joanne,john,neville],注意输入一个名字就要点击add,如图4-32所示。实验步骤实验步骤图4-32Payloadsets设置(8)在options选项卡的Grep-Match中勾选Flagresultitemswithresponsesmatchingtheseexpressions,之后点击clear,输入[DeleteProfile]后点击add,如图4-33所示。实验步骤实验步骤图4-33Options选项卡设置最后点击StartAttack,等待一会可以看到已经破解出两个人具有DeleteProfile权限,如图4-34所示。实验步骤图4-34StartAttack的结果下面通过账户权限伪造实现垂直越权。单击WebGoat的Stage1:BypassBusinessLayerAccessControl选项卡,选择JerryMouse(Jr),登录后在BurpSuite中打开请求阻塞选项,然后在WebGoat中单击DeleteProfile按钮,如图4-35所示。实验步骤实验步骤图4-35伪造实现垂直越权设置在图4-36中可以看到DeleteProfile请求包的结构,action后的字段为DeleteProfile,单击Drop按钮丢弃这个包。关闭阻塞网络请求后退出登录,使用TomCat(employee)这个账户进行登录,如图4-37所示。实验步骤实验步骤图4-36DeleteProfile请求包结构实验步骤图4-37TomCat(employee)账户登录界面同样打开BurpSuite中的阻塞网络请求选项,之后在WebGoat中点击ViewProfile选项,在BrupSuite可以看到该请求的信息,如图4-38所示。实验步骤实验步骤图4-38ViewProfile选项设置可以看到请求结构与之前的DeleteProfile相同,将ViewProfile修改为DeleteProfile后点击Forward后关闭阻塞网络请求,如图4-39所示。可以看到成功实现垂直越权,如图4-40所示。实验步骤实验步骤图4-39ViewProfile设置实验步骤图4-40垂直越权成功内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5本次访问控制实验直观揭示了权限验证缺失的严重后果,强调“永不信任客户端输入,强制后端校验”原则,是开发与测试中需持续关注的核心安全风险。本实验能够让读者深入理解垂直越权、水平越权的基本原理,同时结合BurpSuite重放/篡改请求,深入理解HTTP交互细节。总结与思考另外在使用打开BurpSuite内置浏览器打开webgoat时候,由于浏览器缓存问题,易出现前端静态资源没有加载成功的问题,可使用Ctrl+F5强制刷新浏览器页面(推荐)。如果强制刷新浏览器页面无效,可选择用浏览器的无痕/隐私窗口重新打开http://localhost:8080/WebGoat或用使用系统浏览器+BurpSuite代理方法。具体方法如下:总结与思考(1)启动BurpSuite,确认Proxy→Intercept是off(拦截关闭)。(2)设置你的本地浏览器(如Chrome、Firefox)使用Burp的代理(默认是:8080)。Chrome:设置→系统→打开代理设置→使用代理服务器Firefox:设置→网络设置→手动配置代理总结与思考(3)在你自己的浏览器中访问:http://localhost:8080/WebGoat此时所有流量都会被Burp记录和分析,效果等价于Burp内置浏览器,但不会出兼容问题。总结与思考谢谢!第五章Web攻击实训5.1基于DVWA靶场的Web攻击实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5SQL注入(SQLInjection)是一种针对网站数据库的攻击方式。该攻击利用Web应用程序对用户输入内容过滤不完善的缺陷,通过向Web表单、查询参数或HTTP请求中插入恶意构造的SQL代码,欺骗数据库服务器执行非预期的SQL指令。SQL注入成功利用SQL注入可导致攻击者非法获取、篡改或删除数据库中的敏感信息,绕过身份认证(如无需账号密码即可登录),甚至执行系统命令或访问服务器文件。SQL注入此类攻击多发生在应用程序动态拼接用户输入数据以组成SQL查询语句的场景中。即使某些系统使用存储过程,若仍以字符串拼接方式构造SQL,同样存在SQL注入风险。其本质是攻击者利用开发阶段遗留的安全漏洞,向数据库中注入并执行恶意代码。SQL注入当恶意输入未被应用程序充分验证或转义时,插入的SQL片段会被数据库引擎视为合法指令执行,从而可能造成数据泄露、数据篡改、权限提升等严重后果,甚至完全控制目标系统。SQL注入跨站脚本攻击(CrossSiteScripting,XSS)是一种常见于Web应用程序的安全漏洞利用方式。攻击者利用网站对用户输入校验不足的缺陷,将恶意脚本(如:HTML或客户端脚本)注入到网页中,当其它用户浏览该页面时,嵌入的恶意代码将在其浏览器中执行,从而导致信息泄露、身份冒用等安全风险。XSS跨站脚本攻击近年来,XSS攻击持续演变并广泛发生。根据OWASP所发布的Web安全威胁排名,XSS在2004年位列第4,至2010年已升至第2;尽管在2013年降至第3,2017年进一步跌至第7,但它至今仍是黑客常用的攻击手段之一。XSS跨站脚本攻击任何允许用户提交输入数据的网站都存在遭受XSS攻击的潜在风险,因此诸如主流搜索引擎(百度、Google、Yahoo!)、免费邮箱服务(Gmail、163邮箱、QQ邮箱)以及博客平台等,都成为攻击者的常见目标,导致相关安全事件频发。XSS跨站脚本攻击攻击者通常构造一段恶意JavaScript代码并将其植入目标网站中,当用户访问受污染的页面时,该代码即自动执行,可引发诸如窃取敏感信息、破坏网站功能等一系列安全问题。一般认为,XSS攻击主要可用于实现以下目的:(1)窃取用户账户凭据,包括系统登录账号、网银账户及各类管理员账号;XSS跨站脚本攻击(2)获取对企业数据的控制能力,可实现读取、篡改、增加或删除敏感数据;(3)窃取具备商业价值的重要企业资料;(4)实施非法转账操作;(5)强制以受害者身份发送电子邮件;(6)利用受害者的设备向其他网站发起进一步攻击。XSS跨站脚本攻击跨站请求伪造(Cross-SiteRequestForgery,CSRF)是一种恶意攻击技术,攻击者通过冒充已通过身份验证的合法用户,诱使第三方网站执行非本意的操作,例如进行资金转账、发送邮件、发布内容或修改账户设置等。跨站请求伪造与XSS攻击利用用户对特定网站的信任不同,CSRF攻击是利用网站对已认证用户的信任而实施的。其典型攻击过程包括以下步骤:(1)用户登录可信网站:用户成功登录受信任的站点(如),服务器返回身份验证凭证(例如会话Cookie),该凭证将由浏览器在后续请求中自动携带。跨站请求伪造(2)用户访问恶意站点:在该会话仍未失效时,用户被诱导访问攻击者控制的恶意网站(如)。(3)恶意网站构造伪造请求:恶意网站中嵌入一个自动发往目标站点的请求(如指向/transfer?to=attacker&amount=1000的转账操作),该请求在用户无感知的情况下被触发。跨站请求伪造(4)浏览器自动附加凭证发送请求:浏览器依据同源策略自动将用户的合法Cookie附加在该伪造请求中并发往目标网站。(5)服务器执行恶意操作:目标网站服务器接收到带有有效身份凭证的请求后,误认为是用户的合法操作,因此执行相应指令(如完成转账)。跨站请求伪造内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5掌握SQL注入攻击和XSS跨站脚本攻击基本原理实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5(1)使用PhPStudy部署DVWA靶场。(2)在靶场进行SQL注入攻击。(3)在靶场进行XSS跨站脚本攻击。(4)虚拟机操作系统:Windows10-22H2(5)工具:PhPStudy实验内容和环境内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考51.下载安装PhPStudy①安装PhPStudy。在PhPStudy官网下载Windows版本,这里下载的是v8.1版本,进行安装。②安装结束后,进入/digininja/DvWA/,下滑找到下面链接,点击下载DVWA源码,如图5-1所示。实验步骤实验步骤图5-1DVWA下载界面2.使用PhPStudy部署DVWA(1)将下载的压缩包解压到phpstudy安装指定的目录下。这里的路径为:C:\MySoftware\phpstudy\phpstudy_pro\WWW,该文件夹的名称:DVWA-master。进入DVWA-master/config/路径,如图5-2所示,将config.inc.php.dist的后缀.dist删除。实验步骤实验步骤图5-2更改config.inc.php.dist扩展名(2)用记事本打开该文件config.inc.php,将db_user、db_password均修改为root,如图5-3所示。然后保存退出。实验步骤图5-3需要更改的文件内容(3)打开PhPStudy启动Apache和MySQL两个服务,如图5-4所示。实验步骤图5-4Apache和MySQL服务启动界面(4)启动成功后,打开Edge浏览器,地址栏输入/DVWA-master/setup.php。注意这里的DVWA-master是之前解压在WWW路径下的文件夹的名称,如图5-5所示。实验步骤实验步骤图5-5DVWA界面(5)点击Creat/ResetDatabase。页面将会跳转到DVWA靶场的登录页面,输入账号密码进行登录,username默认为admin,password默认为password,如图5-6所示。实验步骤实验步骤图5-6登陆界面(6)到此为止,已经成功使用PhPStudy部署了DVWA靶场,如图5-7所示。实验步骤图5-7DVWA部署成功界面3.SQL注入(1)进入靶场,将安全等级设置为Low,如图5-8所示,点击Submit。实验步骤图5-8安全等级设置(2)选择SQLInjection,如图5-9所示,进行SQL注入实验。实验步骤图5-9SQL注入实验界面4.判断是否存在SQL注入(1)在UserID输入框内输入:1’跳转错误,如图5-10所示,说明页面没有对输入值进行过滤,从而攻击者可以对数据库进行操作。实验步骤图5-10跳转报错(2)在UserID输入内容:1回显正常,确认存在SQL注入,如图5-11所示。实验步骤图5-11输入“1”后显示正常5.猜解SQL查询语句中的字段数。通过[1’orderbynumber#]输入(number为具体的数值),逐渐增加orderby后面的数字大小进行猜测,该输入实际上是对查询表的第number个字段(列)进行排序操作,当执行报错时,说明该字段没有,已经到达了最大字段数量。实验步骤1’orderbynumber#注入原理:(1)1’:1是一个数字,单引号’尝试闭合原始的SQL查询中的字符串字面量。如果原始查询,则用[SELECT*FROMusersWHEREid='输入内容';]表示,输入1'可能会变成[SELECT*FROMusersWHEREid='1';],从而可能导致查询返回id为1的用户的数据(如果这样的用户存在的话)。实验步骤(2)orderbynumber:orderby是SQL中用来对查询结果进行排序的语句。数字number表示尝试根据第number列进行排序。如果查询成功执行并返回结果,这意味着目标数据表至少有number列。攻击者可以通过递增这个数字来猜测表中的列数。实验步骤(3)#:是SQL中的注释符。用于注释掉原始查询中可能存在的剩余部分,以确保前面的orderbynumber是查询中唯一被执行的部分。实验步骤(1)第一次尝试输入:1’orderby1#,回显正常,如图5-12所示,说明数据库表至少有一列(至少一个字段)实验步骤图5-12第一次尝试的正确回显(2)第二次尝试输入:1’orderby2#回显正常,如图5-13所示,说明数据库表至少有两列。实验步骤图5-13第二次尝试的正确回显(3)第三次尝试输入:1’orderby3#,跳转错误,如图5-14所示,说明只有两列数据,查询表的字段数是2。实验步骤图5-14第三次尝试跳转报错6.确定数据回显位置在通过SQL注入漏洞查询数据之前,我们需要判断查询的数据会被回显到哪里。这里使用union执行联合查询。需要注意在使用union查询的时候需要和主查询的列数相同,而我们之前已经知道了主查询列数为2。实验步骤输入:1’unionselect1,2#,这里使用常量1、2提供可识别的输出,根据1、2的位置来判断查询数据的回显位置,Firstname对应查询位置1的回显位置;Surname对应查询位置2的回显位置,如图5-15所示。实验步骤实验步骤图5-15查询数据的回显位置7.获取当前数据库查看数据库名称,输入:1'unionselectdatabase(),2#,根据回显内容,数据库名称dvwa,如图5-16所示。实验步骤实验步骤图5-16回显的数据库名称8.获取数据库中的表information_schema是mysql自带的一张表,这张数据表保存了Mysql服务器所有数据库的信息,。该数据库拥有一个名为tables的数据表,该表包含两个字段table_name和table_schema,分别记录DBMS中的存储的表名和表名所在的数据库。实验步骤输入:1'unionselect1,group_concat(table_name)frominformation_schema.tableswheretable_schema=database()#。实验步骤通过回显信息,可以知道:dvwa数据库有两个数据表,表名分别为:guestbook、users,如图5-17所示。实验步骤图5-17回显的表名9.获取表中的字段名输入:1'unionselect1,group_concat(column_name)frominformation_schema.columnswheretable_name='users'#。这里可以看到所有的字段名,如图5-18所示,攻击者往往对user、password两个字段感兴趣,下面我们尝试获得user、password两个字段的数据。实验步骤实验步骤图5-18回显的所有字段名10.获取字段中的数据输入:1'unionselectuser,passwordfromusers#。这里已经罗列了所有的user、password数据信息,一共5组,如图5-19所示。通过观察,这些密码的长度相同,且都为十六进制字符组成,可能为MD5加密过后的密码。实验步骤实验步骤图5-19显示的密文使用在线解密工具解密:第一组数据:用户名admin,密码为password,如图5-20所示。实验步骤图5-20解密第一组数据第二组数据:用户名gordonb,密码为abc123,如图5-21所示。实验步骤图5-21解密第二组数据11.XSS攻击基于DOM的XSS将在页面呈现时被JavaScript拉出,而不是在服务时嵌入到页面中。这会使其比其它攻击更隐蔽,WAF或其他保护读取页面正文时看不到任何恶意内容。安全等级设置为Low,点击Submit。选择XSS(DOM),点击一下Select。地址栏中将default=值设置为如下:<script>alert(document.cookie)</script>,如图5-22和图5-23所示。实验步骤<script>alert(document.cookie)</script>:这是一个JavaScript脚本,它调用了document.cookie属性来获取当前页面的所有cookie。然后,alert()方法会弹出一个警告框,显示这些cookie的内容。在另一个用户的浏览器中运行这条JavaScript,用它窃取登录用户的cookie。实验步骤实验步骤图5-22单击后的地址栏变化实验步骤图5-23更改后显示的弹窗内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5通过本次实验,读者熟练掌握了SQL注入攻击和XSS跨站脚本攻击基本原理,熟练使用使用PhPStudy部署DVWA靶场。为方便读者顺利完成本次实验,本节给出实验中遇到的问题及相应的解决方案。总结与思考(1)单引号’用来尝试闭合原始的SQL查询中的字符串字面量,从而改变查询的结构;(2)符号“#”是SQL的注释符,用于注释掉原始查询中可能存在的剩余部分。通常,该符号前是攻击者构造的恶意代码,注释掉后续的内容可确保构造的代码能被执行。总结与思考问题1:在DVWA靶场进行联合查询时遇到下面报错,如图5-24所示:总结与思考图5-24联合查询是的报错解决办法:在DVWA-master/includes/DBMS/路径下找到MySQL.php文件。使用编辑器打开,找到$create_db,在{$_DVWA['db_database']}后添加内容COLLATEutf8_general_ci。注意中间需要添加一个空格,如图5-25所示。总结与思考总结与思考图5-25需要更改的文件问题2:reCAPTCHAkey:Missing。解决方案:找到当前DVWA站点的的文件:dvwa-master/config/config.inc.php,编辑config.inc.php文件,找到ReCAPTCHA位置添加下面内容的键值,如图5-26和5-27所示。代码详见书本P66。总结与思考总结与思考图5-26找到需要更改的键值总结与思考图5-27更改键值5.2基于Vulhub靶场的木马复现实验内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5计算机木马,又称“特洛伊木马”(TrojanHorse),其名称源于古希腊传说,指一种伪装成正常软件或文件的恶意程序。在网络安全领域中,可将黑客比作希腊军队,计算机用户比作特洛伊人——黑客通过欺骗手段使用户自行运行木马,从而绕过系统防护,获取控制权限。计算机木马随着用户普遍采用打补丁、安装防火墙等安全措施,直接实施网络攻击的难度增加,木马因此成为绕过防御、窃取信息或实施控制的重要工具,也是高级持续性威胁(APT)攻击中的常用手段。计算机木马与病毒类似,木马具有破坏性,可对计算机系统造成严重威胁,并通常具备高度隐蔽性以规避检测。但与病毒不同,木马不具备自我复制能力,因而不具有传染性。在计算机发展早期,木马较为罕见,因其传播依赖手动方式,难度较大。而互联网的普及为木马提供了便捷传播渠道,也推动了木马技术的不断演进。计算机木马一旦植入系统,木马可执行多种恶意操作,具体行为取决于其设计目的,常见包括:窃取账户密码与敏感文件,增删或篡改用户数据,监控键盘输入与屏幕画面,甚至实现对受害主机的远程控制。计算机木马木马可从多个维度进行分类:(1)按功能:可分为密码窃取型、文件窃取型、投放器型、监视型、代理型、远程控制型及综合型木马等;(2)按工作平台:主要包括Windows、Linux和Android等平台上的木马;(3)按代码形式:涵盖普通程序木马、宏木马、网页木马、一句话木马及硬件木马等。计算机木马常见传播途径包括:(1)钓鱼攻击:通过恶意邮件附件(如虚假发票、简历等)携带.exe或.js格式木马;(2)软件捆绑:将木马植入破解工具或所谓“免费软件”中诱导安装;(3)漏洞利用:利用系统或应用漏洞(如未修补的Office漏洞)实现自动安装;计算机木马(4)物理媒介:通过感染U盘、移动硬盘等外部设备进行传播;计算机木马木马的功能不同,其组成结构也存在显著差异。多数类型的木马仅需在受感染主机上运行一个独立程序即可完成攻击。例如,密码窃取型木马通常通过单一程序搜集用户账号和密码,并在适当时机将窃取的信息回传至攻击者。相比之下,远程控制型木马的结构更为复杂,通常采用网络应用中的客户端/服务器(Client/Server)架构,计算机木马木马的功能不同,其组成结构也存在显著差异。多数类型的木马仅需在受感染主机上运行一个独立程序即可完成攻击。例如,密码窃取型木马通常通过单一程序搜集用户账号和密码,并在适当时机将窃取的信息回传至攻击者。相比之下,远程控制型木马的结构更为复杂,通常采用网络应用中的客户端/服务器(Client/Server)架构,包含两个主要组成部分:客户端程序和服务端程序。计算机木马服务端程序被植入受害者主机并运行后,等待来自客户端的连接;客户端程序则由攻击者操作,用于监控和控制已感染的主机。由于服务端程序是实际执行恶意操作的部分,通常被称为“木马程序”,而客户端程序则称为“控制端程序”。计算机木马从主要功能上看,远程控制型木马与合法的远程控制软件类似,均能实现对远程主机的操作,但二者在以下两个方面存在本质区别:计算机木马(1)访问是否经过授权。远程控制软件通常要求访问者通过身份认证(如输入账号和密码),并在授权范围内进行操作,属于合法访问。而远程控制型木马的访问属于非授权行为,借助植入的木马程序,攻击者可在未经允许的情况下执行文件查看、服务管理、注册表修改等操作。计算机木马(2)访问是否具有隐蔽性。合法的远程控制软件通常会在被控主机的任务栏或系统托盘区域显示可见提示,用户可察觉远程访问行为。而远程控制型木马为维持长期控制,必须尽可能隐藏自身存在,避免被用户发现和清除。因此,攻击者会采用多种技术手段提升其隐蔽性。计算机木马内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5本实验基于Docker和Docker-compose的漏洞环境集合,帮助读者快速、便捷地搭建各种漏洞环境,以便深入进行漏洞研究和复现。实验目的内容提纲实验目的2实验内容和环境3实验步骤4预备知识1总结与思考5在kali虚拟机中实验,安装Docker和Docker-compose,Docker用于容器化应用程序的部署和运行,而Docker-compose则用于定义和运行多容器的Docker应用程序。Vulhub靶场的搭建与木马复现,包括下载Vulhub的源代码和依赖组件,安装Vulhub环境等。实验内容和环境1.安装docker(1)切换成root用户,首先更新一下软件:apt-getupdate,如图5-28所示。实验步骤图5-28更新软件(2)安装https协议、CA证书:apt-getinstall-yapt-transport-httpsca-certificates,如图5-29所示。实验步骤图5-29安装ht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年图书馆读者服务岗位考试题库及答案
- 2026年河南省长葛市高一历史上册期末考试模拟测试卷及完整答案【全优】
- 2026年湖南省资兴市高三生物上册期末考试模拟试卷及参考答案
- 2026年山西省河津市高三生物下册期末考试模拟测试卷含答案
- 2026年湖南省津市市高一化学上册期末考试模拟检测卷含完整答案(易错题)
- 2026年黑龙江省绥芬河市高三生物上册期末考试模拟卷及参考答案
- 2026年黑龙江省铁力市高三生物上册期末考试真题(含答案)
- 2026年山东省安丘市高三生物上册期末考试考试卷带答案
- 2026年云南省泸水市高一化学上册期末考试模拟卷附完整答案【典优】
- 2026年云南省腾冲市高三历史上册期末考试检测卷附完整答案(典优)
- 抗美援朝纪念日致敬英雄课件
- 2026年成都市金堂县增量政策性岗位招募(121人)笔试备考试题及答案详解
- 肾结石内科管理中国指南(2026版)
- 第四单元 第1课时 青蛙歌(教学设计)数学北师大版五年级上册2026秋
- 2026中国零碳产业园能源系统设计与投资回报分析报告
- GB/T 18474-2026交联聚乙烯(PE-X)管材与管件交联度的试验方法
- CSCO神经内分泌肿瘤诊疗指南(2026版)
- 2026年保密教育线上培训考试试题(附完整答案)
- 2026年高考广东卷化学高考真题(含答案)
- (2026版)《超龄劳动者基本权益保障暂行规定》解读课件
- 老年综合评估试题及答案
评论
0/150
提交评论