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

释放双眼,带上耳机,听听看~!

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

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

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返回拦截的数据包

1GET /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.comConnection: closeAccept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01X-Requested-With: XMLHttpRequestUser-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.70Referer: https://www.baidu.com/index.php?tn=54002054_1_dgAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Cookie: 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,访问成功
例2HTTP/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指定资源(危险)

请求方法: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-10-16 17:21:23

安全工具

永远的旁观者

2019-10-16 17:21:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索