当前位置: 首页 > news >正文

easyui datagrid url不请求请求_渗透或CTF中使用请求头绕过认证模式

d5fd970a35a01ec1ff8982a6f474d0ff.png

前言

为了提升下英语水平,尝试翻译篇比较简单的文章,还望各位大佬轻喷。

在渗透过程中,如果想要找到绕过认证机制的漏洞问题,我们需要对登录后也就是认证后的每一个功能和请求进行如下验证:

  • 是否可以未授权访问登录后的路径从而获取一些敏感数据;
  • 是否退出登录后,cookie仍然有效,从而获取敏感数据;
  • 是否存在水平与垂直越权问题;

如何进行测试

例如,AddUser.jsp是一个管理页面,需要管理员登录后,通过如下链接“https://www.example.com/admin/addUser.jsp” 访问。

抓取访问该页面的请求包,如下:

POST /admin/addUser.jsp HTTP/1.1
Host: www.example.com
[...]

userID=fakeuser&role=3&group=grp001

如果一个普通用户执行上述请求会发生什么?会不会也创建一个用户呢?如果能创建,新用户能使用管理员的权限吗?

测试方式一:指定不同角色获取同一个资源

举个例子,分析一个使用共享目录分享存储的临时文件给不同的用户的应用。比如说现在有个ABC.pdf文件,该文件只能由”角色A“用户获取到,验证”角色B“是否能获取到该文件。

测试方式二:使用特殊的请求头

有些应用会支持非标准的请求头,比如:允许”X-Original-URLorX-Rewrite-URL“覆盖目标url值。这种方式适合于权限控制是基于请求链接限制的情况,比如:应用程序的后台地址”/console“或者"/admin"禁止通过互联网访问。但是探测到请求头支持”X-Original-URLorX-Rewrite-URL“,可以使用以下方式绕过该限制:

  • 发送正常请求,如下:
GET / HTTP/1.1
Host: www.example.com
[...]
  • 发送一个不存在的路径且带有”X-Original-URL“请求,如下:
GET / HTTP/1.1
Host: www.example.com
X-Original-URL: /donotexist1
[...]
  • 发送一个不存在的路径且带有”X-Rewrite-URL“的请求,如下:
GET / HTTP/1.1
Host: www.example.com
X-Rewrite-URL: /donotexist2
[...]

如果使用了”X-Original-URL”或者“X-Rewrite-URL“请求的响应包中提示”不存在的路径信息“或者是404状态,或者是”资源未发现“等相关内容,表明应用程序支持这两种特殊的请求头。此时我们可以指定”X-Original-URL”或者“X-Rewrite-URL“为”/console“或者”/admin“,尝试绕过禁止互联网访问的限制。

测试方式三:其他请求头

通常网站的后台管理都是对内网ip开放的,此时可以使用各种各样代理转发相关的http请求头来绕过内网ip访问限制。可以用如下请求头做尝试:

  • X-Forwarded-For
  • X-Forward-For
  • X-Remote-IP
  • X-Originating-IP
  • X-Remote-Addr
  • X-Client-IP

对应的参数值可以是如下形式:

  • 127.0.0.1
  • 127.0.0.0/8
  • ::1/128
  • localhost
  • 与渗透目标相关的私有网络地址:10.0.0.0/8;172.16.0.0/12;192.168.0.0/16
  • 链路本地地址:169.254.0.0/16

另:在地址或者主机名中加上端口信息,有时候也可以绕过防火墙,比如:127.0.0.4:80,127.0.0.4:443,127.0.0.4:43982等形式。

感觉这篇文章翻译完,好像更适用于打CTF的选手查看。

相关文章:

  • 子程序调用与宏定义的异同_新代系统:宏编程的基本概念和基本书写格式
  • python小结和体会_Python学习心得总结
  • jar包对比工具_如何下载Commons下的IO组件以及工具类的使用
  • recyclerview放不同的布局_一页PPT,7种不同的修改方法!非常好用!
  • python二维数组变成三维数组_Python reshape的用法及多个二维数组合并为三维数组的实例...
  • dockerhub删除镜像_Docker镜像获取(gcr.io等)
  • excel量化交易模板_使用EXCEL计算并绘制ATR指标
  • js json转string_我从Vue源码中学到的一些JS编程技巧
  • 应用程序拒绝访问_照片视频不要乱拍,超过1000个APP,拒绝权限后也能收集数据...
  • 为什么启动不起来文件和打印机共享(回显请求-icmpv4)_看了不后悔,不看悔一生的“进大厂强推的Java面试知识点”,你一定错过了...
  • python小工具脚本_python小工具
  • jieba分词_北大pkuseg分词 和 jieba 分词对比测试,结果出乎意料...
  • python开发的k线系统_【开源一个用于回测的Python交互K线工具】之【一】K线核心功能...
  • json文件格式_大数据文件格式
  • jsp用户登录验证_微信小程序-打开第三方网页实现统一身份认证登录
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Android 架构优化~MVP 架构改造
  • bootstrap创建登录注册页面
  • ES6--对象的扩展
  • fetch 从初识到应用
  • JavaScript HTML DOM
  • JavaScript的使用你知道几种?(上)
  • node.js
  • Python socket服务器端、客户端传送信息
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • Xmanager 远程桌面 CentOS 7
  • 分布式任务队列Celery
  • 后端_ThinkPHP5
  • 排序算法之--选择排序
  • 事件委托的小应用
  • 手写一个CommonJS打包工具(一)
  • 思考 CSS 架构
  • 小而合理的前端理论:rscss和rsjs
  • 智能合约开发环境搭建及Hello World合约
  • C# - 为值类型重定义相等性
  • 阿里云ACE认证学习知识点梳理
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #stm32整理(一)flash读写
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (SpringBoot)第二章:Spring创建和使用
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)为C# Windows服务添加安装程序
  • .FileZilla的使用和主动模式被动模式介绍
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • @Resource和@Autowired的区别
  • @SpringBootApplication 包含的三个注解及其含义
  • [<MySQL优化总结>]