基础入门-HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
基础入门-HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
- 基础入门-HTTP数据包&Postman构造&请求方法&请求头修改&状态码判断
- 正常的访问过程
- 有代理的访问过程
- request请求头里面含有的元素
- response响应头里面含有的元素
- 方法
- get:
- post:
- head:
- put:
- trace:
- delete:
- option:
- connect :
- 参数
- Response状态码
- 作用:
- 1xx:
- 2xx:
- 3xx:
- 4xx:
- 5xx:
- 案例-文件探针&登录爆破
- 使用bp的过程
- 工具-Postman自构造使用
- 数据包使用的思路点:
正常的访问过程
有代理的访问过程
request请求头里面含有的元素
登陆状态和未登录状态的cookie是不一样的,当获取了cookie,用别的机器登陆时修改数据包,添加cookie就可以登陆后台
response响应头里面含有的元素
方法
get:
向特定资源发出请求(请求指定页面信息,并返回实体主体);
常规请求-Get
get请求是没有正文的,host是网站,url是路径
这时候可以改掉那个路径地址,这样虽然网站的url不变,但是页面会变成修改之后的路径地址
post:
向指定资源提交数据进行处理请求(用户登录、提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改;
post方式有正文,也就是说有提交的数据
head:
与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类
似,返回的响应中没有具体内容,用于获取报头);
put:
向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容),与post的区别是put为幂等,post为非幂等;
trace:
回显服务器收到的请求,用于测试和诊断。trace是http8种请求方式之中最安全的l
delete:
请求服务器删除request-URL所标示的资源*(请求服务器删除页面)
option:
返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户 端查看服务器性能);
connect :
HTTP/1.1协议中能够将连接改为管道方式的代理服务器
参数
演示:
1、UA头-设备平台
有些网站会检测ua头,如果不是对应设备的ua头,就可能会显示不正常,或者无法处理
2、Cookie-身份替换
当获取了cookie,用别的机器登陆时修改数据包,添加获取的cookie就可以登陆后台
Response状态码
作用:
1、数据是否正常
2、文件是否存在
3、地址自动跳转
4、服务提供错误
注:容错处理识别
1xx:
指示信息—表示请求已接收,继续处理。
2xx:
成功—表示请求已经被成功接收、理解、接受。
200 OK:
客户端请求成功
说明文件存在
有时候访问一个文件夹,也会提示200,那是因为这个文件夹设置了索引,会默认打开路径下的一个文件
3xx:
重定向—要完成请求必须进行更进一步的操作。
说明文件可能存在
出现的原因:
1、容错处理,访问出现错误就自动跳转某个页面,这种情况就是访问错误,文件不存在;
2、访问某个文件,自动触发跳转,这个情况就是文件存在;
301 redirect:
页面永久性移走,服务器进行重定向跳转;
302 redirect:
页面暂时性移走,服务器进行重定向跳转,具有被劫持的安全风险;
4xx:
客户端错误—请求有语法错误或请求无法实现。
400 BadRequest:由于客户端请求有语法错误,不能被服务器所理解;
说明文件不存在
401 Unauthonzed:
请求未经授权。
403 Forbidden:
服务器收到请求,但是拒绝提供服务。通常用来判断文件夹是否存在
404 NotFound:
请求的资源不存在,例如,输入了错误的URL;
5xx:
服务器端错误—服务器未能实现合法的请求。
500 InternalServerError:
服务器发生不可预期的错误,无法完成客户端的请求;
说明文件可能存在
503 ServiceUnavailable:
服务器当前不能够处理客户端的请求
案例-文件探针&登录爆破
实验:
1、页面正常访问
2、网站文件探针
3、后台登录爆破
使用bp的过程
用bp抓包之后,发送到intruder,然后
在路径后面随便输入一个字母,点击右边的ADD,就可以把选中的字母变成可替换的,然后选择上面的payload,添加字典,也就可以进行路径扫描了
在第二个选项里面,就可以添加,可以手动添加,也可以添加文件
在这里可以设置线程
注意这里可能会对路径自动编码,如果发现错误,记得取消
还可以用扫描工具,御剑
这里可以设置模式,也就是如果设置了两个变量,就选择最后那个,就可以针对两个变量进行字典的添加和尝试
在这里可以设置自动加密,选择了md5加密,也就是对于第二个变量处,针对编辑好的字典,进行了md5加密后再发送
工具-Postman自构造使用
https://zhuanlan.zhihu.com/p/551703621
postman:写http请求的一个工具
在这里可以编辑数据包,我们可以把cookie添加进去,从而实现每一步都是登陆访问
sql注入的时候,会用到的,如果直接用链接,失败的原因就是采用了sqlmap的访问头,所以改成第二个就是自己的访问头,就会成功
数据包使用的思路点:
1、安全测试部分测试需要数据包一致
2、通过数据包的修改来测试安全问题