iT邦幫忙

2021 iThome 鐵人賽

DAY 15
2
Security

Kali Linux 工具筆記系列 第 15

Day 15 網頁分析 - Web Application Analysis (網頁快照截圖 - cutycapt )

  • 分享至 

  • xImage
  •  

前言

今天要介紹的工具cutycapt感覺不太算是網頁分析,但它位於Kali的Web Application Analysis分類之下的Web Crawlers & Directory Bruteforce,算是一種爬蟲工具,可以對網頁進行快照截圖,通常是用在需要觀測長期之下某頁面的變化,像是天氣圖、google地圖、新聞每日首頁等等。

工具介紹

使用方式很簡單,指定頁面以及輸出的檔名就可以了。

cutycapt --url=http://example.com --out=example.png

所以進階用法就是透過排程定期去頁面抓圖,假設想根據時間來當檔名,可以先寫一個腳本,假設放在/home/kali/script.sh,腳本內容如下

timestamp=$(date +%s)
cutycapt --url=http://example.com --out="/tmp/$timestamp.png"

這樣直接執行腳本sh /home/kali/script.sh就可以產出一個帶有時間戳記為檔名的檔案了。

而排程可以用crontab來設定,首先執行指令crontab -e,會詢問要用什麼編輯器來設定排程,這邊我選擇2。

no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny

Choose 1-3 [1]: 

接著就會進到編輯器畫面,在這邊我們可以設定何時觸發排程來執行我們要的指令。

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command

# 加入下列這行,意思是每分鐘執行後面指令
* * * * * sh /home/kali/script.sh

可以看到我們的排程觸發時機是* * * * *,意思是每分鐘都執行後面的指令,接著輸入:wq離開vim編輯頁面,排程器就會開始每分鐘執行一次這個腳本。除此之外我們還必須修改剛剛寫的腳本,因為cutycapt需要在視窗環境下才能正常運作,所以透過排程器使用cutycapt是會無法正常截圖的,因此根據官方建議,使用xvfv-run來避免這個問題,所以我們修改一下腳本如下,這樣就能正常運作了。

timestamp=$(date +%s)
xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt --url=http://example.com --out="/tmp/$timestamp.png"

其他工具

快照截圖是個滿有趣的功能,但有時候我們會想要打包網頁上的文字建檔,之後也方便搜尋,這時候就沒辦法用cutycapt了,可以利用wget來達成下載整個網頁的需求。

wget一般常用來下載檔案,就像前幾篇需要下載網路上檔案的時候,我們是這樣用的

wget --no-check-certificate https://wordpress.org/wordpress-4.7-RC1.tar.gz

不只下載檔案,wget也能用來下載網頁,通常是靜態網頁效果較好,這邊使用到-c來續傳、-r遞迴下載

wget -c -r http://example.com

有時候要下載的內容很大的時候,怕影響整體網路狀況,wget也能透過參數來限制下載速度,有興趣的朋友可以透過wget -h來看一下詳細的介紹。


上一篇
Day 14 網頁分析 - Web Application Analysis (wpscan - WordPress vulnerability scanner)
下一篇
Day 16 網頁分析 - Web Application Analysis (網頁內容掃描器 - DIRB )
系列文
Kali Linux 工具筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言