记录一些问题(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 物理层 例如线路无线电光纤信鸽
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python之sympy库–数学符号计算与绘图必备[通俗易懂]

    python之sympy库–数学符号计算与绘图必备[通俗易懂]在实际进行数学运算的时候,其实有两种运算模式,一种是数值运算,一种是符号运算(代数)。而我们日常使用计算机进行数值运算,尤其是比如除、开平方等运算时,往往只能得到其近似值,最终总会已一定的误差,如果使用符号运算模式,则可以完全避免此种问题。一、数学符号及符号表达式符号表达式,区别于常规的数值型数学表达式,常规数学表达式,比如x+y*2等,基本x和y是一个变量,且变量最终也会被赋值,由变量组成的表达式,最后得出的也是一个数值。而符号表达式,则真正的由符号组成,而符号无需提前赋值,由符号组成的表达式

  • pyyaml使用_pam模块

    pyyaml使用_pam模块pyyaml模块

  • 二级公共基础知识总结笔记[通俗易懂]

    二级公共基础知识总结笔记[通俗易懂]二级公共基础知识总结下个学期就要开始我的计算机双学位就读了。在此之前,我打算先考几个证来过渡一下,像二级的C、C++、VB、Java、Python、Office都考一下。其中我比较熟悉的只有C和Python,其他的编程语言就要自己突击一下了。3月我报的是C、C++和VB。为此还买了几本书。这里总结一下考点,做一下笔记。之后书就不重要了,可以丢了。再刷一些题目,做一些记录就可以了。开始笔记吧。…

  • linux下手动释放内存

    linux下手动释放内存

  • J2EE是什么意思_main()函数是java程序的执行入口

    J2EE是什么意思_main()函数是java程序的执行入口j2ee   J2EE简介  J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)   J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。   J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依

    2022年10月11日
  • C++ socket通信遇到的无法解析外部符号「建议收藏」

    C++ socket通信遇到的无法解析外部符号「建议收藏」转载:https://blog.csdn.net/u013617144/article/details/49046925bug:无法正常调用Socket通讯方法解决方案:头文件中加入#pragmacomment(lib,"WS2_32.lib")

发表回复

您的电子邮箱地址不会被公开。

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