XCITC
在HTTP中,Basic
Authorization基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码。例如,提供的用户名是Aladdin、口令是open
sesame,则拼接后的结果就是Aladdin:open
sesame,然后再将其用Base64编码,得到QWxhZGRpbjpvcGVuIHNlc2FtZQ==。最终将Base64编码的字符串发送出去,由接收者解码得到一个由冒号分隔的用户名和口令的字符串。虽然对用户名和口令的Base64算法编码结果很难用肉眼识别解码,但它仍可以极为轻松地被计算机所解码,就像其容易编码一样。编码这一步骤的目的并不是安全与隐私,而是为将用户名和口令中的不兼容的字符转换为均与HTTP协议兼容的字符集。
------维基百科
一个典型的HTTP客户端和HTTP服务器的对话,服务器安装在同一台计算机上(localhost),包含以下步骤:
- 客户端请求一个需要身份认证的页面,但是没有提供用户名和口令。这通常是用户在地址栏输入一个URL,或是打开了一个指向该页面的链接。
- 服务端响应一个401应答码,并提供一个认证域
- 接到应答后,客户端显示该认证域(通常是所访问的计算机或系统的描述)给用户并提示输入用户名和口令。此时用户可以选择确定或取消。
- 用户输入了用户名和口令后,客户端软件会在原先的请求上增加认证消息头(值是base64encode(username+":"+password)),然后重新发送再次尝试。
题目地址:http://39.105.140.214:20026/
一个包含基本认证的HTTP请求:
GET / HTTP/1.1
Host: 39.105.140.214:20026
Authorization: Basic YWRtaW46MQ==
我输入了用户名:admin,密码:1,YWRtaW46MQ==用base64解密就是admin:1 response头部中 flag: Wm14aFozdG9kSFJ3WDJobFlXUmxjbDlvYUdoOQ,用base64解密两次即可(直觉让我觉得flag要用base64解密,但是两次纯属碰对了)
参考:.html
更多推荐
XCITC
发布评论