新手入门:Web安全测试大盘点

news2024/11/26 2:40:59

随着互联网时代的蓬勃发展,基于Web环境下的应用系统、应用软件也得到了越来越广泛的使用。

目前,很多企业的业务发展都依赖于互联网,比如,网上银行、网络购物、网络游戏等。但,由于很多恶意攻击者想通过截获他人信息去谋取利益,因此,会对Web服务器进行攻击。攻击的方式也非常多,常见的有SQL注入、跨站脚本攻击、跨站请求伪造、缓存区溢出等

由此,我们不得不对网络环境的安全性加以提升。软件测试工程师通过分析黑客的攻击行为等方式,对网站进行Web安全测试

1、SQL注入

在Web安全测试中,SQL注入是最为常见的一种手段。主要是指攻击者通过巧妙的构建非法SQL查询命令,插入表单或请求字符串后提交,并根据返回的结果,来获得想要的数据。这就是SQL注入。

SQL注入的方法一般有猜测法和屏蔽法。猜测法主要是通过猜测数据库可能存在的表名和列名,根据组合的SQL语句获取数据表的信息。屏蔽法主要是利用SQL输入的不严谨进行逻辑验证,从而使得SQL验证结果始终为真,从而绕开验证的目的。

在这里插入图片描述
当然,这2种是SQL注入最基础的、最简单的方法。在测试过程中,我们需要注意命名规则,以及对关键词的屏蔽等。另外,我们也需要在工作中,不断总结经验,更加深入的学习猜想法和屏蔽法等。

2、跨站脚本攻击

跨站脚本攻击(简称XSS),是一种迫使Web站点回显可执行代码的攻击技术

当Web站点回显后,攻击者会重新提供可执行代码。一般情况下,他们会往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入其中的Script代码会被执行,从而攻击终端用户。

XSS最为常见的攻击方法为反射型XSS和存储型XSS

反射型XSS,又称非持久型跨站点脚本攻击,也是最常见的XSS攻击方式。这种方式一般需要用户自己去点击链接,才能触发攻击者注入的XSS代码。

而存储型XSS则不同。存储型XSS又称为持久型跨站点脚本攻击,也是最直接危害用户的XSS。当攻击者在服务器中存储了攻击代码后,用户只要打开对应页面,就会触发XSS代码自动执行。这种XSS比较危险,容易产生蠕虫,盗窃用户Cookie等危害。造成这种安全问题的原因,主要是开发者在编程过程中,对一些敏感符号未进行处理,

如“/、“.”、“’”、“‘”、“<”、“>”、“?”等。或对数据库字段、数据库类型以及长度的限制等未进行处理。

3、跨站请求伪造

跨站请求伪造(简称CSRF),是一种对网站的恶意利用。它通过伪装普通用户的请求,来利用受信任的网站。与XSS攻击相比,CSRF攻击往往因为不太流行而导致难以防范。所以,我们认为CSRF往往比XSS更具危险性。

简单判断是否存在CSRF漏洞的方法,就是通过抓取正常请求的数据包,然后通过去掉Referer字段,再重新提交。如果二次提交还有效,说明存在CSRF漏洞。

为了防止CSRF,常用的方法就是在AJAX异步请求地址中,添加Token并进行验证,从而降低CSRF出现的可能。

4、缓存区溢出

缓冲区溢出是一种非常普遍存在的漏洞,广泛存在于各种操作系统、应用软件中。

利用缓冲区溢出攻击,可以导致程序出现运行失败、系统关机、重新启动等行为,或执行攻击者的指令,比如非法提升权限等。

在缓冲区溢出中,最为危险的就是堆栈溢出,它可以利用堆栈溢出,在函数返回时,将程序的地址修改为攻击者想要的任意地址,达到攻击者的目的。其最典型的例子,就是1988年利用fingerd漏洞进行攻击的蠕虫。

