CNSS [Easy] ezhttp题解
CNSS [Easy] ezhttp
1.查看题目描述:
这题考查的使http的请求,猜测可能是要对http的请求头的各个字段进行修改,则使用BP查看该网站的请求头
2.BP抓包该网站:
查看响应的内容中,有提示:只接受CNSS请求,游览器一般的请求方式为GET和POST,这里只接受CNSS请求,说明要将GET改成CNSS:
发现得到不同的响应结果:
1 |
|
User-Agent:User-Agent - HTTP | MDN (mozilla.org)
语法:
1 |
|
浏览器通常使用的格式为:
1 |
|
指令:
1 |
|
以火狐的UA为例:
示例:
1 |
|
所以UA是用于表示该网页内容通过什么浏览器和设备进行访问的
由题目提示得:只能在安卓微信内置浏览器中请求.
所以我们得构造一个UA让其变为安卓微信内置浏览器中请求:
payload(通用):
1 |
|
得到响应结果:
得到提示:
1 |
|
Referer:Referer - HTTP | MDN (mozilla.org)
所以该headers字段表示的是当前页面的是通过哪个源页面中的链接进行访问的,提示得只接受来自cnss.io的请求
说明需要设置该页面的源页面为cnss.io:
payload:
1 |
|
由于当前页面的headers中没有Referer字段所以需要手动添加该字段:
得到提示:
1 |
|
X-Forwarded-For:X-Forwarded-For - HTTP | MDN (mozilla.org)
实例:
1 |
|
由提示得只接受来自本机的请求,所以表示该页面的客户端IP地址需要是本机的IP地址即:127.0.0.1
所以可以伪造X-Forwarded-For的内容为本机地址:
payload:
1 |
|
响应结果:
得到提示:
1 |
|
Content-Type:
所以由提示得浏览器的发送内容的类型为:application/json
payload:
1 |
|
响应结果:
得到提示:
1 |
|
json数据:JSON数据格式详解 - 知乎 (zhihu.com):
基本形式:
1 |
|
根据提示需要传送一个json数据,由于该游览器的请求为CNSS所以我们不知道该在哪里传输json数据,猜测该请求的传送数据格式和POST类似:
构造payload:
1 |
|
响应结果:
得到提示:
1 |
|
由于headers中不存在name字段,所以该字段需要我们通过json进行传输:
payload:
1 |
|
响应结果:
得到提示:
1 |
|
说明还需要传输一个password字段的值:
payload:
1 |
|
响应结果:
根据提示我们需要在Cookie中写上name字段的值,保险起见与json中的内容一致:
Cookie:Cookie - HTTP | MDN (mozilla.org)
语法:
1 |
|
payload:
1 |
|
响应结果:
根据提示需要在Cookie中添加password字段:
payload:
1 |
|
BasicAuth认证秒懂HTTP基本认证(Basic Authentication) - 知乎 (zhihu.com):
根据提示得我们需要进行BasicAuth认证,即认证我们输入的用户名和密码,需要添加Authorization字段:
admin:123456的base64格式为YWRtaW46MTIzNDU2
payload:
1 |
|
响应结果:
flag = cnss{y0u_kn0w_h77p_r3qu3st_h4h4!}