前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一些问题(http状态码,IDOR漏洞,API接口,http请求方式)

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

作者头像
全栈程序员站长
发布2022-08-12 15:14:35
3160
发布2022-08-12 15:14:35
举报
文章被收录于专栏:全栈程序员必看

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

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

首先是一个服务器返回请求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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 逻辑漏洞IDOR漏洞和驼峰命名法
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档