WEB网站渗透测试毕业设计_xss测试毕业设计ppt

2、CSRF攻击的成因:攻击者利用用户已登录的Web应用程序的信任,通过伪造用户请求来执行非用户本意的操作,这通常是因为用户的浏览器同时处于多个站点的登录状态,且其中一个站点被嵌入了恶意代码。

3、防御策略

1.CSRF令牌:CSRF令牌是一种有效的防御策略。其中,在表单提交或敏感操作的请求中包含一个随机生成的CSRF令牌,服务器在接收请求时验证令牌的有效性,如果令牌无效或丢失,则拒绝请求。

2.Referer检查:检查HTTP头中的Referer字段,确保请求来自合法的来源。其中,该方法有一定限制,因为某些浏览器可能会禁用或不提供Referer头。

1.2.2 DDOS****攻击

1、DDOS攻击的含义: DoS 攻击全称拒绝服务(Denial of Service),简单的说就是让一个公开网站无法访问,而 DDoS 攻击(分布式拒绝服务 Distributed Denial of Service)是 DoS 的升级版。

2、DDOS攻击的成因:攻击者不断地提出服务请求,让合法用户的请求无法及时处理,这就是 DoS 攻击。攻击者使用多台计算机或者计算机集群进行 DoS 攻击,就是 DDoS 攻击。

3、防御策略

1.防止 DDoS 攻击的基本思路是限流,限制单个用户的流量(包括 IP 等)。

2.把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,最好在需要调用数据库的脚本中,拒绝使用代理的访问,经验表明,使用代理访问你网站的80%属于恶意行为。

1.2.3 XSS****攻击

1、XSS漏洞的含义:XSS 攻击全称跨站脚本攻击(Cross-Site Scripting),简单的说就是攻击者通过在目标网站上注入恶意脚本并运行,获取用户的敏感信息如 Cookie、SessionID 等,影响网站与用户数据安全。

2、XSS漏洞的类型

  1. 反射型(非持久型)XSS

当受害者点击含有恶意XSS代码的URL时,该代码会被Web应用程序不加处理地“反射”回受害者的浏览器并执行。但是由于恶意代码并没有保存在目标网站,因此这种攻击是一次性的。

  1. 存储型(持久型)XSS

存储型XSS会被储存在服务器端,当其他用户访问包含该XSS代码的页面时,代码会被浏览器解析并执行。

  1. DOM型XSS

DOM型XSS是由于客户端脚本逻辑错误导致的安全问题。与反射型XSS相似,这种攻击也是一次性的。

3、XSS漏洞的危害:窃取用户信息、进行钓鱼欺骗、网页挂马、会话劫持等

4、防御策略

1.输入过滤:过滤用户输入,删除或禁用可能包含恶意代码的标签、脚本和特殊字符。同时,可对用户输入的数据进行验证,包括检查数据类型、长度和格式等,只接受合法的输入。

2.输出编码:在输出数据到HTML页面时,应该对其进行适当的编码,目的是防止浏览器将用户输入解释为可执行的脚本。其中,不同的输出位置应采用不同的编码方式,如:HTML编码、JS编码、CSS编码等。

3.内容安全策略(CSP):相对而言,CSP是一种有效的防御XSS漏洞的方法。其中,CSP允许定义哪些来源的内容可以被加载和执行,从而可限制恶意脚本的执行。

4.HttpOnly和Secure标志:对于Cookie,使用HttpOnly标志可以防止JavaScript访问它们,从而减少了对会话Cookie的窃取风险。同时,在敏感数据传输时可使用Secure标志,确保只在安全的HTTPS连接下传输Cookie。

1.2.4 SQL****注入

1、SQL注入漏洞的含义:SQL注入漏洞的本质是应用程序未能充分验证和过滤用户提供的输入数据,导致攻击者能够将恶意SQL代码注入到应用程序的SQL查询中,从而执行未经授权的数据库操作。

2、SQL注入漏洞的根本成因:

1.不当的类型处理:应用程序未能对用户输入的数据进行正确的类型处理,导致攻击者可以插入恶意的SQL代码。

2.不安全的数据库配置:数据库的配置存在安全漏洞,使得攻击者可以利用这些漏洞执行非法的SQL命令。

3.不合理的查询集处理:应用程序在构建SQL查询语句时,未能对用户输入的数据进行充分的验证和过滤,导致攻击者可以插入恶意的SQL代码。

4.不当的错误处理:应用程序在处理数据库错误时,未能正确地处理或隐藏错误信息,导致攻击者可以利用这些错误信息来获取数据库的结构和存储的数据。

5转义字符处理不合适:应用程序在处理用户输入的数据时,未能正确地处理转义字符,导致攻击者可以利用这些转义字符来插入恶意的SQL代码。

