基础知识:
base64: 是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一类基于64个可打印字符来表示二进制数据的方法。
XFF伪造请求头: X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原本的IP地址的HTTP请求头字段。
简单来说,XXF是告诉服务器当前请求者的最后ip的http请求头字段,通常可以直接通过修改http头里的X-Forwarded-For字段来仿造请求的最后ip。
打开场景:
为一个登录界面
尝试输入几个值,下方有IP禁止访问,请联系本地管理员登录
提示IP地址禁止访问,这道题这似曾相识的感觉,让我想到了一个html的请求头的参数:
X-Forwarded-For,它是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准里。
所以,该参数也可以用来IP伪造
那么我们构造请求头
此处伪造XFF头
查看源码
发现base64编码,解码为test123
Test123为已知的,那么要么用户名是它,要么密码是它,你可以分开爆破,最后发现用户名为admin
一般情况管理员账户默认为admin,不管监控还是网站,只要不改,账户一般都为admin,密码为123456
在发送包里添加
X-Forwarded-For:127.0.0.1
在响应包里得到flag