文章轉自:http://drops.wooyun.org/tips/2423
安裝charles
下載路徑:http://www.charlesproxy.com/download/
如果是ubuntu版本:
sudo apt-get update sudo apt-get install charles-proxy
0x01 前言:
Charles是一款抓包修改工具,相比起burp,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!下面來詳細介紹下這款強大好用的抓包工具。
0x02 下載與安裝
首先是工具下載和安裝 首先需要下載java的運行環境支持(一般用burp的人肯定也都有裝java環境)。裝好java環境后,可以直接去百度搜索並下載charles的破解版,下載到破解版之后,里面一般會有注冊的jar文件,然后注冊后就可以永久使用了(ps:不注冊的話,每次使用30分鍾,工具就會自動關閉)。
0x03 PC端抓包
下面是pc端的抓包使用情況 Charles支持抓去http、https協議的請求,不支持socket。
然后charles會自動配置IE瀏覽器和工具的代理設置,所以說打開工具直接就已經是抓包狀態了。 這里打開百度抓包下,工具界面和相關基礎功能如下圖所示:
上圖中的7個位置是最常用的幾個功能。
1 那個垃圾桶圖標,功能是clear,清理掉所有請求顯示信息。
2 那個望遠鏡圖標,功能是搜索關鍵字,也可以使用ctrl+f實現,可以設置搜索的范圍。
3 圓圈中間紅點的圖標,功能是領抓去的數據顯示或者不顯示的設置。 這個本人認為是charles工具很方便的一個兩點,一般都使其為不顯示抓去狀態,只有當自己測試的時候的前后,在令其為抓取並顯示狀態。這樣可以快准狠的獲取到相關自己想要的信息,而不必在一堆數據請求中去尋找。
4 編輯修改功能,可以編輯修改任意請求信息,修改完畢后點擊Execute就可以發送一個修改后的請求數據包。
5 抓取的數據包的請求地址的url信息顯示。
6 抓取的數據包的請求內容的信息顯示。
post請求可以顯示form形式,直觀明了。
7 返回數據內容信息的顯示。
其中5、6、7中都有各種形式的數據顯示形式,其中raw是原始數據包的狀態。
0x04 顯示模式
charles抓包的顯示,支持兩種模式,Structure和Sequence,其優點分別如下。
Structure形式如下圖 優點:可以很清晰的看到請求的數據結構,而且是以域名划分請求信息的,可以很清晰的去分析和處理數據。
Sequence形式如下圖 優點:可以很清晰的看到全部請求,不用一層一層的去點開,這里是以數據請求的順序去執行的,也就是說那個請求快就在前面顯示。
具體要說兩種形式哪個更好,這個就是見仁見智了。本人比較喜歡第二種,粗礦豪放!
0x05 移動APP抓包
這里相比其他抓包軟件來說要簡單的多了,具體步驟如下:
1 使手機和電腦在一個局域網內,不一定非要是一個ip段,只要是同一個漏油器下就可以了,比如電腦連接的有線網ip為192.168.16.12,然后手機鏈接的wifi ip為192.168.1.103,但是這個有線網和無線網的最終都是來自於一個外部ip,這樣的話也是可以的。
2 下面說說具體配置,這里電腦端是不用做任何配置的,但是需要把防火牆關掉(這點很重要)!
然后charles設置需要設置下允許接收的ip地址的范圍。 設置首先要進入這個位置 Proxy - Access Control Settings 然后如果接收的ip范圍是192.168.1.xxx的話,那么就添加並設置成192.168.1.0/24 如果全部范圍都接收的話,那么就直接設置成0.0.0.0/0
然后如果勾選了Proxy - Windows Proxy 的話,那么就會將電腦上的抓包請求也抓取到,如果只抓手機的話,可以將這個設置為不勾選。
3 接下來下面是手機端的配置
首先利用cmd - ipconfig命令查看自己電腦的ip地址
然后在手機端的wifi代理設置那里去進行相關的配置設置。
這里的代理服務器地址填寫為電腦的ip地址,然后端口這里寫8888(這個是charles的默認設置),如果自己修改了就寫成自己所修改的端口就可以了。
4 好了,這樣就配置完成就大功告成了!下面打開UC瀏覽器或者其他東西,隨便訪問個網頁看有沒有抓取到數據就可以了(我這里是直接訪問的新浪新聞首頁)。
0x06 其他常用功能
相信上面介紹的那些你已經學會了吧,下面再說說charles的一些其他常用的功能
選擇請求后,右鍵可以看到一些常用的功能,這里說說Repeat 就是重復發包一次。 然后Advanced Repeat就是重復發包多次,這個功能用來測試短信轟炸漏洞很方便。
還有比如說修改referer測試CSRF漏洞,修改form內容測試XSS,修改關鍵的參數測試越權,修改url、form、cookie等信息測試注入等,都非常方便。
好了,這款工具的介紹就到這里了,相信這款方便好用的工具,以后肯定會被更多的人使用到的。
0x07 charles使用問題匯總
Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉這個工具的話,肯定會遇到各種感覺很莫名其妙的狀況,這里就來幫你一一解答。
1 為什么下載了不能用啊?打不開啊。
因為charles是需要java環境才能運行的,需要先安裝java環境才可以。
2 為什么我用着用着就自動關閉了?大概30分鍾就會關閉一次。
因為charles如果沒有注冊的話,每次打開后就只能喲個30分鍾,然后就會自動關閉,所以最好在使用前先按照說明去進行工具的注冊操作。
3 為什么我在操作的時候有時候就直接工具就界面卡住死了,關都關不掉,只能用任務管理器才可以關掉?
這個的確是charles這個工具的一個bug,開始用的時候,我也很惡心,而且經常悲劇,但是現在也有相應的解決辦法了,下面那樣操作就可以了。
首先隨便抓些包,要求有圖片的請求。
然后選中一個圖片的請求,然后分別點擊 Response - Raw 然后那里會加載其中的內容,然后加載完畢后,再去隨便操作就可以了,就不會在悲劇的直接工具卡死掉了。。。
4 為什么用了charles后,我就上不了網頁了,但是qq可以。
因為如果charles是非正常狀態下關閉的話,那么IE的代理就不會被自動取消,所以會導致這種情況。
解決辦法:
第一種:直接打開charles,然后再正常關閉即可。 第二種:去將IE瀏覽器代理位置的勾選去掉。
5 為什么我用charles不能抓到socket和https的數據呢?
首先,charles是不支持抓去socket數據的。 然后,如果抓不到https的數據的話,請查看你是不是沒有勾選ssl功能。 Proxy - Proxy Settings - SSL 設置
6 為什么我用charles抓取手機APP,什么都是配置正確的,但是卻抓不到數據。
首先,請確保電腦的防火牆是關閉狀態,這個很重要。
如果,防火牆關了還是不行,那么請把手機wifi斷掉后重新連接,這樣一般就可以解決問題了。 如果以上方法還是不行的話,那么請將手機wifi位置的ip地址設置成靜態ip,然后重啟charles工具。
7 抓包后發現form中有些數據顯示是亂碼怎么辦?
請在Raw模式下查看,Raw模式顯示的是原始數據包,一般不會因為編碼問題導致顯示為亂碼。
8 我用charles抓手機app的數據,但是同時也會抓去到電腦端的數據,可以設置嗎?
可以,設置位置在Proxy - Windows Proxy ,勾選表示接收電腦的數據抓包,如果只想抓去APP的數據請求,可以不勾選此功能。
9 為什么我用IE可以抓到數據,但是用360或者谷歌瀏覽器就不行?
請確保360或者谷歌的代碼設置中是不是勾選設置的是 使用IE代理。
10 想要復制粘貼某些數據的話,怎么辦,右鍵沒有相應功能啊?
請直接使用Ctrl +C 和 Ctrl+V 即可。
以上就是charles在使用過程中常見的10中問題和相應的解決情況,有了這個文章,大家就不用在遇到問題的時候懊惱了,嘿嘿。