接下來(lái),瀏覽器會(huì)用base64來(lái)對(duì)這個(gè)字符串進(jìn)行編碼。
“hackingarticles:ignite”在經(jīng)過(guò)base64編碼之后的值即為“aGFja2luZ2FydGljbGVzOmlnbml0ZQ==”。
最終的認(rèn)證值(Authorization Value)就是“字符串‘Basic’+空格+編碼后的值”,Burpsuite捕獲的請(qǐng)求如下圖所示:
在這個(gè)例子中的認(rèn)證值就是“Basica GFja2luZ2FydGljbGVzOmlnbml0ZQ==”,而這個(gè)值將會(huì)被發(fā)送至服務(wù)器端。最后,服務(wù)器會(huì)解密這個(gè)認(rèn)證值,然后返回用戶(hù)輸入的憑證。
基本認(rèn)證是非常不安全的,因?yàn)檫@里僅僅只使用了編碼技術(shù),而認(rèn)證值是可以被解碼的。為了增強(qiáng)認(rèn)證的安全性,我們接下來(lái)會(huì)討論其他一些安全系數(shù)更高的標(biāo)準(zhǔn)。
RFC 2069摘要訪問(wèn)認(rèn)證
摘要訪問(wèn)認(rèn)證使用了哈希算法來(lái)生成加密之后的結(jié)果。RFC2069現(xiàn)在已經(jīng)過(guò)時(shí)了,目前廣泛使用的是RFC 2617,它是RFC2069的增強(qiáng)版。為了讓大家更好地理解RFC 2069所使用的請(qǐng)求語(yǔ)句,我們?cè)谙旅娼o出了RFC2069的語(yǔ)句樣例:
Hash1=MD5(username