3、SQL注入漏洞的危害:攻击者可以通过注入恶意SQL查询来窃取敏感数据;修改数据库中的数据;还通过操作数据库对特定网页进行篡改,发布一些违法犯罪信息,损害企业或个人的声誉;甚至可能获取服务器最高权限,远程控制服务器。

4、SQL注入漏洞的常见类型

1.数字型注入

2.字符型注入

3.SQL盲注

4.SQL报错注入

5、防御策略

1、输入参数的过滤:对于用户输入数据,进行严格的验证和过滤,只允许合法和预期的字符通过。相对而言,建议使用白名单机制,以确保只有有效的数据进入数据库。

2、使用参数化查询:使用参数化查询语句(Prepared Statements,即:预编译语句)是防止SQL注入的首选方法。该方法可将用户的输入数据作为参数传递给3、SQL查询,而不是将其嵌入到SQL语句中,即确保输入数据不会被解释为SQL代码,从而可阻止SQL注入攻击。

最小权限的原则:数据库用户应该被授予最小的权限,以执行需要的操作。这样,即使发生了SQL注入,攻击者也只能访问被允许的数据和操作,无法对整个数据库进行攻击。

以下代码块是第二个主题

2岱宗企业网站需求分析

随着网络以及数字化时代的到来,越来越多的企业希望咨询公司能够提供深入的市场洞察和趋势分析,帮助他们理解行业发展趋势、竞争对手动态以及潜在的市场机会。

2.1岱宗企业网站现状需求分析

岱宗企业是一家领先的战略和业务咨询公司,专注于为企业提供深入的洞察、创新的策略和有效的执行方案。他们的使命是帮助企业在复杂多变的商业环境中找到新的增长机会,实现业务转型和持续增长,岱宗将秉持“策略引领,智慧启迪”的企业理念,不断提升服务质量,为客户创造更大的价值。通过专业咨询和智慧支持,岱宗将在激烈的市场竞争中脱颖而出,实现可持续发展。访问岱宗企业网站主页如下图3所示。

图 3岱宗企业主页

岱宗企业网站基于WAMP架构(Windows操作系统为基石,Apache作为Web服务器,Mysql作为数据库管理系统,Php作为服务器端脚本语言)构建,充分利用了Windows操作系统的稳定性与兼容性,结合Apache的高效Web服务能力,Mysql的可靠数据存储方案以及Php的动态网页生成技术。这种组合确保了网站在高并发、大数据量的情况下仍能保持流畅、稳定的运行。

岱宗企业网站采用B/S模式进行Web架构设计,即浏览器(Browser)与服务器(Server)之间的交互模式。在这种模式下,用户无需安装额外的客户端软件,只需通过浏览器即可访问网站,获取所需的信息和服务。这种模式不仅简化了用户的使用流程,还降低了系统的维护成本。

B/S模式的优点在于,所有的业务逻辑和数据处理都在服务器端完成,用户只需通过浏览器与服务器进行通信,无需关心后端的具体实现细节。这种设计模式使得岱宗企业网站在用户体验、系统维护和网络拓扑结构方面都具有很高的灵活性和可扩展性。

2.2岱宗企业网站漏洞挖掘需求分析

由于岱宗企业公司体量越来越大,网络知名度越来越高,该企业的门户网站经常出现弹出莫名奇妙的弹窗,甚至管理员的账户被莫名的盗用,用户的信息和数据也出现了泄露的风险,网站主页的内容也经常被莫名的修改,使得企业部分用户存在对企业丢失信任度的情况,影响了公司业务的正常展开。

因此,岱宗企业网站管理负责人迫切寻求第三方渗透测试工程师对该企业的门户网站进行渗透测试来找寻其网站漏洞,分析漏洞危害并提出修复建议用于后期安全加固,以保证企业业务的正常展开。主要需求如下:

1.针对用户信息和数据的泄露,找寻出现这种现象的原因并进行安全加固。

2.针对管理员账号被莫名的盗用,找寻黑客盗用管理员账户的原因,究竟是管理员账号密码被破解还是其他原因导致并进行安全加固。

3.针对网站出现的莫名弹窗,找寻弹窗出现的原因并进行安全加固。

以下是第三个主题

3岱宗企业网站信息收集

3.1岱宗企业网站基本信息收集

信息收集是网络安全测试中至关重要的一环,它关乎着能否准确掌握目标的详细信息,深入理解其运作方式。通过精心策划和执行信息收集,我们能够洞察目标的薄弱环节,从而确定出最有效的攻击路径。可以说,信息收集的完善程度直接决定了渗透测试的难易程度,甚至最终决定了测试的成败。因此,在进行任何安全测试之前,务必高度重视并精心执行信息收集工作。

3.1.1****主机探测及端口信息扫描

