jsp a 请求后台_渗透或CTF中使用请求头绕过认证模式

本文介绍了在渗透测试或CTF比赛中如何利用请求头绕过认证机制。讨论了三种测试方式:指定不同角色访问资源、使用特殊请求头如"X-Original-URL"或"X-Rewrite-URL",以及尝试其他请求头如"X-Forwarded-For"来规避内网IP访问限制。这些技巧有助于发现和利用潜在的认证漏洞。
摘要由CSDN通过智能技术生成

92023083e6120f2545d14c3912694eae.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的选手查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值