当前位置: 首页 > news >正文

安全测试学习

目录

  • 一、常见状态码
  • 二、cookie
  • 三、如何确认前后端的bug
  • 四、burpsuite做安全测试
  • 五、暴力破解——用户名和密码
  • 六、暴力破解——有验证码,服务端生成
  • 七、暴力破解 -- 有验证码,在客户端生成
  • 八、SQL注入
    • 第一步:是否存在SQL注入漏洞
    • 第二步:确认该界面对应的SQL涉及到多少列
    • 第三步:查询数据库的名字
    • 第四步:查询数据库pikachu中的表名
    • 第五步:查询用户表 users中的列名
    • 第六步:查询出users表下面的账号跟密码

学习目标:burpsuite使用、常见状态码、前后端的bug确认、cookie学习

一、常见状态码

1、为什么要学习常见的状态码
可以通过状态码快速判断出是前端还是后端bug

2、如何查看状态码
2开头
200:请求成功,返回所需数据
3开头
重定向:你请求a链接,在服务器内部转为b链接
301:永久重定向
302:临时重定向
4开头:请求有问题
400 Bad Request 请求语法错误或参数无效。
401 Unauthorized 被请求的页面需要用户名和密码。
403 Forbidden 对被请求页面的访问被禁止。
404 Not Found 服务器无法找到被请求的页面。
429 too many requests 客户端发送的请求过多(限流)
5开头:服务器问题
500:服务器内部错误
502:代理服务器从上游服务器收到无效响应

二、cookie

1、cookie是什么?
所谓“cookie”数据是指某些网站为了辨别用户身份,储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。通俗来讲就是指缓存数据,包括用户名、密码、注册账户、手机号等公民个人信息。

2、为什么有些网站登录成功后去看个人数据无需再次输入账户号和密码?
因为这些电脑把你的账号和密码等用户信息存在在cookie、session或token中,以后我们去访问比如个人中心,我的订单,前端开发会把这些数据也一同发送过去给服务器,然后后端开发接收到cookie、session或者token后,开发会把他们进行逆向解开,然后校验这些数据的用户名、密码、有效时间是否都有效,如果有效则允许用户查看对应的数据,否则提示访问有异常等。

3、cookie如何测试
3.1 cookie是否加密
在这里插入图片描述
3.2 cookie的有效时间
在这里插入图片描述
3.3 篡改cookie测试
在这里插入图片描述
如果cookie被修改后还能正常访问数据,表示项目有大问题。

3.4 删除cookie测试
在这里插入图片描述
如果cookie删除后还能正常访问,表示项目有大问题。

三、如何确认前后端的bug

没交互
如有问题,则是前端bug
有交互
如发送的内容少了、多了、错误、空时,是前端bug。
如响应的内容少了、多了、错误、空时,是后端bug。
如发送跟响应的内容都没有问题,则是前端bug。
在这里插入图片描述
这是前端bug,请求文件的路径拼接有问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、burpsuite做安全测试

1、burpsuite是什么?
一个安全测试工具,还可以做抓包。
2、burpsuite安装
傻瓜式安装
3、设置burpsuite支持字体大小跟支持中文抓包
在这里插入图片描述

4、burpsuite常用功能
在这里插入图片描述

五、暴力破解——用户名和密码

1、 暴力破解
对输入框不断使用不同数据进行尝试,直到正确为止。
2、 应对方法
限制连续操作错误
3 、burpsuite做暴力破解操作
3.1 使用自带的浏览器打开目标页面
3.2 在目标页面输入内容
在这里插入图片描述
3.3 选择目标,然后发送到暴力破解界面
3.4 相关设置然后输入需要测试的数据
在这里插入图片描述
3.5 点击start attack,发起攻击
在这里插入图片描述

3.6 如何确认是都破解成功
破解成功的提示,跟破解失败的提示是不一样的,换句话
而言,成功跟失败提示的数据大小不一样
在这里插入图片描述

六、暴力破解——有验证码,服务端生成

1、 在页面上输入相关内容
2、 在burp suite上开启拦截点 (让验证码不能刷新)
在这里插入图片描述
3、 发送内容到暴力破解
在这里插入图片描述
4、 后面的操作跟前面那个没有验证码操作一样

七、暴力破解 – 有验证码,在客户端生成

1、 在界面上输入相关内容
2、 burp suite 不用开启拦截 --》因为前端生成的验证码,只有输入正确的情况下才会发送
3 、然后把内容发送到暴力破解
在这里插入图片描述
4、 后面操作跟之前没有验证码的暴力破解一模一样

八、SQL注入

1、 SQL注入是什么?
往输入框或者下拉框等输入外部来的数据,可以看到数据库的数据或者进入后台
在这里插入图片描述
2、 如何确认是否存在SQL注入漏洞
可以通过在里面添加相应的内容,如果存在报错,表示存在SQL注入漏洞。

