菜鸟浅谈——web安全测试

article/2025/10/2 6:38:21

本文仅为小白了解安全测试提供帮助

一:安全测试注意事项
1)要注意白帽子与黑客之间的区别
2)在挖漏洞挣外快时,注意不要使用安全扫描或暴力破解软件对上线网站进行扫描或攻击。 不要对上线网站造成破坏,不要去获取网站的数据库信息等。否则等待的不是money,而是牢狱啦~~
二:web介绍
1)world wide web 万维网,也被叫做www(3w),非常普遍的互联网应用,每天都有数以亿万计的web资源传输。有html,图片,音频,视频等等组成
2)web的工作流程
举个栗子:
这里写图片描述
细分流程图,安全漏洞根据客户端与服务器端的分布:
这里写图片描述
钓鱼:黑客构造一个跟知名网站很相似的网站,吸引用户登录,输入敏感信息,或通过邮件等验证方式,不知不觉中获得用户的登录密码之类的。
暗链:其实“暗链”就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,短时间内不易被搜索引擎察觉。它和友情链接有相似之处,可以有效地提高PR值。但要注意一点PR值是对单独页面,而不是整个网站。
暗链一般是把html的框架设置为不可见的,既00或者为负
这里写图片描述

xss:跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。
举个栗子:论坛用户在发帖时,在帖子里写了html代码。当其他用户浏览时,此段代码被执行,导致其他用户看到的东西是一些恶意的东西。
https://www.2cto.com/article/201209/156182.html
点击劫持:是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义;

这里写图片描述

这里写图片描述

CSRF:简单说, 攻击者盗用了你的身份,以你的名义发送恶意请求。

http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
http://baike.baidu.com/view/1609487.htm?fr=aladdin
这里写图片描述

URL跳转:http://localhost:81/url.php?url= 存在URL跳转漏洞的页面
http://blog.csdn.net/change518/article/details/53997509

sql注入:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
https://www.cnblogs.com/sdya/p/4568548.html

文件上传/文件包含:上传的附件没有进行过滤,当上传的文件为危险文件时,依然可以上传成功。 比如一句话木马的php文件。 这样很容易服务器的后台被控制

暴力破解:使用一个好的字典,利用工具,暴力破解网站的登录名和密码。 这要求字典一定要有很多常用数据。 字典也可以用python自己写。

浏览器首先想DNS服务器发送请求,获取到ip地址,然后通过IP地址找到相应服务器
这里写图片描述

浏览器与服务器的通信靠 http协议。 通过发送http请求,和接收服务器端返回的http响应,来进行交互
浏览器接收到响应信息后,通过html javascript css 等技术,把相应信息渲染成可视化的图形界面。 截止到这里,为整个web工作流程
这里写图片描述
三:浏览器
1)搜索引擎
浏览器:百度搜索,谷歌hack,bing(用于IP搜索)
百度搜索语法:
intitle/title:xxx 限定搜索内容在标题中
inurl:xxx 限定搜索内容在url中
filetype:doc 限定文件格式 例子:photoshop实用技巧 filetype:doc
site:xxx 限定搜索范围在特定的站点中
双引号“”和书名号《》精确匹配。 同时表达了搜索此不能拆分。 可以试一下搜手机
-不含特定查询词。 例子:例子:电影 -qvod 或升职记 -太子妃
+包含特定查询词
谷歌hack搜索与百度搜索语法相近,在细节处有些不同
必应bing搜索的语法:
这里写图片描述
这里写图片描述
不同的搜索引擎对应的不同的数据库和资源。
网络空间搜索引擎:
这里写图片描述
Shodan,来自于国外,点击“Details”,可查看详情信息,包括域名、IP、地址、Web技术、对外开放的端口和相应的服务。提供API接口。
Zoomeye,来自于国内安全公司知道创宇。点击查看详情,包括IP、地址、对外开放的端口和相应的服务。提供API接口。但对中国地区的服务器IP地址做了部分隐藏处理。
Fofa,来自于国内,提供API接口

在线web工具:www.ipip.net 、www.cmd5.com,www.anquanquan.info
tips:以谷歌为例。 有时安全漏洞是在前端页面出现时,可以通过禁用js或者css来定位漏洞
禁用js方法(工具-设置-高级设置-隐私设置-内容设置):
这里写图片描述
禁用css方法:
这里写图片描述

2) 浏览器插件(特别是火狐)
这里写图片描述

