安全测试学习

目录

学习目标: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解密

相关推荐
16年上任的CTO6 天前
常见网络攻击类型及防护手段
网络攻击模型·ddos·xss·sql注入·网络防护·xsrf·arf
成成成成成成果7 天前
电商支付异常测试全攻略
功能测试·测试工具·集成测试·模块测试·测试覆盖率·安全性测试·testlink
看天走路吃雪糕9 天前
sqli-labs:Less-28a关卡详细解析
select·sql注入·union·联合查询注入·sqli-labs·less-28a
介一安全9 天前
【BurpSuite 插件开发】实战篇(六)实现自定义请求头的修改与请求测试
web安全·安全性测试·burpsuite·安全工具·burp 开发
看天走路吃雪糕9 天前
sqli-labs:Less-24关卡详细解析
sql注入·sqli-labs·less-24·二次排序注入
看天走路吃雪糕10 天前
sqli-labs:Less-23关卡详细解析
sql注入·sqli-labs·报错盲注·less-23·注释符
看天走路吃雪糕10 天前
sqli-labs:Less-26关卡详细解析
sql注入·sqli-labs·报错盲注·or·less-26·and
看天走路吃雪糕11 天前
sqli-labs:Less-21关卡详细解析
sql注入·cookie·sqli-labs·报错盲注·less-21
看天走路吃雪糕11 天前
sqli-labs:Less-20关卡详细解析
sql注入·cookie·sqli-labs·报错盲注·less-20
卓码软件测评12 天前
软件测试测评公司关于HTTP安全头配置与测试?
web安全·网络安全·安全性测试·web app