Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >记录一些问题(http状态码,IDOR漏洞,API接口,http请求方式)

记录一些问题(http状态码,IDOR漏洞,API接口,http请求方式)

作者头像
全栈程序员站长
发布于 2022-08-12 07:14:35
发布于 2022-08-12 07:14:35
3800
举报

大家好,又见面了,我是你们的朋友全栈君。

在以前学习渗透的过程中遇到好多的小问题,弄得人不舒服,现在记录一下,算是加固一下,

首先是一个服务器返回请求HTTP状态码的值,

常遇到的200,400,404,401,403,500等等,(服务器常见一共14中状态码)

2**开头的成功状态码,请求处理完成,常见的200,204,206的区别,

200请求成功,并返回了实体报文,

204页成功了,但是没有实体报文(也就是你浏览器空白的没有东西)205页和这个差不多,

206的区别是他请求成功也给你返回了实体报文,但他这个给你返回的是你GET请求的东西。

3**开头的,意思告诉你我搬家了,不在这里,重定向状态吗,

对重定向的时间上进行了划分,

301哥们永久搬家了,至于会不会给你留新家地址,就懒返回信息有没有了,

302哥们临时出去几天,有可能还回来,也可能不回来,到时看,

303这个比较好玩,这哥们买了二手房直接住过去了,你要找他可以试试换换请求方式,GET,

304压根就不是重定向,他告诉你,多找一下你自己浏览器的问题,是不是你传参错了,是不是你呀页面也没有刷新?

305这个你要用代理,比较高冷,大哥级的,一般方式涨不到他

4**开头的是你客户端的问题,让服务器无法正常处理请求

400这哥们出现,就是服务器想告诉你,你想干啥?你说的我都不明白,你给我发的啥东西,不懂,你重新组织一下语言

401这哥们就是门卫,告诉你,你呀的登记没就想进来看看一下(HTTP认证信息或者是认证失败)

403直接把你拒绝了,原因给不给你,看心情

404告诉你你要找的东西我这没有

5开头状态码并不常见,但是意思差不多就是哥们我自己的问题,你别问,问了就是不知道

500 服务器的问题,不要问为啥 503 服务不可用,由于超载或停机维护 505 HTTP 版本不受支持

逻辑漏洞IDOR漏洞和驼峰命名法

接口参数fuzz方法

js信息接口fuzz

第一参数污染,这个和中间件有很大关系,“ id”,“ pid”,“ uid”,“user_id”等等的参数,在我们可控范围内进行传递,进行测试

Web服务器

参数获取函数

获取到的参数

PHP/Apache

$_GET(“par”)

Last

JSP/Tomcat

Request.getParameter(“par”)

First

Perl(CGI)/Apache

Param(“par”)

First

Python/Apache

Getvalue(“par”)

All(List)

ASP/IIS

Request.QueryString(“par”)

All(comma-delimited string)

原本URL:http://www.xxxx.com/abc.php?id=1

改后URL:http://www.xxxx.com/abc.php?id=1&id=2

百度会理解成让百度搜索:1

雅虎会理解成让雅虎搜索:2 

谷歌会理解成让谷歌搜索:1和2

驼峰命名法简单写一点:

类名、接口名:XxxYyyZzz

变量名、方法名:xxxYyyZzz

常量名:XXX_YYY_ZZZ

这个配个API接口:

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指 API的说明文档,也称为帮助文档。

以上是百度的解释,我自己的感觉就是一个网站的编写搭建一个人写不完,那就一人写一点,那我想调用你写的那一点咋办?弄个接口调用一下,我就不用再写了,是不是方便了,但是人多力量大的同时,个人习惯不可能代码写的一样,或者说庞大的工作量再加上交付时间的问题,坑定有人用了“百度代码”,这就给了渗透机会,FUZZ呗,可能找到未授权的或者别的东西。

HTTP协议的请求方式

序号

方法

描述

1

GET

发送请求来获得服务器上的资源,请求体中不会包含请求数据,请求数据放在协议头中。另外get支持快取、缓存 、可保留书签等。幂等

2

POST

和get一样很常见,向服务器提交资源让服务器处理,比如提交表单、上传文件等,可能导致建立新的资源或者对 原有资源的修改。提交的资源放在请求体中。不支持快取。非幂等

3

HEAD

本质和get一样,但是响应中没有呈现数据,而是http的头信息,主要用来检查资源或超链接的有效性或是否可以可达、检 查网页是否被串改或更新,获取头信息等,特别适用在有限的速度和带宽下。

4

PUT

