各位小白帽们好
又到了新一期的知识点咯
在正片开始之前再次提醒一下各位
因为联盟管理的需要
本周五(12月4日)5点半将会对各位在平台的答题分数进行统计
筛选部分排名靠前的童鞋作为核心的正式会员
考核压力来了大家是不是有点紧张呢
只要积极学习知识
积极参与答题
向本AI卖萌要flag
相信大家肯定没有问题的啦
PS.今天我们又上新了几题杂项题,欢迎挑战
HTTP的哲学三问——HTTP请求头
在先前的知识点中
我们都关注了HTTP请求的实际内容
即HTTP请求体的内容
今天我们抛开请求的内容
去更加关注于服务器到底如何去识别
请求者的“身份”信息
而包含这些信息的部分
即是我们的HTTP请求头了
我们可以通过Burp随便抓一个包进行研究
这是一个百度搜索的请求
因为使用GET请求
所以请求体几乎是空的
但是可以看到请求头的内容还是很丰满的
下面让我康康让我们研究一下常见的HTTP请求头的内容
是什么?
GET/POST:写在请求最前面的内容,指出是什么类型的请求,会影响后续请求的读取
Content-type:表示请求体的内容格式,通常POST请求中包含
Content-Length:表示整个请求的长度,POST请求中包含
到哪去?
资源相对地址:表示要请求资源的相对于WEB根目录的地址
Host:主机的域名/IP地址和端口号,与资源的相对地址组成URL
我是谁?
User-agent:表示客户端的种类,常见的有Chrome、Firefox、Safari等,同时还显示了客户端的系统信息(加起来一大串的根本背不了,每次要用就抄吧)
Cookies:客户端存储的“身份”信息,包括平常的用户登录凭证、部分浏览记录信息等可能会存在这里(很多情况下都是加密的),以 键=值; 的方式发送
我从哪里来?
Referer:发起请求时所在的URL
X-Forwarded-For、X-Real-IP:表示请求客户端的IP地址,常用于反向代理等场景
Accept-Language:表示客户端接收的语言,多语言网站会根据这个调整转跳的位置,一定意义上反映了自己的国籍等信息
以上为常见的一些HTTP请求头字段
实际上HTTP协议还定义了更多的字段
详细可以百度一下你就知道搜索一下相关的材料
或者翻阅HTTP的规范文档即可
因为这些字段都是明文打印在请求中的
随时可以通过抓包修改等方式
修改其中的一些字段
而达到想要的目的
譬如想要测试微信公众号的部分功能时
部分服务器可能限制的微信内置浏览器访问
通过修改User-agent即可进行绕过
又比如修改客户端IP地址、Accept-Language等字段
可以方便浏览到同个网站其他国家/语言的页面
建立文化自信
当然如果清楚Cookies的内容含义和加密方式(有些网站根本不加密)的话
甚至可以修改Cookies的内容
达到越权访问,甚至直接访问后台
这个就有待各位积极研究和发现了
那么在讲完今天的知识点后
我们来讲讲我们的练习题
WEB题土著管理员
首先审题
看着就很有让人渗透进去的欲望呢(并不)
但是页面除了这点内容之外
其他什么都没有了
没!关!系!
我们还能查看源代码
一段明显的注释提示
两个=号暗示了它base系列加密(通常是base64)的身份
解密可知管理员密码(就不告诉你自己去解!)
这么简单粗暴的提示
请给我来一打
得知密码后我们尝试以admin为用户名进行登录
然后发现
不,警察叔叔听我说
不是这样的
Anyway,这也是一个提示,“本地管理员”登录
我只要假装我是一个本地人
那不就是可以作为本地管理员登录了?
于通过burp抓包
加入X-Forwarded-For字段
值为本地环回地址127.0.0.1
发送请求即可获得flag
小手一抖分数到手
大家如果还没有做出的话
记得一定要尝试一下这题哦
那么我们下期再见