XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)

这篇具有很好参考价值的文章主要介绍了XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原理

常见的存在HTTP头注入的参数

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)

Cookie:网站为了辨别用户身份进行session跟踪,并储存在用户本地终端上的数据(通常经过加密)

X-Forwarded-For:简称XFF头,代表了HTTP的请求端真实的IP。它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地址的一个标准(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库或某文件[通过修改XXF头可以实现伪造IP])。

Rerferer:浏览器向 WEB 服务器表明自己的页面来源。

Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。

XFF注入概念

X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。

X-Forwarded-For 请求头格式非常简单,就这样:

X-Forwarded-For: client, proxy1, proxy2

可以看到,XFF 的内容由「英文逗号 + 空格」隔开的多个部分组成,最开始的是离服务端最远的设备 IP,然后是每一级代理设备的 IP。

如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0,那么按照 XFF 标准,服务端最终会收到以下信息:

X-Forwarded-For: IP0, IP1, IP2

Proxy3 直连服务器,它会给 XFF 追加 IP2,表示它是在帮 Proxy2 转发请求。列表中并没有 IP3,IP3 可以在服务端通过 Remote Address 字段获得。我们知道 HTTP 连接基于 TCP 连接,HTTP 协议中没有 IP 的概念,Remote Address 来自 TCP 连接,表示与服务端建立 TCP 连接的设备 IP,在这个例子里就是 IP3。

Remote Address 无法伪造,因为建立 TCP 连接需要三次握手,如果伪造了源 IP,无法建立 TCP 连接,更不会有后面的 HTTP 请求。不同语言获取 Remote Address 的方式不一样,例如 php 是 $_SERVER["REMOTE_ADDR"],Node.js 是 req.connection.remoteAddress,但原理都一样。

例题

1.打开环境,发现让使用WLLM浏览器,使用bp抓包,然后进行修改XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

修改User-Agent头如下XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

2.访问成功,在Location位置发现a.php,进行访问

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

3.发现只有本地地址才能访问,进行伪造

X-Forwarded-For: 127.0.0.1

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

4.在Location位置同样发现secretttt.php,继续访问

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http),http,网络协议,网络,web安全,网络安全,安全

得到答案!文章来源地址https://www.toymoban.com/news/detail-701987.html

到了这里,关于XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [SWPUCTF 2021 新生赛]babyrce(详解)

    提示:没有提示 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 最近遇到的事太霉了,又是做到一半,靶机拒绝连接我,搞得我做题都不自信了 回到正文 题目 如下(示例):  看了一下,就是cookie值admin等于1时,就能包含文件,行吧,那就等于吧

    2024年02月06日
    浏览(40)
  • WebLogic反序列化漏洞复现+利用工具(CVE-2021-2394)

    Oracle官方发布了2021年7月份安全更新通告,通告中披露了WebLogic组件存在高危漏洞,攻击者可以在未授权的情况下通过IIOP、T3协议对存在漏洞的WebLogic Server组件进行攻击。成功利用该漏洞的攻击者可以接管WebLogic Server。 这是一个二次反序列化漏洞,是CVE-2020-14756和CVE-2020-14825的

    2024年02月06日
    浏览(95)
  • [SWPUCTF 2021 新生赛]ez_unserialize

    题目在哪呢?查看源代码试试 User-agent: * Disallow: 什么东西呢 发现disallow Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可抓,哪些页面不能抓。 disallow就是爬虫不能搜索的所以

    2024年02月05日
    浏览(38)
  • [SWPUCTF 2021 新生赛]easy_md5

    由于php中存在==的弱类型比较,所以我们可以通过hash比较的缺陷去绕过 比如: 也就是只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会现转换字符串的类型,在进行比较,而在比较是因为两个数都是以0e开头会被认为是科学计数法,0e后面

    2024年02月05日
    浏览(38)
  • [SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ①

    NSSCTF平台:https://www.nssctf.cn/ 直接查看源代码 F12 搜 flag 即可。 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} NSSCTF{welcometo5space} 所以为满足 if 条件,输出flag,构造 Payload: NSSCTF{037de6d6-3b9e-4bb9-903f-4236c239b42a} 这里就是 md5 碰撞了 这里要求 a 和 b 输入值不相同, md5 加密后的值弱类型相等,

    2024年02月04日
    浏览(45)
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao

    包含了flag.php文件,设定了一个POST请求的id和GET请求的json 语句会对GET请求的数据进行json解码 如果id和json变量的值都等于设定字符串,打印flag get传参数 的时候,直接 ?参数名=参数值 。 post传参数 可以利用hackbar插件。

    2024年02月10日
    浏览(42)
  • 字符型注入([SWPUCTF 2021 新生赛]easy_sql)

    拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm=1,得到会显 继续输入参数/?wllm=1\\\',报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 2.查看回显 3.查询数据库名(test_db) 4.查看test_db库的表(users) 5.查询字段 6.出现flag字段,查看flag字段的内容

    2024年02月09日
    浏览(37)
  • 28、web攻防——通用漏洞&SQL注入&HTTP头XFF&COOKIE&POST请求

    $_GET :接收get请求,传输少量数据,URL是有长度限制的; $_POST :接收post请求; $_COOKIE :接收cookie,用于身份验证; $_REQUEST :收集通过 GET 、POST和COOKIE 方法发送的表单数据; $_SERVER :接收数据包中的一些内容,如浏览器信息、当前访问url地址等; 网站功能点: 后台要记录

    2024年01月19日
    浏览(54)
  • Which programming language do you choose

    NO.1:JavaScript JavaScript,简称JS语言,是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和

    2024年02月02日
    浏览(40)
  • python :Configuration is still incorrect. Do you want to edit it again?

    1、打开PyCharm,点击菜单栏的“ File”-“Settings”。 2、在弹出的“ Settings ”对话框中选择“Project:文件名”,其中“ 文件名 ”对应你打开的文件名称,在右侧选择“ Project Interpreter”。    3、在“Settings”对话框的右侧区域有一个“ Project Interpreter” 下拉框,选择 “Show

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包