文章目录
- 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的可以按照如下图进行学习
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
POST请求
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
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,然后点解访问
查看页面提示 (It doesn’t come from ‘https://www.secret.com’) ,发现访问这个页面必须来自于 www.secret.com ,接下来通过Burp抓包,修改referer字段试试
发现又获取了提示信息 Please use “SomeOne” browser 需要用 SomeOne 浏览器访问才行,那我们就添加个 User-Agent
发现又获取提示 No!!! you can only read this locally!!! 只能通过本地的方法阅读此内容,那么我们就要添加一个 x-forwarded-for 字段,成功获取flag值
修改添加cookie字段内容绕过
cookie
cookie:表示服务端给客户端传的http请求状态,也是多个key=value形式组合,比如登录后的令牌等
进入题目内容(2)
失效的访问控制,用admin用户获取key
点击登录发现允许本地访问,这样我们就抓包添加或修改x-forwarded-for 字段试试
发现显示我登录的账号是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成功