官术网_书友最值得收藏!

2.3 Shopify登錄的開放式重定向漏洞

難度:

URL:http://mystore.myshopify.com/account/login/

報告位置:https://www.hackerone.com/reports/103772/

報告日期:2015年12月6日

支付獎金:500美元

開放式重定向漏洞的第二個例子與第一個Shopify的例子類似。所不同的是,在本例中Shopify的參數不是將用戶重定向到URL參數指定的域,而是通過在Shopify子域的末尾加上參數值的方式實現開放式重定向。通常情況下,該功能用于將用戶重定向到一個指定商店的特定網頁。然而,攻擊者仍然可以通過增加字符以改變URL的含義來操縱這些URL,從而將瀏覽器從Shopify的子域重定向到攻擊者的網站。

在存在這種漏洞的情況下,當用戶登錄到Shopify后,Shopify使用checkout_url參數重定向用戶。例如,假定用戶訪問以下URL:

他們將會被重定向到URL http://mystore.myshopify.com.<attacker>.com/,而這顯然不是一個Shopify域。

由于URL以.<attacker>.com結尾,并且DNS按照域名標記右側優先的原則進行查詢,重定向將會定向到域<attacker>.com。因此,當http://mystore.myshopify.com.<attacker>.com/被提交到DNS進行查詢時,將會匹配上<attacker>.com域,這并不是Shopify所擁有的域,也不是Shopify所期望的myshopify.com域。盡管攻擊者不能隨意地將目標對象重定向到他們指定的地方,但是能夠通過增加一些特殊字符,例如句點(.),到他們能夠操作的URL字符串上,來實現將目標對象重定向到另外的域上。

要點

如果你只能夠控制網站使用的URL的一部分,那么通過增加特殊的URL字符的方式可以改變URL的整體含義,從而可以實現將用戶重定向到另外的域。假如你只能控制參數checkout_url的值,并且你也注意到了該參數是在原網站URL(如http://mystore.myshopify.com/)的后面增加一個URL硬編碼組成的,可以試著增加特殊的URL字符,例如句點(.)或者符號@來測試你是否可以控制重定向的位置。

主站蜘蛛池模板: 翼城县| 三都| 南宁市| 个旧市| 保康县| 轮台县| 万安县| 陕西省| 元江| 太白县| 疏勒县| 民丰县| 班玛县| 余姚市| 津市市| 南靖县| 西青区| 阳泉市| 太康县| 通道| 琼海市| 溆浦县| 古丈县| 满洲里市| 漳州市| 贵阳市| 南和县| 乌鲁木齐县| 西宁市| 勃利县| 呼图壁县| 兴山县| 奎屯市| 社旗县| 油尖旺区| 沅江市| 余干县| 突泉县| 剑川县| 平远县| 鹤庆县|