3、 如何防止SQL注入
在注册/登录等操作,禁止使用特殊符号;其他方法:防止SQL注入攻击的10种有效方法

4、 SQL注入操作

第一步:是否存在SQL注入漏洞

1 在软件上进入目标操作界面
2 开启拦截点
在这里插入图片描述

3 在界面上随意操作一份内容
在这里插入图片描述
4 在burp suite 找到拦截的内容,然后在 目标内容id=4 后面添加上 and 1==2
在这里插入图片描述
5 点击forword按钮,进行下一步操作
在这里插入图片描述
6 回到目标界面,查看内容,是否有报错的,说明存在SQL注入

第二步:确认该界面对应的SQL涉及到多少列

1.开启拦截点
2.随意下来一个内容,然后点击查询
在这里插入图片描述
3.在id=2 后, 插入以下内容 order by 5 ,意思是根据select后面的地5列进行排序
在这里插入图片描述
4.点击forward,操作,然后看界面是否报错,如果报错表示select后面没有第五列
在这里插入图片描述
5.经过上面的反复操作,知道order by 2,不会报错!!!!到这一步可以确定select后面有两个列名。

第三步:查询数据库的名字

1.在burpsuite 开启拦截点
2.在界面随便选一个,然后在点击查询,然后在 burpsuite 抓包的界面,输入
union select 1,database()
在这里插入图片描述

3.点击forword,然后去界面看效果内容
在这里插入图片描述

第四步:查询数据库pikachu中的表名

1.在UI界面回到操作目标界面
2.在burusuite 开启拦截点
3.在目标界面随便选一个,然后点击查询
4.在burpsuite 的抓包界面,输入union + 下面的语句

select information_schema.`TABLES` .TABLE_NAME,1
from information_schema.`TABLES` 
where information_schema.`TABLES` .TABLE_SCHEMA = 'pikachu'

5.点击forward
在这里插入图片描述

第五步:查询用户表 users中的列名

1.在UI界面回到操作目标界面
2.在burusuite 开启拦截点
3.在目标界面随便选一个,然后点击查询
4.在burpsuite 的抓包界面,输入union+ 下面SQL语句

select information_schema.`COLUMNS`.COLUMN_NAME , 2
from information_schema.`COLUMNS`
where information_schema.`COLUMNS`.TABLE_SCHEMA = 'pikachu'
and information_schema.`COLUMNS`.TABLE_NAME = 'users'

在这里插入图片描述

第六步:查询出users表下面的账号跟密码

1.在UI界面回到操作目标界面
2.在burusuite 开启拦截点
3.在目标界面随便选一个,然后点击查询
4.在burpsuite 的抓包界面,输入union + 下面的SQL

select u.username , u.`password` from users u

在这里插入图片描述

确认账号密码后https://www.cmd5.com/进行MD5解密

http://www.dtcms.com/a/290756.html

相关文章:

  • Python并发编程:突破GIL枷锁,高效利用多核CPU
  • c# 获取指定路径盘的可用空间
  • 2025年一区SCI-回旋镖气动椭圆优化算法Boomerang Aerodynamic Ellipse-附Matlab免费代码
  • 大根堆,小根堆,双指针
  • ELN和LIMS的区别
  • 【LeetCode 热题 100】207. 课程表——DFS+三色标记
  • 原型设计模式
  • [Plecs基础知识系列] 基于Plecs的半导体热仿真方法(实战篇)_建立热路模型与仿真
  • 多能量CT扫描性能模体的详细讲解
  • 小飞电视:开启智能娱乐新视界
  • 优思学院:精益制造的工具与方法有什么区别?
  • 2025三掌柜赠书活动第二十五期 网络安全应急响应实战
  • Web3.0 能为你带来哪些实质性的 改变与突破
  • Web LLM 安全剖析:以间接提示注入为核心的攻击案例与防御体系
  • 2025年终端安全管理系统的全方位解析,桌面管理软件的分析
  • 在 Windows上用WSL和VSCode进行Linux开发环境配置
  • 解决OpenHarmony中找不到pthread_cancel和pthread_setcanceltype等libc符号的问题
  • python学智能算法(二十七)|SVM-拉格朗日函数求解上
  • SVM(Support Vector Machine)从入门到精通
  • 部署zabbox企业级分布式监控
  • 软件卸载:金山毒霸怎么卸载?【图文讲解】【小白专属】
  • freertos双向链表的插入
  • AI知识点——MCP
  • 如何使用终端查看任意Ubuntu的版本信息
  • 使用Langchain调用模型上下文协议 (MCP)服务
  • 中文分词模拟器 - 华为OD统一考试(Java 题解)
  • CS231n-2017 Lecture5神经网络笔记
  • 【Java EE初阶 --- 网络原理】应用层---HTTP(HTTPS)协议
  • 内网与外网是通过什么进行传输的?内外网文件传输的安全方法
  • Java从入门到精通 - 面向对象高级(三)