岱宗企业的官网为:www.aiou.com,先使用ping命令获取域名所属的ip地址,以便进行更全面深入的漏洞挖掘和渗透测试。使用ping命令获取到的ip地址如下图4所示:

图4 PING命令获取结果

收集到 IP 地址后,需要收集 Web 服务器开放了哪些端口,方便排查这些端8口是否也存在安全漏洞。

在收集端口时使用了 nmap(Network Mapper)工具,是一款开源的网络扫描工具,用于网络发现和安全审计。它的基本功能包括主机发现、端口扫描、版本侦测和操作系统侦测。通过Nmap,用户可以检测目标主机是否在线,确定开放的端口及其提供的服务,还可以推断目标主机使用的操作系统。此外,Nmap还允许用户定制扫描策略,以满足不同的需求。无论是扫描少量节点的LAN,还是大型网络,Nmap都能提供强大的支持。使用 nmap 工具对岱宗企业网站端口收集结果如下图5所示。

图 5 NMAP收集端口信息

3.1.2****目录扫描

对岱宗企业网站进行目录信息扫描,本次扫描所使用的工具为dirseach,dirseach是一款由python语言编写开发的目录扫描工具,具有强大的字典和扫描功能,常用于扫描网站的敏感信息,如敏感文件和目录等。扫描结果如下图6所示:

图 6 dirseach目录扫描结果

3.2岱宗企业网站Web安全漏洞扫描

安全漏洞扫描是网络安全领域中一项至关重要的任务。通过使用专业的漏洞扫描工具,安全专业人员能够系统地评估网络、系统或应用程序的安全性,以发现潜在的安全隐患和弱点。漏洞扫描工具能够自动或手动地检测目标系统中的安全漏洞,扫描过程通常涉及发送特定的网络数据包到目标系统,并分析其响应,以确定是否存在可以被利用的漏洞。

Goby是一款网络安全测试工具,它可以帮助用户快速发现和梳理目标企业的攻击面信息,并进行高效的漏洞扫描。通过利用积累的规则库,Goby可以全自动地实现IT资产攻击面的梳理,提高扫描速度和精准度。同时,它还具备实战性、体系性、高效性、平台性和艺术性等特点,是一款功能强大且注重实战效果的网络安全工具。

使用Goby对岱宗企业网站扫描结果如下图7所示:

图 7 Goby安全漏洞扫描结果

以下是第四个主题

4岱宗企业内容管理系统漏洞分析与利用

4.1漏洞分析

在进行Web安全测试时,安全测试人员需要综合运用之前信息收集阶段获取的所有关键信息。漏洞分析过程中,他们应特别关注系统的版本信息、正在运行的服务以及这些服务是否存在已知漏洞,特别是nday漏洞。同时,他们还应对漏洞扫描结果进行仔细审查。结合这些信息,安全测试人员应尝试在Web端寻找潜在的攻击点,并在测试过程中逐一验证这些攻击点的有效性。

当面对使用开源代码的网站时,安全测试人员不仅需要核实系统是否存在已公开的漏洞,还需通过代码审计来识别潜在的0day漏洞。在情报搜集阶段,我们发现岱宗企业网站的Web端管理系统(CMS)是基于开源的XHCMSv1.0进行定制开发的。如果岱宗企业未能及时更新和修复XHCMS v1.0中的已知漏洞,那么安全测试人员可以从这些已知漏洞入手,对岱宗企业的Web端进行深入的安全漏洞挖掘。

为了有效地进行漏洞挖掘,安全测试人员可以利用搜索引擎或其他专业工具,查找XHCMS v1.0版本中存在的nday漏洞信息。事实上,cnvd上已经公开了一些与XHCMS v1.0相关的漏洞信息,如图所示。安全测试人员可以依据这些信息,结合他们的专业技能和工具,对岱宗企业的Web端进行全面的安全评估,并提出有效的修复建议。获取漏洞信息如下图8所示:

图 8 CNVD获取的公开漏洞信息

4.2文件包含漏洞

在本地搭建xhcms进行白盒审计时发现网站首页index.php的代码存在文件包含漏洞,因为它没有充分验证和过滤用户通过 URL 参数 r 提供的文件名。攻击者可以利用这个漏洞来尝试包含并执行服务器上的任意文件,从而可能导致代码执行、数据泄露或其他安全问题。代码如下图9所示:

图 9 文件包含漏洞源代码

在本地搭建的网站根目录添加一个a.php配置文件,内容为phpinfo(),尝试访问含有文件包含漏洞POC的url:http://aiou.com/?r=a,服务器执行了新增配置文件中的代码,说明存在文件包含漏洞。验证结果如下图10所示:

图 10 文件包含漏洞验证

4.3 SQL注入漏洞

