如何使用F12信息收集

信息收集(information gathering),是指通過各種方式以及借助相關工具來盡可能多地獲取目標站點的信息,是測試過程中所需完成的第一步,也是非常重要的一步。在web測試中,信息收集是必不可少的一個環節,信息收集的質量的好壞在很大程度了決定了后期測試的效果,充分的信息收集往往能起到事半功倍的作用,也可能是后期***中起關鍵作用的一個入口,本篇文章主要是根據實戰來介紹f12信息收集以及相關技巧!

F12 開發者工具是可幫助開發人員生成和調試網頁的一套工具,主要包含elements、network、sources、timeliness、Profiles、Resources、audits、console模塊,如圖1-1所示:

如何使用F12信息收集

圖1-1? ? ? ? 圖1-1 ? ?F12開發者工具頁面

F12開發者是我認為最基礎的信息收集,也是最簡單、最快捷的信息收集,通過F12我們可以收集到很多不在明面上面的信息,主要包括注釋信息收集、hidden信息收集、相對路徑信息收集、webserver信息收集以及JavaScript功能信息收集等。

1.1.1??? 注釋信息收集

我們在前端訪問的頁面,在其頁面源代碼中往往會存在有注釋信息,這些注釋信息中往往會包含有很多敏感信息,可能是某個文件的下載鏈接,也可能是一些隱藏的功能模塊,甚至更有可能是一些你意想不到的敏感信息。在F12的elements模塊中我們可以逐級展開個節點來查看注釋信息,但是這樣效率實在是太低了,因為在這個模塊我們是不能使用【Ctrl+F】搜索注釋信息的,另外可以通過查看頁面源代碼來搜索注釋信息,但是搜索出來的不是連續的,這樣也不是很方便我們查看。

在F12中,我們可以點擊右上角的show drawer標志(如何使用F12信息收集)進行所有字符的搜索,有些管理管理員可能在部署網站的時候忘記關閉目錄瀏覽功能,我們就可以通過訪問p_w_picpaths來看看是否開啟了目錄瀏覽,如果開啟了目錄瀏覽我們可以慢慢通過目錄瀏覽來訪問其他的很多敏感文件!如數據庫文件、后臺某些未授權頁面已經某些備份文件等。

如何使用F12信息收集

圖1-2? ? ? ? 圖1-2 ? ?提取注釋信息

玩過ctf的朋友都知道,在web項中剛開始學習的時候,第一題的flag多數都在頁面源代碼中的注釋信息中,如圖1-3,圖1-4所示。

如何使用F12信息收集

圖1-3? ? ?圖1-3 ? ??獲取flag

如何使用F12信息收集

圖1-4? ? ? ? 圖1-4 ? ?獲取flag

在實戰中,我曾在注釋信息中獲取到文件下載的地址,進而獲取了很多敏感信息,如姓名、×××、電話、郵箱等我們通過這個這些信息可以制作具有針對性的字典,從而對后臺管理進行暴力破解;也曾在注釋信息中獲取到一個忘記密碼功能的連接,剛好這個忘記密碼這個地方存在sql注入,通過注入將發送的驗證碼發到本人的手機號上面,然后對root賬號進行重置,通過登錄后在文件上傳的地方可上傳webshell,前端校驗,因此很容易繞過!

對于注釋信息類的信息泄露,一是盡量刪除前端顯示的注釋信息,二是不用的功能模塊直接刪除,不可通過注釋的手段來進行隱藏!

1.1.2??? hidden信息收集

在查看源代碼時,我們會發現有些控件的type的值是hidden,代表該控件在頁面中是隱藏的,不顯示的,有些參數雖然是hidden的,但是依舊會提交到服務器,這也給了我們利用的機會,我們使用上面的搜索方法搜索hidden,如圖1-5所示,即可查看所有type值為hidden的控件。

如何使用F12信息收集

圖1-5? ? ? ?圖1-5 ? ??搜索hidden相關內容

通過刪除“hidden”屬性,即可使該控件在頁面中顯示,如圖1-6所示,并且可以修改其對應的value值。

如何使用F12信息收集

圖1-6? ? ? ? ?圖1-6 ??刪除hidden

