http协议 - 常见渗透测试姿势

文章目录

  • HTTP是什么
    • GET 请求
    • POST请求
    • HEAD请求
  • HTTP绕过练习靶场
    • 修改添加请求头部字段内容绕过
      • referer User-Agent x-forwarded-for
        • 进入题目内容(1)
    • 修改添加cookie字段内容绕过
      • cookie
      • 进入题目内容(2)

工具: Burp Suite 汉化版

HTTP是什么

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。

这里不过多阐述,想深入了解HTTP的可以按照如下图进行学习

http协议 - 常见渗透测试姿势_第1张图片

GET 请求

浏览器地址栏里面,直接看到的就是GET请求

https://www.baidu.com/s?wd=11%E6%9C%88%E8%B5%B7%E5%A4%9A%E9%A1%B9%E6%96%B0%E8%A7%84%E5%BC%80%E5%A7%8B%E6%89%A7%E8%A1%8C&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1

在这里插入图片描述

http协议 - 常见渗透测试姿势_第2张图片

POST请求

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。

http协议 - 常见渗透测试姿势_第3张图片

HEAD请求

类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头

HTTP绕过练习靶场

修改添加请求头部字段内容绕过

referer User-Agent x-forwarded-for

referer:告诉服务器请求的原始资源的URI,其用于所有类型的请求,并且包括:协议+域名+查询参数; 很多抢购服务会用这个做限制,必须通过某个入来进来才有效

User-Agent:常见客户端的请求信息

x-forwarded-for:http拓展头部,来表示 HTTP 请求端真实 IP x-real-ip
进入题目内容(1)

打开网页,发现没有如何头绪、鼠标右键查看网页源代码,发现一个 secret.php,然后点解访问

http协议 - 常见渗透测试姿势_第4张图片

http协议 - 常见渗透测试姿势_第5张图片

查看页面提示 (It doesn’t come from ‘https://www.secret.com’) ,发现访问这个页面必须来自于 www.secret.com ,接下来通过Burp抓包,修改referer字段试试

http协议 - 常见渗透测试姿势_第6张图片

发现又获取了提示信息 Please use “SomeOne” browser 需要用 SomeOne 浏览器访问才行,那我们就添加个 User-Agent

http协议 - 常见渗透测试姿势_第7张图片

发现又获取提示 No!!! you can only read this locally!!! 只能通过本地的方法阅读此内容,那么我们就要添加一个 x-forwarded-for 字段,成功获取flag值

http协议 - 常见渗透测试姿势_第8张图片

修改添加cookie字段内容绕过

cookie

cookie:表示服务端给客户端传的http请求状态,也是多个key=value形式组合,比如登录后的令牌等

进入题目内容(2)

失效的访问控制,用admin用户获取key

http协议 - 常见渗透测试姿势_第9张图片

点击登录发现允许本地访问,这样我们就抓包添加或修改x-forwarded-for 字段试试

http协议 - 常见渗透测试姿势_第10张图片

发现显示我登录的账号是guest没有权限,接下来我们往下看,Cookie字段

Cookie: session=b058eb64-5c08-40b4-b007-cc0d9f80d85b.hqRPcC6uegwyEdUD8FB_lslt5M8; IsAdmin=false; Username=R3Vlc3Q%3D

IsAdmin=false    Username=R3Vlc3Q%3D

IsAdmin=true    Username=YWRtaW4%3d

我们把IsAdmin的值改为 true ,username 字段进行URL解码之后在进行base64解码发现值为:Guest;那么我们就构造一个值为admin,并进行base64编码和URL编码为:YWRtaW4%3d,发现获取flag成功

http协议 - 常见渗透测试姿势_第11张图片

你可能感兴趣的:(WEB安全基础,http,网络协议,网络,网络安全,渗透测试,http协议绕过漏洞)