四:需要了解的知识(不求精通,但会写简单的以及能看懂所有的代码)
1)html
2)javascript
3)sql
4)php
5)web服务器环境
这里写图片描述

五:安全测试工具
web渗透测试工具:
AWVS ( Acunetix Web Wulnerability Scanner)是一个自动化的Web 应用程序安全测试工具,它可以扫描任何可通过Web 浏览器访问的和遵循 HTTP/HTTPS 规则的 Web站点和 Web应用程序、国内普遍简称WVS。
WebInspect(企业级漏

HP WebInspect 可提供快速扫描功能、广泛的安全评估范围及准确的 Web 应用程序安全扫描结果。它可以识别很多传统扫描程序检测不到的安全漏洞。利用创新的评估技术,例如同步扫描和审核 (simultaneous crawl and audit, SCA) 及并发应用程序扫描,您可以快速而准确地自动执行 Web 应用程序安全测试和 Web 服务安全测试。WebInspect是最准确和全面的自动化的Web应用程序和Web服务漏洞评估解决方案。

AppScan

对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试(DAST) 和交互式应用程序安全测试 (IAST)。支持 Web 2.0、 JavaScript 和 AJAX 框架的全面的 JavaScript 执行引擎。涵盖 XML 和 JSON 基础架构的 SOAP 和 REST Web 服务测试支持 WSSecurity 标准、 XML 加密和 XML 签名。详细的漏洞公告和修复建议。40 多种合规性报告,包括支付卡行业数据安全标准 (PCI DSS)、支付应用程序数据安全标准 (PA-DSS)、 ISO 27001 和 ISO 27002,以及 Basel II。
具体讲解信息,详见链接:http://blog.csdn.net/pygain/article/details/52729266
数据库扫描漏洞工具:
sqlmap
Pangolin(穿山甲)
其他工具:
Burpsuite(重点,功能很全)
fiddler
Nmap(端口扫描)
Wireshark
工具大全:http://blog.csdn.net/zj0910/article/details/42294249
tips:工具只是在一定程度上帮你快速搜索到一些明显的漏洞,但漏洞的具体证实仍需手工进行检验。故不要盲目的依赖工具。

六:常见的安全漏洞
1、XSS
xss又叫CSS(Cross-SiteScripting),跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。

2、CSRF
3、URL跳转
4、点击劫持

5、SQL注入
6、命令注入
7、文件操作漏洞


http://chatgpt.dhexx.cn/article/ZoAF1PMm.shtml

相关文章

WEB安全_基础入门_系统及数据库,明确安全测试思路(演示只需要熟悉流程)

目录 前言一、操作系统层面背景知识点1.识别操作系统的常见方法方式一:改变大小写看操作系统的类型方式二:TTL判断方式三:nmap端口判断 2.简要两者区别及识别意义3.操作系统层面漏洞类型对应意义SQL注入漏洞跨站脚本漏洞弱口令漏洞HTTP报头追…

web平台安全测试方案

平台安全测试方案 1、 测试目的 能尽可能发现当前系统存在的安全隐患,在漏洞报告提供出有价值的建议通过报告修复漏洞后,能减少系统出现严重的安全事故 2、测试对象 Web应用程序服务器操作系统 3、测试工具及环境 AppScan(Windows10&am…

什么是web安全测试

1.1什么是web安全测试? Web安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,web系统应用仍然能够充分地满足它的需求 1.2为什么进行Web安全测试 2005年06月,CardSystems,黑客恶意侵入了它的电脑系统&#x…

web安全测试内容

一. 首先你得了解Web Web分为好几层,一图胜千言: 事实是这样的: 如果你不了解这些研究对象是不可能搞好安全研究的。 这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……&#xff…

解决报错RuntimeError: set_sizes_and_strides is not allowed on a Tensor created from .data or .detach().

完整报错信息如下 RuntimeError: set_sizes_and_strides is not allowed on a Tensor created from .data or .detach(). If your intent is to change the metadata of a Tensor (such as sizes / strides / storage / storage_offset) without autograd tracking the change…

基于keras的卷积神经网络(CNN)

1 前言 本文以MNIST手写数字分类为例,讲解使用一维卷积和二维卷积实现 CNN 模型。关于 MNIST 数据集的说明,见使用TensorFlow实现MNIST数据集分类。实验中主要用到 Conv1D 层、Conv2D 层、MaxPooling1D 层和 MaxPooling2D 层,其参数说明如下…

Grad strides do not match bucket view strides.This may indicate grad was not created according to th

家人们来看看是不是报这个 warning: [W reducer.cpp:283] Warning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the params strides changed since DDP was constructed.…

Python多维数组跨度strides(学习笔记)

Python多维数组跨度 今天就来搞明白有关于多维数组的跨度 strides的知识 先构建一个四位数组: arrnp.arange(1,25.0).reshape(2,2,2,3) print(轴(维度):,arr.ndim) arr分析:arange(1,25.0)是1~24共24个数字,注意到25.0是float类型 再来看看…

RuntimeError: sparse tensors do not have strides

这是一个可以复现的问题。 归根结底在于 torch不支持Sparse与Sparse的矩阵乘法(mm)。 也不支持Dense 与 Sparse的矩阵乘法。 只支持Sparse与Dense的矩阵乘法。 torch.mm是消边的矩阵乘法,mm matrix multiply。 而torch.mul是同形矩阵的element-wise点乘。 所谓s…

Warning: Grad strides do not match bucket view strides pytorch利用DDP报错

遇到报错: [W reducer.cpp:362] Warning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the param’s strides changed since DDP was constructed. This is not a…

Python ndarray.strides用法

用法 ndarray.strides: 跨越数组各个维度所需要经过的字节数元组 a np.array([[10,2,4],[3, 4,11]],dtypenp.int32) print(a.strides) #(12,4) 12表示在内存中a[n, 0]到a[n1, 0]跨过多少byte; 4表示在内存中a[n, 0]到a[n, 1]跨过多少byte# 查看数组a所有元素占用内存大小&…

神经网络:CNN中的filter,kernel_size,strides,padding对输出形状的影响

输入数据在经过卷积层后,形状一般会发生改变,而形状的变化往往与以下四个超参数有关。 1,filter(out_channel) 该超参数控制着输入数据经过卷积层中需要与几个卷积核进行运算,而输入数据与每个卷积核进行…

tf.keras.layers.Conv2D用法总结

概述 tf.keras.layers.Conv2D()函数用于描述卷积层。 用法 tf.keras.layers.Conv2D(filters, kernel_size,strides(1, 1), paddingvalid, data_formatNone,dilation_rate(1, 1), activationNone )1.filter:卷积核的个数 2.kenel_size:卷积核尺寸&…

CNN中stride(步幅)和padding(填充)的详细理解

步幅:卷积核经过输入特征图的采样间隔 填充:在输入特征图的每一边添加一定数目的行列,使得输出的特征图的长、宽 输入的特征图的长、宽 两个参数的核心: 设置步幅的目的:希望减小输入参数的数目,减少计…

java输出(java输出语句快捷键)

java最简单的输入输出 java输出语句怎么写 去百度文库,查看完整内容> 内容来自用户:白岸海歌 System.out.print ——标准输出流 Java的流类,主要是:输入流类InputStream输出流类OutputStream Java系统预先定义好3个流对象,静态…

Java程序入口+输出语句+数据类型

一(Java程序入口):要想执行一个java程序,就必须有一个程序入口,且该入口为固定格式:public static void main(String[ ] args){}。注意:是main而不是mian,Str…

JAVA 循环控制语句以及输入输出

JAVA 循环控制语句以及输入输出 顺序结构分支结构if 语句switch 语句 循环结构while 循环for 循环do while 循环 输入输出输出到控制台从键盘输入 JAVA 里的程序控制语句主要分为顺序结构、分支结构(选择)和循环结构。 顺序结构 顺序结构比较简单&#x…

JAVA输出语句及变量

文章目录 语句输出在.java文件里一共能存在2样东西;注释的分类:变量标识符变量名的命名规范: 语句输出 格式一:println.带有换行效果 格式二:print.不带换行效果 (语句是程序执行的最小单元,是以";"结束的.) “ System.out.println();”输入快捷方法…

java的打印语句_java打印输出语句是什么?

打印输出语句有:换行打印“System.out.println();”,不换行打印“System.out.print();”,字节输出“System.out.write();”,按格式输出“System.out.printf();”。 Java中的输出语句有以下四种:System.out.println(111…

Java输入/输出

File类文本(Text)输入/输出 输出用PrintWriter类try-with-resources来自动关闭资源用Scanner来读取文本流式处理文本文件和二进制文件 二进制(Binary)文件输入/输出 二进制输入/输出到文件FilterInputStream/FilterOutputStream D…