数据-方法&头部&状态码
get:请求获取指定的页面信息,返回该资源的内容。用于请求访问已被URL识别的资源,可以获取图片、文本等信息。没有正文,常规请求
post:向指定资源提交数据,请求服务器进行处理(如提交表单、上传文件),可能会导致新的资源的建立或原有资源的修改。用于提交要被处理的数据,用户登陆
head:但服务器返回的响应中不包含具体内容,仅仅是响应头信息。用于获取资源的元数据,比如资源类型、最后修改时间等,不返回实体本身。
put:向指定资源位置上传最新内容,用于更新资源。如果URI指向的资源不存在,服务器可以创建资源。PUT请求是幂等的,多次执行同一请求效果相同。
trace:回显服务器收到的请求,主要用于测试或诊断。TRACE请求不常用,但它可以用来测试HTTP通信。
delete:请求服务器删除指定的页面。用于请求删除资源,成功删除后,资源不再可访问。
option:允许客户端查看服务器的性能,了解服务器支持的HTTP方法。用于检查服务器支持的请求方法,或者检查服务器的性能和功能。
connect:将连接改为管道的方式的代理服务器。主要用于HTTPS请求,通过未加密的HTTP代理服务器建立SSL连接。
参数
- User-agent:设备平台
- Cookie:身份替换
- 某个APP里面有漏洞,电脑复现测试这个漏洞,可能会出现异常(数据包不一样,电脑特定访问和APP访问的数据包不同,无法显示无法处理)
HTTP response状态码判定
- 数据是否正常
- 文件是否存在
- 地址自动跳转
- 服务提供错误
注:可能有容错处理(访问错误自动跳转,访问某个文件触发跳转)和首页索引指向(访问当个文件夹为200,可能下面存在指引)
类别 | 描述 |
---|---|
1xx | 指示信息—表示请求已接收,继续处理。 |
2xx | 成功—表示请求已经被成功接收、理解、接受。 |
3xx | 重定向—要完成请求必须进行更进一步的操作。 |
4xx | 客户端错误—请求有语法错误或请求无法实现。 |
5xx | 服务器端错误—服务器未能实现合法的请求。 |
状态码 | 描述 |
---|---|
200 OK | 客户端请求成功 |
301 Redirect | 页面永久性移走,服务器进行重定向跳转 |
302 Redirect | 页面暂时性移走,服务器进行重定向跳转,具有被劫持的安全风险 |
400 Bad Request | 由于客户端请求有语法错误,不能被服务器所理解 |
401 Unauthorized | 请求未经授权 |
403 Forbidden | 服务器收到请求,但是拒绝提供服务。可以用来判断文件夹是否存在 |
404 Not Found | 请求的资源不存在,例如,输入了错误的 URL |
500 Internal Server Error | 服务器发生不可预期的错误,无法完成客户端的请求 |
503 Service Unavailable | 服务器当前不能够处理客户端的请求 |
以文件判断:
200 OK:文件存在
403 Forbidden:文件存在
404 NotFound:文件不存在
500 InternalServerError:文件可能存在可能不存在
3xx redirect:文件可能存在可能不存在
注意:可能有容错处理,自动跳转别的页面,不存在或者访问某个文件,自动触发跳转,存在
文件探针登录爆破
- 页面正常访问
- 网站文件探针
- 后台登录爆破
GET /§11§ HTTP/1.1,使用Burp通过替换§11§为字典进行爆破
sqlmap -u www.baidu.com/x.php?id=1 不存在,默认进行sqlmap访问头进行注入
www.baidu.com/x.php?id=1 数据包提取出来
sqlmap -r data.txt 存在,采用自己提交的数据包去进行访问,有抓包检测需要绕过
总结
HTPP/s数据包测试工具:Burp,Postman
Request请求方法:GET(常规访问),POST(文件上传,用户登录),其他等
Request请求头参数:UA头(操作系统,内核版本),Cookie(身份认证)等
Response返回状态码:对应1xx, 2xx等,对象状态码判定
思路点:数据包的唯一性(安全测试中部分测试需要数据包一致),数据包的可修改性(通过数据包修改增加等测试安全问题),
复现:
福利期货老演员倒闭啦,无法复现爆破用户名和密码,但是替换任然可用