当然,造成缓冲区溢出的原因有很多。主要原因有对输入、输出的数据没有限制大小、长度以及格式等,还有就是对用户的特殊操作没有做异常处理导致。

所以,在测试过程中,我们需要注意输入输出的大小长度以及格式规范限制,还有需要多模拟一些异常,关注异常的处理情况。

写在最后

对Web应用软件来说,安全性包含Web服务器、数据库、操作系统以及网络的安全等,只要其中任何一个部分出现安全漏洞,都会导致整个系统的安全性问题。Web安全测试是比较难解决的问题,这个取决于测试要达到什么程度。简单说软件不可能做到100%的测试,所以也不要期望可以达到100%的安全。

在实际测试过程中,测试人员主要是针对用户的权限以及数据库的安全性进行测试,还可以借助IBM的安全漏洞扫描工具APPScan来进行漏洞扫描。

学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

在这里插入图片描述

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

经典文献阅读之--PON

0. 简介 作为Transformer在机器视觉领域的爆火,在自动驾驶领域目前很多工作都集中在前视转鸟瞰图的方法中,这里我们来讲2020年一篇经典的论文《Predicting Semantic Map Representations from Images using Pyramid Occupancy Networks》,其…

手把手教你写嵌入式Linux中的Makefile(一)

一、Makefile的引入及规则 使用keil, mdk,avr等工具开发程序时点击鼠标就可以编译了,它的内部机制是什么?它怎么组织管理程序?怎么决定编译哪一个文件? 答:实际上windows工具管理程序的内部机制,也是Make…

【c++基础】第一章 C到C++过度阶段

第一章 C到C过度阶段第一个C程序:使用namespace名字using关键字bool类型string字符串结构体struct结构体成员函数指针的获取方式const关键字:内联函数函数缺省值:函数重载:引用(quote)开辟空间第一个C程序:…

UDP-A-D-乙酰氨基葡萄二钠盐;UDP-ALPHA-D-N-ACETYLGLUCOSAMINE, DISODIUM SALT

产品名称:UDP-A-D-乙酰氨基葡萄二钠盐 英文名称:UDP-ALPHA-D-N-ACETYLGLUCOSAMINE, DISODIUM SALT CAS No.:91183-98-1 分子式:C₁₇H₂₅N₃Na₂O₁₇P₂ 分子量:651.32 产地:西安 规格:…

如何在几百万qps的网关服务中实现灵活调度策略

作者 | 加纳斯 导读 说起百度的BFE可能不少人都听说过,但是其实在百度内部还有一个几百万qps的通用网关服务:Janus。截止当前,Janus服务不仅覆盖了百度内部FEED、评论、点赞、关注、直播等十多个中台服务的内网流量,而且为百度app…

【Java】JavaFx桌面编程整理

JavaFX是用于构建富Internet应用程序的Java库。 使用此库编写的应用程序可以跨多个平台一致地运行。 使用JavaFX开发的应用程序可以在各种设备上运行,例如台式计算机,移动电话,电视,平板电脑等。 为了开发具有丰富功能的Client Si…

运动爱好者的专属耳机,轻巧时尚又好用,哈氪无界上手

很多朋友在户外健身的时候喜欢戴上耳机,在音乐的节奏中去运动,现在市面上的运动耳机选择也特别丰富,为了在户外运动更安全,有些朋友会选择骨传导这种不入耳的耳机,上周我看到哈氪出了一款发带耳机,将运动发…

rac/rac one node扩容

某现场部署的cDAS RAC Onde Node超融合架构,2个计算/存储节点,1台仲裁节点 现网架构: 随着业务量增加,准备把仲裁节点加以利用,添加到融合节点的计算存储集群当中,与另外两个融合节点组成三节点的计算存储集群 改造后的架构: 一、配置仲裁节点(第三个计算/存储节点)…

windocs连接麒麟桌面---vnc软件

目录 一、下载vnc 二、麒麟服务器安装VNC远程 三、客户端连接 一、下载vnc客户端 Download VNC Viewer 6.22.826 - free - latest version

