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

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

首先是一个服务器返回请求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协议的请求方式

序号方法描述
1GET

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

、可保留书签等。幂等

2POST

和get一样很常见,向服务器提交资源让服务器处理,比如提交表单、上传文件等,可能导致建立新的资源或者对

原有资源的修改。提交的资源放在请求体中。不支持快取。非幂等

3HEAD

本质和get一样,但是响应中没有呈现数据,而是http的头信息,主要用来检查资源或超链接的有效性或是否可以可达、检

查网页是否被串改或更新,获取头信息等,特别适用在有限的速度和带宽下。

4PUT

和post类似,html表单不支持,发送资源与服务器,并存储在服务器指定位置,要求客户端事先知

道该位置;比如post是在一个集合上(/province),而put是具体某一个资源上(/province/123)。所以put是安全的,

无论请求多少次,都是在123上更改,而post可能请求几次创建了几次资源。幂等

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

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。就是把服务器作为跳板,去访问其他网页

然后把数据返回回来,连接成功后,就可以正常的get、post了。

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

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


 

不同的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物理层例如线路无线电光纤信鸽
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值