我是否必须将用户名和密码编码到base64中以便Web服务器理解或以纯文本形式发送?

时间:2015-11-15 04:16:49

标签: c++ http authentication

我一直在做一个粗暴的forcer,为了练习而且我差不多完成它只是我需要澄清是否,我必须以纯文本发送用户名和密码或者我只是使用base64编码它,在我将它发送到Web服务器之前。

以下是我现在发送给Web服务器的消息。

string m;
m = "POST " + URI + " " + "HTTP/1.1" + \n" +
"Authorization: " + "Basic " + user + ":" + pass;

1 个答案:

答案 0 :(得分:0)

是的,你必须对其进行编码。

来自Wiki:https://en.wikipedia.org/wiki/Basic_access_authentication

  

授权字段构造如下:

     

用户名和密码组合成一个字符串"用户名:密码"。

     

然后使用RFC2045-MIME变体对结果字符串进行编码   Base64,但不限于76 char / line。

     

授权方法和空格,即" Basic"然后放在编码的字符串之前。

     

有关   例如,如果用户代理使用' Aladdin'作为用户名和'打开   芝麻'作为密码,该字段形成如下:

     

授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

有关RFC2045的更多信息:https://en.wikipedia.org/wiki/Base64