和post类似,html表单不支持,发送资源与服务器,并存储在服务器指定位置,要求客户端事先知 道该位置;比如post是在一个集合上(/province),而put是具体某一个资源上(/province/123)。所以put是安全的, 无论请求多少次,都是在123上更改,而post可能请求几次创建了几次资源。幂等

5

DELETE

请求服务器删除某资源。和put都具有破坏性,可能被防火墙拦截。如果是https协议,则无需担心。幂等

6

CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。就是把服务器作为跳板,去访问其他网页 然后把数据返回回来,连接成功后,就可以正常的get、post了。

7

OPTIONS

获取http服务器支持的http请求方法,允许客户端查看服务器的性能,比如ajax跨域时的预检等。

8

TRACE

回显服务器收到的请求,主要用于测试或诊断。一般禁用,防止被恶意攻击或盗取信息。

不同的TCP/IP和其他的协议在最初OSI模型中的位置

HTTP 用来实现超文本传输,FTP文件传输,SMTP处理邮件等等

7

应用层

例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP

6

表示层

例如XDR、ASN.1、SMB、AFP、NCP

5

会话层

例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets

4

传输层

例如TCP、UDP、RTP、SCTP、SPX、ATP、IL

3

网络层

例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25

2

数据链路层

例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP

1

物理层