Nodejs -- 一文学会如何在Express中使用JWT(json web token)

文章目录在Express中使用JWT1 安装JWT相关的包2 导入JWT相关的包3 定义secret密钥4 在登录成功后生成JWT字符串5 将JWT字符串还原为JSON对象6 使用req.user获取用户信息7 捕获解析JWT失败后产生的错误8 完整代码示例在Express中使用JWT 1 安装JWT相关的包 运行如下命令&#…

Java基础概念-03-字面量

在有些资料中,会把字面量叫做,常量,或字面值常量,但最正确的叫法还是,字面量 小数在 Java 中也称为浮点数 下面是课本中的介绍: 常量是指在程序运行过程中,其值不能被修改的量,Java…

C# 移动飞机

一 实现一个飞机游戏,可以使用键盘控制飞机的移动。 二 游戏的显示 GameView:负责游戏的显示; 使用自定义绘制的技术,将飞机场地绘制出来; cells:3x3的单元格; OnSizeChanged:计算单元格的位置和大小&…

用VS软件开发“中国象棋“游戏<笔记摘录>

整体架构如上 1.很直观地去看这个中国象棋的界面,数一下它有多少行和多少列. 10行,9列:要注意这里数的是安放象棋的位置,有10行9列 这里我们首先想到的必然是二维数组,每一个行列交叉的点都设置成二维数组a[i][j]这样的格式,以此来确定棋盘上面每一个棋子的位置和走向. 我们…

01 导论【计量经济学及stata应用】

配套教材:《计量经济学及stata应用.陈强.2015.高等教育出版社》 官方课程链接:http://www.econometrics-stata.com/ 官方公众微信号:econometrics-stata 写博客的初衷就是为了督促自己把所学的知识进行整理和完善,我将于接下来的时…

性能测试-CPU性能分析,用户态us高,初步定位到代码行

监控工具安装 Grafana:安装请看我上一篇文章性能测试-JMeter influxdb grafana性能测试监控平台-食用指南_Tommy.IT的博客-CSDN博客JMeter测试脚本跑起来,在influxdb服务看看数据里面的数据,原来influxdb的jmeter库里面没有表,当JMeter脚本运…

PyCharm+PyQT5之三界面与逻辑的分离

之二的例程已经实现了界面与逻辑的分离,所建立的 Dialog Mainwindow 或者 widgets 等,界面改变其主调程序(暂且这样叫)更改,或者不需要大规模更改, 主调函数的程序是这样的 import sys import FistUI from PyQt5.QtWidgets import QApplication, QMainWindow,QDialog if __nam…

KubeSphere 多行日志采集方案深度探索

作者:大飞哥,视源电子运维工程师,KubeSphere 用户委员会广州站站长 采集落盘日志 日志采集,通常使用 EFK 架构,即 ElasticSearch,Filebeat,Kibana,这是在主机日志采集上非常成熟的方案,但在容器…

React Server Component: 混合式渲染

作者:谢奇璇 React 官方对 Server Comopnent 是这样介绍的: zero-bundle-size React Server Components。 这是一种实验性探索,但相信该探索是个未来 React 发展的方向,与 React Server Component 相关的周边生态正在积极的建设当中。 术语…

R语言主成分分析可视化(颜值高,很详细)

文章目录PCA特征值可视化提取变量结果变量结果可视化变量和主成分的cos2可视化变量对主成分的贡献可视化Dimension description提取样本结果样本结果可视化样本的cos2可视化样本对主成分的贡献可视化biplot参考资料网络上很多R语言教程都是基于R语言实战进行修改,今…

Mysql密码忘记后怎么重置密码,mysql8之后有改动

mysql8之前的修改方式: 1.管理员身份打开cmd:然后关闭mysql,停止MySQL服务,输入 net stop mysql 停止服务 2.切换到MySQL的bin文件下,输入mysqld --console --skip-grant-tables --shared-memory。 3上个窗口保留不要…