本团队访问网站的www.aiou.com/admin路径后,发现网页会跳转到login页面,疑似后台登录点。进一步确认后,确认该路径为后台登录页面。在更进一步测试中本团队对此页面通过多种渗透测试最终发现了SQL注入漏洞。后台页面如下图11所示:

图 11 后台管理页面

尝试登录并burpsuite抓包,将burpsuite抓取到的数据在本地保存为txt文件。如下图12所示:

图 12 bp抓包保存到本地的数据包

在此数据中发现了可插入SQL语句的参数,使用sqlmap爆出数据库、中间件、编程语言版本,确定存在SQL注入漏洞。验证结果如下图13所示:

图 13 SQL注入漏洞验证结果

攻击者通过该漏洞可获得数据库中的用户数据和信息,还可以利用此漏洞执行恶意SQL语句,进而获取、篡改或删除数据库中的敏感信息,甚至可能完全控制整个数据库系统。

4.4跨站脚本攻击(XSS)

利用sql注入获得的管理员账号和密码登录后台后发现管理员个人资料设置处有很多信息输入框,本团队在多个输入框执行了XSS注入语句最终在某输入框中找到了XSS漏洞,本团队使用基础XSS语句测试成功后决定在此处查管理员cookie如下图14所示:

图 14 XSS漏洞验证输入框

本团队在利用XSS语句成功爆出管理员的cookie后,经测试点击此页面即会弹窗,证明此处存在存储型XSS。验证结果如下图15所示:

图 15 XSS漏洞验证结果

4.5逻辑漏洞(垂直越权)

经过本司测试发现在网页登录页面存在垂直越权漏洞,攻击者在管理登录页面不需要登录账户即可使用admin账户。

在网页登录页面打开开发者工具application选项,并点击查看cookie和网站域名。如下图16所示:

图 16 登录页Cookie修改处

双击空白处添加name名称为user,所属值value为admin。如下图17所示:

图 17 添加的Cookie值

在cookie中的user值设为amdin管理员用户导致系统将使用管理员权限登录上线。

将添加成功后访问www.aiou.com/admin/index.php,发现成功登录进入后台并为admin管理员用户,证明此处存在垂直越权漏洞。验证结果如下图18所示:

图 18 越权漏洞验证结果

以下是第五个主题

5岱宗企业网站管理系统安全加固

5.1岱宗企业网站管理系统文件包含加固

未判定路径导致的文件包含漏洞修复方案

在岱宗企业公司的系统中存在文件包含漏洞。漏洞源代码如下:

<?php //单一入口模式 error\_reporting(0); //关闭错误显示 $file=addslashes($\_GET['r']); //接收文件名 $action=$file==''?'index':$file; //判断为空或者等于index include('files/'.$action.'.php'); //载入相应文件 ?>

在岱宗企业公司系统这段 PHP 代码存在文件包含漏洞。文件包含漏洞通常发生在软件程序应用不正确的处理用户输入的文件名,并且程序没有对这些输入进行充分的验证和过滤,攻击者就可能会尝试包含恶意文件,如路径 …/…/malicious_file.php,从而执行代码。

为了修复该文件包含漏洞,需要确保被包含文件的路径是固定的并且不能被用户输入所控制。以下是一些建议的修复步骤:

1.尽量使用绝对路径来包含文件,而不是相对路径。这样即使用户输入被错误地插入到路径中,也不会影响被包含文件的实际位置。

2.确保用户输入不会影响到文件包含操作。对用户输入进行适当的验证和过滤,防止恶意输入被传递给 require 或 include 语句。

3.考虑使用 PHP 提供的安全函数,如 include_once 或 require_once,它们会在文件被包含之前检查文件是否存在,从而减少潜在的风险。

4.将允许包含的文件列表限制在一个已知的安全目录内,并只允许包含该目录中的文件。这样可以减少攻击者通过路径遍历来包含恶意文件的可能性。

修复代码如下:

function protect($r){

$key=0;

$cars=array(“about”,“contact”,“content”,“download”,“downloads”,“index”,“list”,“pages”,“software”,“submit”);

for ( i = 0 ; i=0; i=0;i<count( c a r s ) ; cars); cars);i++){

if( r = = r== r==cars[$i])

$key=1;

}

return $key; }

修复效果如下图19所示:

图 19 文件包含漏洞修复结果

5.2 岱宗企业网站管理系统XSS加固

未进行转义导致的xss注入漏洞修复方案

在岱宗企业公司某输出显示代码中存在一个关键的XSS注入风险。漏洞源代码如下:

<?php $user=$\_COOKIE['user']; $query = "SELECT \* FROM manage WHERE user='$user'"; $resul = mysql\_query($query) or die('SQL语句有误:'.mysql\_error()); $user = mysql\_fetch\_array($resul); ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值