版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章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安装https协议、CA证书(3)安装docker:aptinstalldocker.io,如图5-30所示,并查看是否安装成功docker-v。实验步骤图5-30安装Docker(4)启动docker:systemctlstartdocker,查看docker信息:dockerps-a,如图5-31所示。实验步骤图5-31启动Docker(5)安装pip:apt-getinstallpython3-pip,如图5-32所示和pip3installdocker-compose,如图5-33所示。实验步骤图5-32安装pip实验步骤图5-33安装docker-compose2.安装vulhub(1)在官网下载并安装vulhub,如果克隆失败就多试几次,如图5-34所示。进入某一个漏洞环境的目录:cdvulhub/imagemagick/CVE-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于时间序列的学科热点主题预测:方法与实践探究
- 智能窗帘安装调试技师考试试卷及答案
- 2026一级建造师《建设工程法规及相关知识》真题及答案解析100题全
- T∕CECS 462-2017 健康住宅评价标准00000000000000000000000000000000000000000000
- 简约中国人寿公司宣传模板
- 橡胶厂环保管理准则
- 2026年卫生消毒考核试题及答案
- 2026年杭州市检察官逐级遴选笔试题目及答案
- 2026年格尔木市检察院检察官入额遴选笔试试题及答案解析
- 2026年幼儿教育专业习题集锦及答案解析
- 2025年成都市中考物理试题卷(含标准答案及解析)
- JG/T 296-2010空气吹淋室
- 2025版中华民族共同体概论课件第三讲文明初现与中华民族起源(史前时期)第四讲天下秩序与华夏共同体演进(夏商周时期)
- 面积补差承诺协议书
- 中职高教版(2023)语文职业模块-第六单元微写作一-描述事物【课件】
- 事故申请复议申请书范本
- 2024年安徽省机械行业设备点检员职业技能竞赛理论考试题库(含答案)
- 科研伦理与学术规范-课后作业答案
- GB/T 42531-2023低热矿渣硅酸盐水泥
- 张爱民《自动控制原理》课后习题
- 化工原理课后习题答案上下册(钟理版)
评论
0/150
提交评论