F5做負載均衡時,如何通過修改cookie查找敏感信息


2018-03-24 17:20

F5LTM做負載均衡時,有多種機制實現會話保持,其中常用的是通過修改cookie來實現。具體說來,F5在獲取到客戶端第一次請求時,會使用set cookie頭給客戶端埋入一個特定的cookie。

這些cookie在響應中帶來了編碼值,並且在這方面有官方文檔:https://support.f5.com/csp/article/K6917?sr = 19342610。

clipboard.png

比如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000。后續再接到客戶端請求時,F5會查看cookie里面的字段,判斷應該交給后續哪台服務器。

演示請求:

GET / app HTTP / 1.1

主持人:f4c3300k.com

clipboard.png

回應:

clipboard2.png

獲取真實ip

看到上面的圖,你應該就能明白負載均衡的流程。既然做負載均衡,肯定是要交給后端的服務器,交給的信息顧名思義就是IP address,所以Set-Cookie中存在IP address,但真實IP address並不是以明文的形式存在cookie中,而是做了兩次編碼,然后再插入cookie。

只要解開487098378.24095.0000的內容,就拿到了server的真實IP address。

解碼思路:首先,把第一小節的十進制數取出來,也就是487098378;第二,將其轉為十六進制數1d08880a;第三,從后至前,以此取四位數出來,也就是0a;88;08;1d;第四,依次把他們轉為十進制數:10;136;8;29;最后,得到真實內網IP:10.136.8.29。

影響列表

· maileast.thefacebook.com
· autodiscover.instagram.com
· mail-ext.thefacebook.com
· mail.hack.tfbnw.net
· mail.thefacebook.com
· autodiscover.thefacebook.com
· autodiscover.fb.com
· autodiscover.internet.org
· autodiscover.oculus.com
· autodiscover.whatsapp.com
· esbmbltest.thefacebook.com

[1521799491536232.png]

[1521799491604666.png]

請求

clipboard.png

響應1

clipboard2.png

響應2

clipboard3.png

響應3

clipboard4.png

自動化

usr@pwn:〜$ git clone https://github.com/ezelf/f5_cookieLeaks.git
usr@pwn:~/$ python quickCook_v0.2.py --help
usage: quickCook.py [-h] [-v] --host HOST [--ssl] --cookie-name COOK
                   [--port PORT] [--req REQ] [--uri URI]
[ F5 BIG-IP ] PERSISTENCE COOKIE INFORMATION LEAKAGE
optional arguments:
 -h, --help          show this help message and exit
 -v, --version       show program's version number and exit
 --host HOST         Host
 --ssl               use ssl
 --cookie-name COOK  Cookie Name
 --port PORT         Port
 --req REQ           Total Request
 --uri URI           URI path
[+] Demo: quickCook.py --host 192.168.1.1 --cookie-name "BIGipServerPool_X" --req 50


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM