Web 应用程序安全测试指南

在这里插入图片描述


由于Web应用程序中存储了大量数据以及Web上事务数量的增加,因此对Web应用程序进行适当的安全测试正变得越来越重要。

在本教程中,我们将对网站安全测试中使用的含义,工具和关键术语及其测试方法进行详细研究。

什么是安全测试?

安全测试是一个检查机密数据是否保持机密的过程(即,它不会暴露给其目的的个人/实体),并且用户只能执行他们有权执行的任务。

例如, 用户不应能够拒绝其他用户使用网站的功能,或者用户不应能够以意外方式更改Web应用程序的功能等。

安全测试中使用的一些关键术语

在我们继续之前,熟悉一些在Web应用程序安全测试中经常使用的术语将是有用的。

什么是“漏洞”?

这是 Web 应用程序中的一个弱点。这种“弱点”的原因可能是由于应用程序中的错误,注入(SQL /脚本代码)或病毒的存在。

什么是“网址操作”?

某些 Web 应用程序在 URL 中的客户端(浏览器)和服务器之间传递其他信息。更改 URL 中的某些信息有时可能会导致服务器出现意外行为,这称为 URL 操作。

什么是“SQL注入”?

这是通过 Web 应用程序用户界面将 SQL 语句插入到某个查询中的过程,然后由服务器执行该查询。

什么是“XSS(跨站点脚本)”?

当用户在 Web 应用程序的用户界面中插入 HTML/客户端脚本时,此插入对其他用户可见,它被称为 XSS

什么是“欺骗”?

欺骗是创建恶作剧外观相似的网站和电子邮件。

安全测试方法

为了对Web应用程序执行有用的安全测试,安全测试人员应该对HTTP协议有很好的了解。了解客户端(浏览器)和服务器如何使用HTTP进行通信非常重要。

此外,测试人员至少应该知道SQL注入和XSS的基础知识。

希望 Web 应用程序中存在的安全缺陷数量不会很高。但是,能够准确描述所有安全缺陷以及所有必需的详细信息肯定会有所帮助。

网络安全测试方法

(1)密码破解

Web应用程序的安全测试可以通过“密码破解”来启动。为了登录到应用程序的私有区域,可以猜测用户名/密码或使用一些密码破解工具。常见的用户名和密码列表以及开源密码破解程序都可用。

如果 Web 应用程序不强制执行复杂的密码(例如, 使用字母、数字和特殊字符或至少具有所需字符数),则破解用户名和密码可能不需要很长时间。

如果用户名或密码存储在 Cookie 中而未加密,则攻击者可以使用不同的方法来窃取 Cookie 以及存储在 Cookie 中的信息,如用户名和密码。

(2) 通过 HTTP GET 方法进行 URL 操作

测试人员应检查应用程序是否传递查询字符串中的重要信息。当应用程序使用 HTTP GET 方法在客户端和服务器之间传递信息时,会发生这种情况。

信息通过查询字符串中的参数传递。测试人员可以修改查询字符串中的参数值,以检查服务器是否接受它。

通过HTTP GET请求将用户信息传递到服务器进行身份验证或获取数据。攻击者可以操纵从此 GET 请求传递到服务器的每个输入变量,以获取所需信息或损坏数据。在这种情况下,应用程序或Web服务器的任何异常行为都是攻击者进入应用程序的大门。

(3) SQL 注入

应该检查的下一个因素是SQL注入。在任何文本框中输入单引号 (') 应被应用程序拒绝。相反,如果测试人员遇到数据库错误,则意味着用户输入入到某个查询中,然后由应用程序执行。在这种情况下,应用程序容易受到 SQL 注入的攻击。

SQL注入攻击非常关键,因为攻击者可以从服务器数据库获取重要信息。要检查Web应用程序中的SQL注入入口点,请从代码库中找出代码,其中通过接受一些用户输入在数据库上执行直接MySQL查询。

如果在 SQL 查询中精心构造用户输入数据以查询数据库,则攻击者可以将 SQL 语句或部分 SQL 语句作为用户输入注入,以从数据库中提取重要信息。

即使攻击者成功使应用程序崩溃,从浏览器上显示的SQL查询错误中,攻击者也可以获得他们正在寻找的信息。在这种情况下,应正确处理/转义用户输入中的特殊字符。

(4) 跨站点脚本 (XSS)

测试人员还应检查Web应用程序的XSS(跨站点脚本)。任何 HTML 例如, < HTML> 或任何脚本 例如

攻击者可以使用此方法在受害者的浏览器上执行恶意脚本或 URL。使用跨站点脚本,攻击者可以使用 JavaScript 等脚本来窃取用户 Cookie 和存储在 Cookie 中的信息。

许多 Web 应用程序获取一些有用的信息,并将此信息传递给来自不同页面的一些变量。

例如, http://www.examplesite.com/index.php?userid=123&query=xyz

攻击者可以很容易地将一些恶意输入或<script>作为“&query”参数传递,该参数可以浏览浏览器上重要的用户/服务器数据。

重要: 在安全测试期间,测试人员应非常小心,不应修改以下任何内容:

  • 应用程序或服务器的配置。
  • 服务器上运行的服务。
  • 应用程序托管的现有用户或客户数据。

此外,应避免在生产系统中进行安全测试。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
web安全开发测试指南pdf红日安全是一本关于Web安全开发和测试指南,由红日安全编写。这本指南主要旨在提供给开发人员和测试人员一些关于如何开发和测试安全Web应用程序的实用技巧和建议。 这本指南首先介绍了Web应用程序的常见安全威胁和攻击技术,例如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)和SQL注入等。它详细解释了这些威胁和攻击技术的工作原理,并提供了一些防御措施和最佳实践,以帮助开发人员编写更加安全的代码。 指南还介绍了一些常用的Web安全测试工具和技术,包括漏洞扫描器、Web应用程序防火墙(WAF)和代码审计等。它解释了如何使用这些工具和技术来测试和评估Web应用程序安全性,并提供了一些建议,以帮助测试人员发现和修复潜在的安全漏洞。 除了具体的技术和工具以外,指南还强调了开发团队和测试团队之间的合作和沟通的重要性。它鼓励开发人员和测试人员在整个开发过程中共同努力,共同关注Web应用程序安全性,从而确保最终构建出安全可靠的Web应用程序。 总之,web安全开发测试指南pdf红日安全为开发人员和测试人员提供了一份实用的指南,帮助他们更好地了解和应对Web应用程序安全性挑战。这本指南的出版对于促进Web应用程序安全开发和测试具有积极的推动作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛系的老肖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值