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

记录一些问题(http状态码,IDOR漏洞,API接口,http请求方式)在以前学习渗透的过程中遇到好多的小问题,弄得人不舒服,现在记录一下,算是加固一下,首先是一个服务器返回请求HTTP状态码的值,常遇到的200,400,404,401,403,500等等,(服务器常见一共14中状态码)2**开头的成功状态码,请求处理完成,常见的200,204,206的区别,200请求成功,并返回了实体报文,204页成功了,但是没有实体报文(也就是你浏览器空白的没有东西)205页和这个差不多,206的区别是他请求成功也给你返回了实体报文,但他这个给你返回的是你G

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

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

首先是一个服务器返回请求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 应用层 例如HTTPSMTPSNMPFTPTelnetSIPSSHNFSRTSPXMPPWhoisENRP
6 表示层 例如XDRASN.1SMBAFPNCP
5 会话层 例如ASAPTLSSSH、ISO 8327 / CCITT X.225、RPCNetBIOSASPWinsockBSD sockets
4 传输层 例如TCPUDPRTPSCTPSPXATPIL
3 网络层 例如IPICMPIGMPIPXBGPOSPFRIPIGRPEIGRPARPRARP、 X.25
2 数据链路层 例如以太网令牌环HDLC帧中继ISDNATMIEEE 802.11FDDIPPP
1 物理层 例如线路无线电光纤信鸽
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二叉树的一些性质图解

    二叉树的一些性质图解树的介绍1.树的定义树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01)每个节点有零个或多个子节点;(02)没有父节点的节点称为根节点;(03)每一个非根节点有且只有一个父节点;(04)除了根节点外,每个子节点可以分为多个不相交的子树。 2.树的基本术语若…

    2022年5月20日
    34
  • JMM概述_jmi名词解释

    JMM概述_jmi名词解释简介什么是JMM内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(JavaMemoryModel,JMM)。因此它不是对物理内存的规范,而是在虚拟机基础上进行的规范从而实现平台一致性,以达到Java程序能够“一次编写,到处运行

    2022年9月5日
    4
  • Java的类加载机制

    Java的类加载机制Java的类加载机制

    2022年4月22日
    29
  • Jmm内存模型_java jvm内存模型

    Jmm内存模型_java jvm内存模型JMM(Java内存模型)源于物理机器CPU架构的内存模型,最初用于解决MP(多处理器架构)系统中的缓存一致性问题,而JVM为了屏蔽各个硬件平台和操作系统对内存访问机制的差异化,提出了JMM的概念。Java内存模型是一种虚拟机规范,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。通过这种方式来保证多线程下变量的缓存一致性问题,下图是一个CPU多级缓存图:Java内存模型(JavaMemoryM

    2022年9月3日
    2
  • 前端实现异步的几种方式_redux是什么

    前端实现异步的几种方式_redux是什么1.什么是Saga?实际上,这个术语出自康奈尔大学的一篇论文:http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf最初这篇论文是为了解决分布式系统中的LLT(LongLivedTransaction),也就是长时运行事务的数据一致性问题的。这么说有点抽象,我们来举个具体的例子:假如你在一个在线订票系统上订了一张…

    2022年9月18日
    0
  • 「7年了!GTA 5联机版加载还是这么慢??一个if语句循环了19.8亿次??你的CPU在抽烟」

    「7年了!GTA 5联机版加载还是这么慢??一个if语句循环了19.8亿次??你的CPU在抽烟」你以为我上GitHub就是在学习?你以为我上GTA5就一定是在玩游戏?「7年了!GTA5联机版加载还是这么慢??」别急先献上地址https://github.com/tostercx/GTAO_Booster_PoC详情下面慢慢去了解只需要如下操作:gitclone—recurse-submoduleshttps://github.com/tostercx/GTAO_Booster_PoC之后,把dll文件粘贴到游戏根目录下就OK!彻底提升启动速度70%△Pleasewaitfor

    2022年4月30日
    208

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号