在實戰中,我曾通過搜索hidden獲取到重置別人的賬號所發送的短信驗證碼,成功重置了該用戶的密碼,進而獲取到該站點的登錄訪問權限,另外有一次由于hidden的這個參數依舊是提交到服務器的,而剛好這個參數是存在xss漏洞,其余提交的顯性參數是有了一定過濾的。

因此盡量不要使用hidden屬性來隱藏敏感數據,如隱藏登錄賬戶;發送的短信驗證碼禁止顯示在頁面源代碼中。無論采用何種方式,都需對提交到服務器的參數進行校驗和過濾

1.1.3??? 相對路徑信息收集

相對路徑信息收集,我主要是收集圖片所在的相對路徑,如圖1-7所示,然后通過查找(locate或者find)對應圖片的位置,結合收集的相對路徑來進行獲取我們想要的絕對路徑,從而進行webshell的上傳!

如何使用F12信息收集

圖1-7? ? ? ? ?圖1-7 ??查看圖片屬性

另外我們還可以在Resource下的script中查看相關的JS文件(如conf.js)來獲取相對路徑信息,可能某些鏈接就可以未授權訪問,從而我們可進行進一步的利用,如圖1-8所示!

如何使用F12信息收集

圖1-8? ? ? ? 圖1-8 ? ?查找其他頁面

在實戰中,我經常使用這種方法進行查找物理路徑來進行上傳webshell,尤其是結合一些命令執行工具來進行使用,可能你會問,都有命令執行了,干嘛還去上傳webshell,其實這也是由于每個工具總會有一定的缺陷,導致不是所有命令都能執行,即使你是root權限,這時就需要上傳一個功能強大的webshell進行利用,下載文件等!另外我曾遇到過,就是圖片的這個路徑逐級刪除,就會直接獲取到后臺地址!

1.1.4??? webserver信息收集

webserver信息收集主要是收集web服務器的一個部署情況,是使用什么框架搭建的,是apache,還是nginx,或是其他的,網站是什么腳本語言開發的,是asp,還是php等信息,這些信息我們可以使用F12進行簡單的查看。

首先我們定位到F12的network模塊,選擇doc(文檔,document)進行篩選,然后使用F5進行刷新獲取數據,如圖1-9所示:

如何使用F12信息收集

圖1-9? ? ? ?圖1-9 ? ??選擇network模塊進行篩選

此時我們點擊下面文檔進行查看詳細信息,可以查看到該網站是使用Apache搭建的,并且版本是2.4.23,使用的是windows系統,開放腳本是PHP,版本是5.4.45等信息,如圖1-10所示,另外在這里也可以看到網站的Cookie,如果在這里你發現cookie中含有admin=0,或者flag=0的這類標志,你就可以使用burpsuit進行抓包進行截斷改包,將0改為1可能就可以直接進入到系統中了!

如何使用F12信息收集

圖1-10? ? ? ?圖1-10 ? ?查看webserver信息

webserver信息對于***來說是很重要的,通過獲取的版本即可查找對應的漏洞進行利用,從而提高***的效率!因此網站管理員在部署網站的時候,切記進行安全配置,隱藏此類信息,或者修改此類信息進行干擾***者!如在php.ini中設置expose_php = Off來隱藏PHP版本信息,將下面兩行添加到Apache配置文件(vi /etc/apache2/apache2.conf)底部,最后一行,即可隱藏Apache banner信息!

ServerSignatureOff ServerTokensProd

1.1.5??? JavaScript功能信息收集

JavaScript信息收集主要是看看某些功能是不是前端js校驗,如圖1-11所示,如果是前端校驗的我們可以通過禁用js或者直接使用burpsuit進行更改數據包進行相關繞過。另外還可以去資源模塊(Resource)看看有沒有可利用的js文件,比如conf.js,里面可能會涉及到一些暗藏的鏈接等敏感信息。

如何使用F12信息收集

圖1-11? ? ? 圖1-11 ? ??JavaScript信息查看

在實戰中,如果上傳點是前端校驗的,那么我們可以禁用js來進行webshell的上傳,另外有時在登錄頁面你可以禁用js之后,然后使用任意賬戶密碼登錄即可成功進入到系統中,這個我也只遇到過一次!所以開發者做相關校驗的時候,切記在前端的一切校驗都是不安全的,盡量前端(客戶端)和后端(服務器端)一起校驗和過濾!

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享