例如线路、无线电、光纤、信鸽

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131645.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的。接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了。当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性,还是有必要系统的总结一下的。 一、TCP/IP协议组简述 在聊HTTP与HTTPS之前呢,我们先简单的聊一下T
lizelu
2018/01/11
1.6K0
TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
HTTP1.0、1.1、2.0、3.0的主要区别?HTTP状态码及含义?
HTTP头Connection: keep-alive是什么意思?解决了什么问题?
了凡银河系
2022/08/22
1.1K0
HTTP1.0、1.1、2.0、3.0的主要区别?HTTP状态码及含义?
HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。比如 GET /data/info.html HTTP/1.1
书童小二
2018/09/03
2.7K0
HTTP请求响应报文&&相关状态码&&GET_POST请求方法  总结
【Linux网络编程】应用层协议HTTP(请求方法,状态码,重定向,cookie,session)
HTTP的英文是:(HyperText Transfer Protocol)超文本传输协议首字母的缩写。
用户11396661
2025/02/16
1590
【Linux网络编程】应用层协议HTTP(请求方法,状态码,重定向,cookie,session)
HTTP 状态码
状态码是来告诉客户端,发生了什么事情。状态码为客户端提供了一种理解事务处理结果的便捷方式。状态码位于响应的起始行中
ColinLiu
2019/05/04
2.9K0
HTTP 状态码
HTTP协议请求方法和状态码介绍
HTTP请求方法、状态码和Header是相互配合一起工作的,客户端通过HTTP的方法告诉服务器要执行什么动作,服务器通过状态码来告诉客户端动作是否执行成功。接下来让我们一起来了解一下这块相关的一些内容。
小博测试成长之路
2021/03/06
6890
四、《图解HTTP》- 状态码
状态码章节内容过于贫乏,参考资料找了一个澳大利亚的博客,里面收录了HTTP的状态码介绍,为什么选这个作参考?一个是网站挺漂亮,另一个是做了一张长图容纳了常见的响应码,存到手机可以时不时看看,并且博客有做国际化,点进去自动就是中文(但是团队确实是外国人),挺有意思的。
阿东
2022/08/12
1.3K0
四、《图解HTTP》- 状态码
HTTP状态码详解
HTTP状态码介绍 状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。 状态码的类别 http状态码通常分为5种类型,分别是以1~5五个数字开头,并由三位整数组成 状态码类别说明 1XX信息性状态码(Information)接收的请求正在处理 2XX成功状态码(Success)请求正常处理完毕 3XX重定向状态码(Redirection) (Success)需要进行附加操作以完成请求 4XX客户端错误状态码(Client
运维小白
2018/02/06
1.4K0
从100到511的这些数字,HTTP状态码背后的秘密你知道多少?
每次你在浏览器输入网址,背后都有一场与服务器的"沉默对话"。当你看到页面正常加载时,这场对话顺畅愉快;当出现"无法访问"时,其实是服务器给你发了一封"出错通知书"——这就是HTTP响应状态码,互联网世界的"表情语言"。
星哥玩云
2025/07/09
1600
从100到511的这些数字,HTTP状态码背后的秘密你知道多少?
http状态码
状态码查询 201-206都表示服务器成功处理了请求的状态代码,说明网页可以正常访问。 200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。 201(已创建) 请求成功且服务器已创建了新的资源。 202(已接受) 服务器已接受了请求,但尚未对其进行处理。 203(非授权信息) 服务器已成功处理了请求,但返回了可能来自另一来源的信息。 204(无内容) 服务器成功处理了请求,但未返回任何内容。 205(重置内容) 服务器成功处理了请求,但未返回任何内容。与
大象无痕
2018/07/17
1.6K0
学习提升之HTTP状态码详解
2016-11-1410:23:53 发表评论 315℃热度 1.URL 2.URL中常见的协议 3.TCP/IP协议簇 4.TCP/IP参考模型 5.HTTP协议简介 6.HTTP协议的特点(为什么选择HTTP) 1 何谓HTTP状态码 2 状态码分类 3 常见的状态码 目录 最近太忙了,不好意思,没有更新博客,所以今天抽空把这些天积累的知识都写下来与大家分享。这篇文章是我在学习网络部分的一些学习笔记,在这里分享给大家。之前看到状态码都是搜索下就完事,常用的也都记得,毕竟搭建博客等过程
timhbw
2018/05/03
1.4K0
Http协议状态码总结
一、http方法 方法名 说明 get 发送一个获取请求,服务器的响应会包含head与body部分 post 发送一个输入数据的请求,服务器的响应会包含head与body部分 head 服务器响应的只有head部分 put 向服务器发送一个文件(资源) trace 目的服务器在响应请求的时候,会在主体中带上原始的请求报文,用于客户端对比防火墙、代理、网关等对数据做的改变 options 请求服务器告知web服务器支持的功能 delete 请求服务器删除url指定的资源
sam dragon
2018/01/17
1.1K0
HTTP响应状态码:除了404,还有啥?
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
可可的测试小栈
2019/10/17
2.3K0
【HTTP】构造HTTP请求和状态码
学习状态妈的意义,就是为了能够更好的调试问题。咱们在自己写服务器的时候,最好能够按照人家状态码的含义来正确使用
椰椰椰耶
2024/10/15
1910
【HTTP】构造HTTP请求和状态码
HTTP/HTTPS协议(请求响应模型、状态码)
HTTP(HyperText Transfer Protocol)即超文本传输协议,是互联网上应用最为广泛的协议之一。它是一种无状态的、面向事务的协议,用于客户端(如浏览器)和服务器之间的通信。无状态意味着每次请求 - 响应对都是独立的,服务器不会保存之前请求的状态信息。
久绊A
2025/05/05
3120
HTTP1.1协议状态码
此类状态码仅由 状态行 和可选响应头组成的临时响应, 并以空行终止。此类状态码没有必需的标题。由于HTTP / 1.0没有定义任何1xx状态代码,因此服务器必须禁止向HTTP / 1.0客户端发送1xx响应。
星尘的一个朋友
2020/11/25
3K0
HTTP状态码列表
1xx消息——请求已被服务器接收,继续处理 2xx成功——请求已成功被服务器接收、理解、并接受 3xx重定向——需要后续操作才能完成这一请求 4xx请求错误——请求含有词法错误或者无法被执行 5xx服务器错误——服务器在处理某个正确请求时发生错误 100199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。 200299:表示成功接收请求并已完成整个处理过程。常用200 300399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存) 400499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够) 500~599:服务器端出现错误,常用500
Li_XiaoJin
2022/06/10
9540
HTTP状态码及其含义
        开发Web项目的时候,因为环境搭建和配置的原因,经常会出现部署失败的情况;搭建这个博客的时候,也因为php-admin缺少某些库的原因,导致出现502的稀有的http状态。平时不是很留意这些状态码信息,也不是很了解出现这种状态的内在原因,每次出现都要查找。为了详细梳理和备忘,整理一份http状态码及其含义的解析。
王金龙
2018/09/05
1.9K0
小结HTTP状态码
作为一个web开发工程师,我们平时都会和诸如200, 304, 404, 501等状态码打交道,那么它们是什么意思呢?今天,我们来聊聊~
Jimmy_is_jimmy
2019/07/31
1.2K0
HTTP状态码
http状态码解释 HTTP 状态码分为 5 类。 总体范围 已定义范围 类别 100~199 100~101 信息 200~299 200~206 成功 300~399 300~305 重定向 400~499 400~415 客户端错误 500~599 500~505 服务器错误 状态码 状态码 原因短语 含义 100 Continue(继续) 收到了请求的起始部分,客户端应该继续请求 101 Switching Protocols(切换协议) 服务器正根据客户端的指示将协议切换成 Update首部列出
零式的天空
2022/03/16
1.3K0
相关推荐
TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档