大家好,又见面了,我是你们的朋友全栈君。
在以前学习渗透的过程中遇到好多的小问题,弄得人不舒服,现在记录一下,算是加固一下,
首先是一个服务器返回请求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 版本不受支持
接口参数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