前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透基础之浅谈HTTP请求(小白文)

渗透基础之浅谈HTTP请求(小白文)

作者头像
天钧
发布2019-07-26 15:47:49
1K0
发布2019-07-26 15:47:49
举报
文章被收录于专栏:渗透云笔记

渗透最基础的开始就是信息收集,俗话说得好:“知己知彼,百战不殆”

但是光有了工具还仅仅是不够的,正所谓:工欲善其事,必先利其器”熟练掌握工具,还要看懂里面传达的信息,那么下面就为带大家讲解一些相关知识:

1、首先我们应该明白这个网站的运行流程

网站运行的流程:客户端(请求)——服务端处理请求数据———客户端(接受返回信息)

灵魂画手画的流程图

2、状态码

状态码:客户端发送请求到服务端返回的状态码,HTTP协议中状态码以三位数字组成,以第一位数字定义响应类别

常见的状态码如下(重点)

200

客户端请求成功,是最常见的状态

302

重定向。用于告诉客户端所访问的资源已被转移

404

请求资源不存在‍

400

客户端请求有语法错误,不能被服务器所理解

401

请求未授权‍‍

403

服务器收到请求,但是拒绝服务

500

服务器内部错误

503

服务器当前不能处理请求,过一段时间请求可能会恢复

在这里列举我理解的HTTP请求

'''如何发起一个请求,在普通用户的角度看来很简单。打开游览器输入www.badu.com就可以了 但在渗透的角度来讲凡事都要学个细致,流程如下: 打开浏览器-->输入网址-->网站返回封装的数据-->到本地又解析成HTML呈现在用户们面前 当然这个是小白文,按照理解的来 '''

如下是大佬们理解的HTTP请求的过程

域名解析 ---> 与服务器建立连接 ---> 发起HTTP请求 ---> 服务器响应HTTP请求,浏览器得到html代码 ---> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片) ---> 浏览器对页面进行渲染呈现给用户

百度HTTP请求

复现流程

打开burp,工具我有在工具库[CTF武器库]里分享,打开之后是这样的,避免英语不好的小白看不到,这里配合汉化后的一张帮助理解

配置BURP SUITE

点击第3步,可以设置监听端口,注意IP地址前面的小勾了吗划重点了

前面那个小勾是判断你电脑的端口是否被占用,如果你的没有这个的话点击第3步设置其他可用端口如下

因为这里咱没有任何问题就不需要设置了

打开游览器我用的Opera,打开设置

设置完成

输入www.baidu.com,burp返回拦截的数据包

代码语言:javascript
复制
例1
GET /his?wd=&from=pc_web&rf=3&hisdata=&json=1&p=3&sid=&req=2&csor=0&cb=jQuery110208513608111662925_1557032998388&_=1557032998389 HTTP/1.1//GET请求
Host: www.baidu.com
Connection: close
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.70
Referer: https://www.baidu.com/index.php?tn=54002054_1_dg
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: BAIDUID=D3DD32767A8D69DB338CF09F080AAB70:FG=1; BIDUPSID=D3DD32767A8D79DB338CF09F080AAB70; PSTM=1557032992; BDRCVFR[GDKhK5Jne_n]=aeXf-1x8UdYcs; delPer=0; BD_HOME=0; H_PS_PSSID=; BD_UPN=15324753
状态码为200,访问成功
代码语言:javascript
复制
例2
HTTP/1.1 200 OK  状态行 
Date: Sun, 17 Mar 2013 08:12:54 GMT  响应头部 
Server: Apache/2.2.8 (Win32) PHP/5.2.5 
X-Powered-By: PHP/5.2.5 
Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/ 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Content-Length: 4393 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 
Content-Type: text/html; charset=utf-8 

常见的HTTP请求方法

GET

POST

HEAD

PUT

DELETE

TRACE

CONNECT

OPTIONS

拿例1为例子请求为GET请求,所提交的以明文显示

GET

向资源发送请求,明文提交,服务器只接受程序员设计好的格式,否则就会报错

HEAD

与GET一致,只返回响应头信息

POST

向资源提交数据并请求处理(如文件上传/表单提交)

PUT

向资源上传新内容

DELETE

删除URL指定资源(危险)‍

代码语言:javascript
复制
请求方法:
GET: 请求指定的页面信息,并返回实体主体。
HEAD: 只请求页面的首部。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
OPTIONS: 允许客户端查看服务器的性能。
TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。
PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。
MOVE: 请求服务器将指定的页面移至另一个网络地址。
COPY: 请求服务器将指定的页面拷贝至另一个网络地址。
LINK: 请求服务器建立链接关系。
UNLINK: 断开链接关系。
WRAPPED: 允许客户端发送经过封装的请求。
Extension-mothed:在不改动协议的前提下,可增加另外的方法。

学习笔记如下:

3服务器以及操作系统

服务器:操作系统 win2003(IIS6.0)、2008(IIS7.0、IIS7.5)、win2012(IIS8.0)、win2016(IIS8.5)可视化操作系统,win10(IIS10.0)

Linux系统—centos、ubuntu命令行操作系统

集成环境:phpstudy,upyun,appsever

容器/环境—动态脚本—数据库

容器:apache iis tomcat

动态脚本:asp asp.net(aspx) php java jsp

数据库:access (asp脚本) sql sever (mssql)( asp.net脚本) mysql (php脚本) Oracle(java脚本)

IIS容器支持的脚本:ASP,CER,CER,ASA,CDX,ASP.NET,ASHX

Apache支持脚本:PHP

Tomcat支持脚本:JAVA

环境标配:apache+php+mysql

asp+sql sever+iis

asp+access+iis

tomcat+Oracle+java

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透云笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档