安全测试学习

目录

学习目标: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 + 下面的语句

sql 复制代码
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语句

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

sql 复制代码
select u.username , u.`password` from users u

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

相关推荐
雨季mo浅忆16 小时前
记录Node.js安全漏洞及其内置Brotli解码器问题
node.js·安全性测试
学网安的肆伍16 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
TomEval3 天前
【测AI】第20篇:大模型安全测试 —— 越狱攻击与防护
人工智能·python·功能测试·ai·aigc·测试用例·安全性测试
狮子座的男孩5 天前
解决:使用Burp Suite工具实现防重放攻击的过程及遇到的代理等问题
经验分享·web开发·工具·代理·burpsuite·网络开发·防重放攻击
hengdonghui10 天前
Writeup 4 CTFHub injection
web·ctf·sql注入·整数型联合查询注入(有回显)
迪康妍妍13 天前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
xiancai_xianyu13 天前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
CALL1581190984515 天前
SVHC 247项与附录XVII限制物质,REACH测试项目有哪些?
运维·安全·安全性测试
Luminbox紫创测控16 天前
车载LiDAR强光测试的实验设计方法与数据分析
人工智能·数据挖掘·数据分析·车载系统·安全性测试·太阳光模拟器
Web Security Loop19 天前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试