當前位置:首頁 » 網頁前端 » web日誌分析系統
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web日誌分析系統

發布時間: 2023-06-01 02:34:35

① 如何進行網站日誌分析

1、下載網站日誌:

流程如下:主機獨立控制面板——網站情報系統分析——網站日誌——下載WebLog日誌——右鍵點擊查看,鏈接另存為

在主機獨立控制面板中,找到網站情報系統分析板塊,裡面就能看到網站日誌了,點擊下載WebLog日誌,能看到最近幾天的網站日誌,但是點擊查看進去,會發現是一堆看不懂的代碼,沒有關系,我們先不要進去查看,而是右鍵點擊查看,鏈接另存為,下載網站日誌。
——————
2、代碼看不懂的話,可以使用光年日誌分析軟體GnAnalyzer,這是一個可以幫助我們進行網站日誌分析的軟體。比如蜘蛛抓取的情況,日誌裡面都有顯示。
——————
3、光年日誌分析軟體的使用:

下載好網站日誌後,就可以使用光年日誌分析軟體進行網站日誌的分析了。

流程如下:光年日誌分析軟體文件夾中的GnAnalyzer.exe——文件菜單,新建任務——添加(類型選擇所有文件)——下一步,保存——馬上分析
——————
4、網站日誌分析:

馬上分析後,就可以查看當天:蜘蛛分析(概要分析、目錄抓取、頁面抓取、IP排行);搜索引擎分析(關鍵字分析);狀態碼分析(用戶狀態碼、蜘蛛狀態碼)的相關信息。

文章參考自www.bjtcliuyan.com

② ELK日誌分析系統

       隨著軟體行業的發展,軟體系統的生產部署結構日趨復雜。對於一個分布式的系統,同一應用通常部署在不同的節點上,通過負載均衡的方式將請求分發到各個不同的節點進行處理。此時就會相對增加生產運維的復雜度,在進飢螞行問題查詢的時候很難判斷本次請求段芹是在哪台機器上執行的,也就無法快速的對日誌進行查詢從而定位問題,因此,就需要對日誌進行統一的處理和分析,以便方便開發和運維人員的問題處理速度。

本文介紹的是elastic stack開源的ELK組件,主要包括elasticsearch(簡稱es),logstash,kibana三個核心組件。
es是實時全文搜索和分析引擎,提供搜集、分析、存儲數據三大功能,對外提供REST和java api,可擴展性的分布式系統。
Logstash是一個用來搜集、分析、過濾日誌的工具,幾乎支持所有類型的日誌,能夠接收多種來源的日誌,包括syslog、mq,並且能夠輸出到多種介質中,包括es,郵件等等。
Kibana是一個基於Web的圖形界面,用於搜索、分析和可視化存儲在 Elasticsearch指標中的日誌數據。它利用Elasticsearch的REST介面來檢索數據,不僅允許用戶定製儀錶板視圖,還允許用戶使用es語法進行操作。

但是,在實際使用的過程中發現,logstash會佔用很多系統資源,因此決定加入一個更輕量的日誌收集組件(也是elastic stack的組件之一)filebeat。因此在加入filebeat之後,整個部署架構變成了如下圖所示。

安裝包:
    elasticsearch-6.6.2.tar.gz
    kibana-6.6.2-linux-x86_64.tar.gz
    logstash-6.6.2.tar.gz
    filebeat-6.6.0-linux-x86_64.tar.gz
    jdk-8u192-linux-x64.tar.gz
機器:
    192.168.45.174,192.168.45.175,192.168.45.176(ES集群)
    192.168.45.2(logstash,kibana)
    192.168.45.136(應用伺服器,安裝filebeat)

   注(1):由於ELK組件都是使用java開發的,因此需要安裝1.8以上版本的jdk
      jdk的安裝方法: https://www.cnblogs.com/kuoAT/p/7555298.html
   注(2):Elasticsearch不能使爛燃埋用root用戶運行,需要單獨創建用戶
1)為es創建一個目錄

2)創建一個elk用戶,並為elk用戶授權elasticsearch目錄

3)上傳es的安裝包,並解壓到elasticsearch目錄

4)切換到root用戶,修改以下文件

5)執行sysctl –p ,使配置生效
6)切換回elk用戶,進入 elasticsearch/config/目錄下,修改es的配置文件elasticsearch.yml

1)將filebeat上傳到要進行日誌收集的伺服器上192.168.45.136,並解壓

2)修改配置文件

a. 修改其中的enabled為true,並配置paths(要收集的日誌路徑,可以使用* 代替)。也可以根據exclude_lines和include_lines來做一些過濾日誌的行為。

b. filebeat的配置文件路徑,以及是否允許重新載入配置文件。並設置索引的分片數量

c. 配置kibana地址

d. 配置logstash地址

1)將logstash安裝包上傳到192.168.45.2伺服器並解壓
tar -xvf logstash-6.6.2.tar.gz
2)修改logstash輸入輸出的配置文件logstash-sample.yml
a.input中配置filebeat的監聽埠
b.filter中可以增加過濾條件對所有或者指定索引進行過濾
c.output中可以配置filebeat輸出之後的索引

1)將kibana安裝包kibana-6.6.2-linux-x86_64.tar.gz上傳到192.168.45.2,並解壓
tar -xvf kibana-6.6.2-linux-x86_64.tar.gz
2)修改配置文件

1)分別在對應的bin目錄下執行下列操作

2)啟動後可以在瀏覽器中輸入192.168.45.2:5601來進入kibana界面進行日誌查詢

③ 如何編寫自己的Web日誌分析腳本

腳本:寫劇本的人,也叫故事構成。
腳本英文為Script。實際上腳本就是程序,一般御租都是有應用程序提供的編程語言。應用程序包括瀏覽器(JavaScript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類。腳本同我們平時使用的VB、C語言的區別主要是:
1、腳本語法比較簡單,比較容易掌握;
2、腳本與應用程序密切相關,所以包括相對應用程序自身的功能;
3、腳本一般不具備通用性,所能處理的問題范圍有限。

腳本,英文名為Script,簡單地說,腳本就是指通過記事本程序或其它文本編輯器(如Windows Script Editor,EditPlus等)創建,並保存為特定擴展名(如.reg , .vbs, .js, .inf等)的文件,對於注冊表腳本文件就是利用特定的格式編輯的.reg文件;對於VBScript腳本編程語言來說,腳本文件擴展名就是.vbs;對於JScript腳本編程語言來說,腳本文件擴展名就是.js;另外,.wsf格式是Microsoft定義的一種腳本文野衡件格式,即Window Script File.

具體地說,腳本通過利用應用程序或工具的規則和語法來表達指令,以控制應用程序(包括注冊表程序)中各種元素的反應,也可以由簡單的控制結構(例如循環語句和If/Then語句)組成,這些應用程序或工具包括網頁瀏覽器(支持VBScript,Jscript),多媒體製作工具,應用程序的宏(比如Office的宏)以及我們熟悉的注冊表工具(regedit.exe)等.操作系統中的批處理也可以歸入腳本之列,批處理程序也經常由Windows環境中的"腳本"替換鎮脊兆,所以又稱腳本是"Windows時代的批處理".

腳本的作用在每一種應用程序中起的作用都是不一樣的,比如在網頁中可以實現各種動態效果,各種特效處理,實現各種HTML不能實現的功能.而在Office組件中,我們會經常看到"宏"這個工具,它其實就是一系列命令和指令可以實現任務執行的自動化.

腳本多以「vbs」、「bat」結尾。可以用「記事本」或「按鍵精靈」編輯。

④ Weblog expert日誌分析器怎麼使用

方法/步驟

把已經安裝好的weblog expert的軟體打開,這個工具是免費的,打開完軟體之後,點擊菜單中的「new」的選項。

就會進入到general的界面中,進行在profile中輸入網址,domain中輸入域名,index中輸入編號,進入到下一步

到log files的界面中,如果知道log存放的路徑,可以把路徑直接復制到輸入框中,也可以通過browse進行瀏覽器log文件位置,進行點擊browse

找到載入log的文件,找到log文件之後並選中該文件。

就把log文件載入到weblog expert工具中,然後就直接點擊Analyze的按鈕。

就分析的按鈕就自動對log日誌進行分析,分析完成之後,會自動通過網頁開發log分析日誌。就可以通過這些log的分析日誌信息,進行獲取到自己需要的信息。

⑤ 如何shell命令編寫自己的Web日誌分析腳本

一、讀取文件
按照上面的思路,先解決讀取問題。這里我用了判斷語句,起初我是想寫出類似於 access=more
/usr/access*.*,將這個路徑全部加到變數里,方便判斷,因為在shell里,只能將固定文件、文件夾作為變數,變數中不能加*號(我是沒找到別的方法,有知道大牛請提點下小弟),所以就想了個笨辦法,用匹配關鍵詞的方式來判斷特定目錄下,是apache日誌,還是weblogic日誌,還是IIS日誌,具體判斷方法如下:
if ls -l /usr/ | egrep "access";then
more /usr/access*.* | egrep "多個關鍵詞"
else
more /usr/ex*.log | egrep 「多個關鍵詞」
fi
這樣的方式來進行判斷,但是這樣判斷有個缺點,就是中間件日誌在/usr/目錄下,只能存在一種,比如同時存在apache和IIS的日誌,就會優先判斷apache的,進而不會執行IIS日誌分析的語句。而且,為了不跟之前的歷史數據混亂,在腳本執行開始,清空了下數據。
file=/usr/nmgxy/
if [ -e "$file" ];then
echo "日誌目錄存在,跳過創建過程,該操作會清空/usr/nmgxy/目錄下所有數據"
echo "按回車鍵開始清空數據,結束請點擊Ctrl+c"
read key
rm -r /usr/nmgxy/*
mkdir -p /usr/nmgxy/LFI/ /usr/nmgxy/exp/ /usr/nmgxy/sql/ /usr/nmgxy/scan/ /usr/nmgxy/xss/ /usr/nmgxy/getshell/ /usr/nmgxy/dir/
else
mkdir -p /usr/nmgxy/ /usr/nmgxy/LFI/ /usr/nmgxy/exp/ /usr/nmgxy/sql/
/usr/nmgxy/scan/ /usr/nmgxy/xss/ /usr/nmgxy/getshell/ /usr/nmgxy/dir/
fi
echo "分析結果日誌保存在/usr/nmgxy/目錄下"
echo ---------------------日誌目標文件---------------------------
if ls -l /usr/ | egrep "access";then
echo --------------------統計出現次數最多的前20個IP地址-----------------
cat /usr/access*.* |awk '{print $1}' |sort |uniq -c |sort -rn |head -20 >/usr/nmgxy/top20.log
echo "統計完成"
二、定義攻擊特徵
日誌讀取的問題解決了,接下來就是定義攻擊特徵的事兒了,攻擊特徵比較好定義。例如,SQL注入攻擊的判斷:
echo ------------------------SQL注入攻擊sql.log----------------
echo "開始分析存在SQL注入的攻擊行為,並將結果保存在/usr/nmgxy/sql/目錄下"
more /usr/access*.* |egrep
"%20select%20|%20and%201=1|%20and%201=2|%20exec|%27exec|
information_schema.tables|%20information_schema.tables|%20where%20|%20union%20|%20SELECT%20|%2ctable_name%20|cmdshell|%20table_schema"
>/usr/nmgxy/sql/sql.log
echo "分析結束"
awk '{print "共檢測到SQL注入攻擊" NR"次"}' /usr/nmgxy/sql/sql.log|tail -n1
echo "開始統計SQL注入攻擊事件中,出現頻率最多的前20個IP地址"
cat /usr/nmgxy/sql/sql.log |awk -F "[" '{print $1}' |sort |uniq -c |sort -rn |head -20 >/usr/nmgxy/sql/top20.log
echo ----------------------------------------------------------
more /usr/nmgxy/sql/top20.log
echo "統計結束"
我把一些常見的SQL注入攻擊的特徵寫到了裡面,去掉了MSSQL資料庫存儲過程以及MSSQL資料庫才會出現的一些注入語句。
三、輸出匹配到的含有攻擊特徵的記錄
將匹配到的攻擊特徵內容,重新輸出到了另外一個log裡面,相當於做了一次篩選/usr/nmgxy/sql/sql.log
more /usr/access*.* |egrep
"%20select%20|%20and%201=1|%20and%201=2|%20exec|%27exec|
information_schema.tables|%20information_schema.tables|%20where%20|%20union%20|%20SELECT%20|%2ctable_name%20|cmdshell|%20table_schema"
>/usr/nmgxy/sql/sql.log
然後二次分析這個篩選過的文件,統計SQL注入攻擊出現的次數
awk '{print "共檢測到SQL注入攻擊" NR"次"}' /usr/nmgxy/sql/sql.log|tail -n1
輸出完畢後,將攻擊出現最多的前20個IP地址進行統計並顯示到屏幕上
echo "開始統計SQL注入攻擊事件中,出現頻率最多的前20個IP地址"
cat /usr/nmgxy/sql/sql.log |awk -F "[" '{print $1}' |sort |uniq -c |sort -rn |head -20 >/usr/nmgxy/sql/top20.log
echo ----------------------------------------------------------
more /usr/nmgxy/sql/top20.log
echo "統計結束"
四、輸出結果
這個在代碼開頭,創建了一些文件夾,用來存放篩選過的記錄
mkdir -p /usr/nmgxy/LFI/ /usr/nmgxy/exp/ /usr/nmgxy/sql/ /usr/nmgxy/scan/ /usr/nmgxy/xss/ /usr/nmgxy/getshell/ /usr/nmgxy/dir/
中間刪刪改改折騰了好幾次。後來針對特定的攻擊,我們比較關注(重點是比較好寫的= =)的內容做了HTTP響應請求200/500的判斷,並輸出結果。
echo -------------------------getshell-getshell.log----------------
echo "開始分析存在getshell的攻擊行為,並將結果保存在/usr/nmgxy/getshell/目錄下"
more /usr/access*.* |egrep "
eval|%eval|%execute|%3binsert|%20makewebtaski%20|/div.asp|/1.asp|/1.jsp|/1.php|/1.aspx|xiaoma.jsp|tom.jsp|py.jsp|k8cmd.jsp|/k8cmd|ver007.jsp|ver008.jsp|ver007|ver008|%if|\.aar"
>>/usr/nmgxy/getshell/getshell.log
echo "分析結束"
echo "二次分析結果中HTTP響應碼為200和500,結果另存為/usr/nmgxy/getshell/ok.log"
more /usr/nmgxy/getshell/getshell.log | awk '{if($9=200) {print $1" "$2"
"$3" "$4" "$6" "$7" "$8" "$9}}' >/usr/nmgxy/getshell/ok.log
more /usr/nmgxy/getshell/getshell.log | awk '{if($9=500) {print $1" "$2"
"$3" "$4" "$6" "$7" "$8" "$9}}' >>/usr/nmgxy/getshell/ok.log
echo "二次分析結束"
awk '{print "共檢測到getshell行為" NR "次"}' /usr/nmgxy/getshell/getshell.log|tail -n1
echo "開始統計漏洞利用攻擊事件中,出現頻率最多的前20個IP地址"
cat /usr/nmgxy/getshell/getshell.log |awk -F "[" '{print $1}' |sort
|uniq -c |sort -rn |head -20 >/usr/nmgxy/getshell/top20.log
echo ---------------------------------------------------------------
more /usr/nmgxy/getshell/top20.log
echo "統計結束"
統計HTTP響應狀態,IIS和apache有點區別。apache我以默認空格為分隔符,判斷第9個分隔符是否為200或500,如果等於,則輸出全部內容
more /usr/nmgxy/getshell/getshell.log | awk '{if($9=500) {print $1" "$2" "$3" "$4" "$6" "$7" "$8" "$9}}'
而IIS的,我則是用獲取關鍵詞的方式,來進行判斷。
more /usr/nmgxy/getshell/getshell.log | egrep " 200" >/usr/nmgxy/getshell/ok.log
用egrep的方式,關鍵詞為" 200",200前面有個空格,如果不加空格的話,很容易跟其他的參數混起來,那個時候誤報就不是一點點了。例如asp?id=200,所以加入了空格做區分。
IIS和nginx的思路類似,唯一的區別就是特徵碼,稍微有點改動而已,這個就不一一例舉了。思路就是這個思路,其實後期想把報告整體輸出成HTML的方式,估計工作量挺大,這個還是得閑下來的時候,慢慢修改吧。
PS:這個腳本雖然寫的比較粗糙,但是精確度還是有的,測試了幾十次,精確度能達到至少80%以上。
分析1個多G的日誌文件,需要大致約30多秒左右,我是在虛擬機里做的測試。虛擬機ubuntu系統,1G的內存。
不見得能幫上大忙,至少可以給大家在分析日誌時節省點時間。。。。
先貼出apache、weblogic、IIS的腳本代碼,weblogic的從網盤直接下載就好。apache、weblogic、IIS的腳本代碼:

⑥ 1Web日誌數據分析模型的設計思想與實現

1Web日誌數據分析模型的設計思想

本論文設計平台通過對web日誌文件分析,統計出哪個頁面最受歡迎,訪問者來自哪裡,訪問時段分布情況等。分析結果生成HTML代碼,最終通過瀏覽器以頁面的形式將各種報表呈現在用戶面前。其中要用到目前比較常用的ASP技術,由於要將海量的日誌數據存入,所以還要用到SQL-Server這個功能強大的資料庫。

1.1系統的體系結構

Web日誌數據分析系統的主要用戶是一般企業網站或個人網站管理員,目前常見的網路開發模式共有3種體系結構:兩層Client/Server(C/S)體系結構;三層Client/Server/Database(C/S/D)體系結構;三層Browser/Server/Database(B/S/D)體系結構。綜合考慮本系統的用戶群特點及這三種體系結構特點,最終採用的體系結構是目前國際上流行的「Browser/WebServer/Database」即三層網路結構模型。這種體系結構簡單實用,客戶端只要採用標准瀏覽器與網路進行連接就可以了。

1.2系統功能模塊設計

系統功能模塊是系統與用戶交互的介面,本系統包括:數據預處理模塊、基本分析模塊、智能分析模塊和可視化模塊,系統功能模塊.數據預處理模塊:該模塊主要功能是首先去掉原先存放在關系資料庫中的部分沒有用的原始日誌,然後設置日誌文件格式、采樣方法,依據包含替換規則對數據進行凈化,再將該數據導入源資料庫,形成頁面映射表信息,最後形成用戶表。基本分析模塊:該模塊主要是對網站的`訪問情況進行以下6方面的統計匯總,即時段分析模塊、地域分析模塊、來源統計模塊、客戶端分析模塊、受訪頁分析模塊、搜索引擎模塊。智能分析模塊:該模塊主要功能是利用關聯規則對Web站點的頁面之間的鏈接關系和站點結構進行分析,構建一個新的Web站點拓撲結構,尋有關聯的客戶群體,開展有針對性和個性化的電子商務活動。

2Web日誌數據分析系統功能的實現

2.1數據收集

由於本系統是對Web日誌的分析,所以數據收集部分的工作實際上就是對日誌的收集工作,所以最重要得一點是網站的管理者允許對其日誌文件進行研究,在同意對日誌文件保密的前提下,筆者從電腦商網中國IT商務門戶(www.cnitsw.com)獲取了一段時間的網站日誌文件以此作為分析對象。

2.2數據預處理

數據的預處理過程是將Web日誌整理成適合數據挖掘的數據模型。整個挖掘預處理過程分為數據凈化、用戶識別、會話識別、路徑補充、事務識別5個步驟。

2.3智能分析模塊實現

我們利用了Apriori演算法的思想,但同時對APriori演算法進行了改造,採用了改進的APriori演算法進行頻繁路徑挖掘。改進Apriori是受到APriori演算法的啟發,但它適合頻繁路徑的挖掘。

2.4基本分析模塊實現

基本分析可以分為兩個方面,一是網站整體的訪問統計,另一方面是具體網頁的訪問分析。整體分析可以統計用戶數、點擊數,分析客戶端信息等等;對具體網頁可以統計其訪問量,以分析其受歡迎程度,也可表示其重要程度。這些工作的數據來源是預處理中數據清理階段產生的源資料庫和整個預處理階段後產生的用戶事務資料庫,實現方法也比較簡單,一般都是簡單的統計分析處理。基本分析模塊由時段分析模塊、地域分析模塊、來源統計模塊、客戶端分析模塊、受訪頁分析模塊、搜索引擎分析模塊6個模塊組成。本文以時段分析模塊為例進行闡述。根據日誌中的日期域(data)、時間域(time)以及所花時間域(time-taken)可以統計出每天哪個時段的訪問人數和具體逗留時間,每個小時訪問量的變化,通過一天中每小時的訪問數可以得出站點哪個時間段的訪問人數最多是訪問高峰期,進而分析出訪問人群的職業和上網習慣等相關信息。

Web日誌數據分析是internet信息處理的一個重要應用,目前我們只是實現了一些簡單的功能,還可以對WEB日誌的分析處理上進行某些更詳細的深入分析,譬如可以根據訪問者的登錄時間、訪問頁面、停留時間等信息進行統計分析,然後制定個性化的電子商務營銷策略,幫助電子商務網站在最短的時間內抓住最有效的客戶。還可根據以往時間段的訪問人數統計,對網站未來幾天或者某個時間段的訪問流量進行預測。

作者:吳敏綱 黃傑恆 鄭義平 單位:景德鎮陶瓷學院信息工程學院 景德鎮市第六人民醫院 景德鎮市國稅局直屬分局

⑦ web日誌分析工具 怎麼確認被攻擊

Apache 伺服器
預安裝在Kali Linux
可以用以下命令開啟:
service apache2 start

MySQL
預安裝在Kali Linux
可以用以下命令開啟:
service mysql start

使用PHP-MySQL創建一個有漏洞的web應用
我使用PHP開發了一個有漏洞的web應用並且把它放在上面提到的 Apache-MySQL裡面。
上述設置完成後,我用了一些Kali Linux中的自動工具(ZAP、w3af)掃描這個有漏洞的應用的URL。
現在讓我們來看看分析日誌中的不同情況。
0x02 Apache服務中的日誌記錄
Debian系統上Apache伺服器日誌的默認位置為:/var/log/apache2/access.log
日誌記錄只是在伺服器上存儲日誌。我還需要分析日誌以得出正確結果。在接下來的一節里,我們將看到我們如何分析Apache伺服器的訪問日誌以找出web站點上是否有攻擊嘗試。
分析日誌
手動檢查
在日誌量較小的情況下,或者如果我們查找一個指定關鍵詞,可以使用像grep表達式這樣的工具觀察日誌。
在下圖中,我們在URL中試圖搜尋所有關鍵詞為「union」的請求。

從上圖中,我們可以看到URL中的「union select 1,2,3,4,5」請求。很明顯,ip地址為 192.168.56.105的某人嘗試了SQL注入。 類似地,當我們有自己的關鍵詞時可以搜索特殊的關鍵詞。

在下圖中,我們正在搜索試圖讀取「/etc/passwd」的請求,很明顯是本地文件包含嘗試。
如上面的截圖所示,我們有許多本地文件包含的嘗試,且這些請求發送自ip地址 127.0.0.1。
很多時候,能輕易通過日誌看出是否是自動化掃描器產生的。
舉例來說, IBM appscan在許多攻擊payload中使用「appscan」這個詞。所以,在日誌中查看這樣的請求,我們基本就可以判斷有人在使用appscan掃描網站。
Microsoft Excel也是一個打開日誌文件和分析日誌的不錯的工具。我們可以通過指定「空格」為分隔符以用excel打開日誌文件。
當我們手頭沒有日誌分析工具時,這個也挺好用的。
除了這些關鍵詞,在分析期間要了解HTTP狀態代碼的基礎知識。以下是關於HTTP狀態代碼的高級信息的表格。

0x03 Web shells
webshell是網站/伺服器的另一個問題。webshell可以已web server許可權控制伺服器。
在一些情況下,我們可以使用webshell來訪問所有放在相同伺服器上的其他站點。
以下截圖顯示了Microsoft Excel 中開啟相同的access.log文件。

我們清楚地看到有一個叫「b374k.php」的文件被訪問了。「b374k」是一個流行的webshell,因此這個文件是很可疑的。
查看相應代碼「200」,本行表明有人上傳了一個webshell並訪問了它。
在許多情況下,攻擊者重命名webshell的名字以避免懷疑。我們必須變得聰明點,看看被訪問的文件是否是常規文件或者是否他們看起來不太一樣。我們可以更進一步,如果任何文件看起來可疑的話,還可以查看文件類型和時間戳。
One single quote for the win

SQL注入是web應用中最常見的漏洞之一。大多數學習web應用安全的人是從學習SQL注入開始的。
識別一個傳統的SQL注入很容易,給URL參數添加一個單引號看看是否報錯。
任何我們傳遞給伺服器的東西都會被記錄,並且可以朔源。
以下截圖顯示了日誌當中記錄了有對參數user傳入單引號測試是否有SQL注入的行為。
%27是單引號的URL編碼。

出於管理目的,我們還可以運行查詢監視來查看資料庫中的哪個請求被執行了。

如果我們觀察以上圖片,傳遞一個單引號給參數「user」的SQL語句被執行了。
0x04 使用自動化工具分析
當存在大量日誌時。手動檢查就會變得困難。在這種情景下,除了一些手動檢查之外我們可以使用自動化工具。
雖然有許多高效的商業工具,但是我要向你們介紹一款被稱為「Scalp」的免費工具。
據他們的官方鏈接所說,Scalp是用於Apache伺服器,旨在查找安全問題的日誌分析器。主要理念是瀏覽大量日誌文件並通過從HTTP/GET中提取可能的攻擊。
Scalp可以從以下鏈接下載:
https://code.google.com/p/apache-scalp/
Scalp是python腳本,所以要求我們的機器中安裝python。
以下圖片顯示該工具的幫助。

如我們在上圖所見,我們需要使用標志-l來提供要分析的日誌文件。
同時,我們需要提供使用標志-f提供一個過濾文件讓Scalp在access.log文件中識別可能的攻擊。
我們可以使用PHPIDS項目中的過濾器來檢測任何惡意的嘗試。
該文件名為「default_filter.xml 」,可以從以下鏈接中下載:
https://github.com/PHPIDS/PHPIDS/blob/master/lib/IDS/default_filter.xml
以下代碼塊是取自上面鏈接的一部分。

1
2
3
4
5
6
7
8
9
10
11

<filter>
<id>12</id>
<rule><![CDATA[(?:etc\/\W*passwd)]]></rule>
<description>Detects etc/passwd inclusion attempts</description>
<tags>
<tag>dt</tag>
<tag>id</tag>
<tag>lfi</tag>
</tags>
<impact>5</impact>
</filter>

它是使用XML標簽定義的規則集來檢測不同的攻擊測試。以上代碼片段是檢測文件包含攻擊嘗試的一個示例。
下載此文件之後,把它放入Scalp的同一文件夾下。
運行以下命令來使用Scalp分析日誌。

1

python scalp-0.4.py –l /var/log/apache2/access.log –f filter.xml –o output –html

「output」是報告保存的目錄。如果不存在的話,由Scalp自動創建。-html是用來生成HTML格式的報告。 如我們在上圖看到的那樣,Scalp結果表明它分析了4001行,超過4024並發現了296個攻擊模式。
運行上述命令後在輸出目錄內生成報告。我們可以在瀏覽器內打開它並查看結果。 下面截圖顯示的輸出顯示了目錄遍歷攻擊嘗試的一小部分。

MySQL中的日誌記錄
本節論述了資料庫中的攻擊分析和監視它們的方法。
第一步是查看設置了什麼變數。我們可以使用「show variables;」完成,如下所示。

接下來顯示了上述命令的輸出。

如我們在上圖中看到的,日誌記錄已開啟。該值默認為OFF。
這里另一個重要的記錄是 「log_output」,這是說我們正在把結果寫入到文件中。另外,我們也可以用表。
我們可以看見「log_slow_queries」為ON。默認值為OFF。
所有這些選項都有詳細解釋且可以在下面提供的MySQL文檔鏈接里直接閱讀:
MySQL的查詢監控
請求日誌記錄從客戶端處收到並執行的語句。默認記錄是不開啟的,因為比較損耗性能。
我們可以從MySQL終端中開啟它們或者可以編輯MySQL配置文件,如下圖所示。
我正在使用VIM編輯器打開位於/etc/mysql目錄內的「my.cnf」文件。

如果我們向下滾動,可以看見日誌正被寫入一個稱為「mysql.log」的文件內。

我們還能看到記錄「log_slow_queries」 ,是記錄SQL語句執行花了很長時間的日誌。

現在一切就緒。如果有人用惡意查詢資料庫,我們可以在這些日誌中觀察到。如下所示:

上圖顯示了查詢命中了名為「webservice」的資料庫並試圖使用SQL注入繞過認證。

⑧ 伺服器日誌分析工具,怎樣查看伺服器日誌監控

工具/原料

網站伺服器、運行中網站

網站日誌分析工具、FTP工具

網站日誌查看流程

登錄虛擬主機的管理系統(本經驗以萬網為例),輸入主機的賬號以及密碼,登陸。操作如下所示:

登錄系統後台,找到"網站文件管理"中的"weblog日誌下載",並點擊。操作

點擊"weblog日誌下載",可以看到很多以"ex"+時間命名的壓縮文件可以下載。選擇所需要下載的網站日喚咐志,點擊下載。操作如下所示:

登錄FTP工具,在根目錄下找到"wwwlogs"文件,下載所需的壓縮文件。注意:不同程序,日誌存放目錄不一樣。操作

網上有很多日誌分析軟體,本經驗以"光年seo日誌分析系統"這款軟體為例晌此子,點擊"新建分析任務"。操作

在"任務導向"中,按照實際要求改任務名以及日誌類別。宴鏈迅一般情況下可以不用修改。點擊系下一步,操作

接著上一步,在"任務導向"中添加所需要分析的網站日誌(也就是本經驗第三步下載的文件),添加文件可以是一個或者多個。點擊系下一步,操作

接著上一步,在"任務導向"中選擇報告保存目錄。點擊系下一步,操作

完成之後,軟體會生成一件文件夾,包含一個"報告"網頁以及"files"文件,點擊"報告"網頁就可以查看網站日誌數據了。

⑨ web log 日誌分析工具怎麼用

WebLog,它是一款專門用來分析網站日誌文件的軟體,可以對網站的來訪者進行詳細分析,包括當前活動會話統計、文件存取統計、搜索使用情況統計、瀏覽器/操作系統統計、錯誤統計等。

⑩ 如何進行網站日誌分析

一、什麼是網站日誌

1.網站日誌是記錄web伺服器接收處理請求以及運行時錯誤等各種原始信息的以·log結尾的文件並橡。

2.通過網站日誌可以清楚的得知用戶在什麼IP、什麼時間、用什麼操作系統、什麼瀏覽器、什麼解析度設備下訪問了網站的哪個頁面,是否訪問成功。

3.搜索引擎也屬於網站中的一類用戶,我們今天的分享課,主要是針對搜索引擎這種用戶在伺服器留下的記錄展開分析。

為了方便讀懂搜索引擎日誌,我們需要了解不同搜索引擎蜘蛛的標識,以下為4種搜索引擎的標識——*網路蜘蛛:Baispider*搜狗:SogouNewsSpider*360:360Spider*谷歌:Googlebot

二、如何看懂網站日誌

(以下為一段日誌記錄)

58.180.251.134--[25/Mar/2015:13:24:33+0800]"GET/m53256.html

index-1s2i2p2""Mozilla/5.0

(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)

Chrome/35.0.1916.153Safari/537.36SE2.XMetaSr1.0""-""-""-"

以下為欄位解讀:

通常日誌文件較大的情況下,需要藉助shell與python結合起來,做數據提取與分析。所以讀懂網站日誌中的欄位就有利於日常的分析。這個在此不贅述,有興趣的童鞋可以繼續深入了解。

大型網站通常可以用以上的方法來進行做日誌分析。

普通的個人站點,或者企業網站,則可以通過光年日誌分析工具結合網路站長平台一起使用。

三、為什麼要做網站日誌分析

先來了解SEO流量的獲取流程:抓取-->索引--->排名--->點擊--->流量

因此,要獲得SEO流量的前提務必是,有價值的頁面被搜索引擎抓取到。

四、怎麼做網站日誌分析

*定期監控搜索引擎抓取量變化,歷史數據的橫向縱向對比才能發現異常情況。*藉助第三方站長平台,如網路站長平台,了解搜索引擎抓取頻次變化。*藉助光年日誌分析工具,定期做數據記錄,了解重要欄目、重要頁面的抓取量變化。

舉個栗子:

老站點(建站1年且有人維護的網站):Seo流量出現異常波動。

分2種情況:

了解外界:了解外界的前提在於平時你得有一定的人脈基礎,如果沒有也沒關系。泡2個地方——去搜索引擎站長平台或者加入搜索引擎站長群。比如,像網路搜索引擎,它擁有站長平台,也會相應建立站長QQ群。有人脈基礎上,可以直接了解外界的情況——是否也出現類似幅度的波動?這個的前提要結合你短期做過的SEO操作一並考慮,避免誤判。無人脈的情況,泡群、泡站長平台。通常如果是搜索引擎演算法升級,會在群里或者站長平台有相關的小道信息出現。如果是搜索引擎自身演算法升級導致的流量波動,那麼就得根據新演算法做相應的站內優化。比如,網路冰桶3.0版本提出:將嚴厲打擊在網路移動搜索中,打斷用戶完整搜索路徑的調起行為。如果站點有存在以上的情況就需要針對性的做優化:無論是通過對接的APPLINK調起,還是網頁自主調起的應用,以及普通的網頁,都嘩神應是可返回,可關閉的。用絕蘆旁戶校驗搜索結果的准確性,不需要額外下載APP或者許可權。

分析內在:

在分析內在之前,再次拋出這個公式:Seo流量=抓取量*收錄率(准確來說應該是索引率)*首頁率*點擊率

。當抓取頻次出現異常必然引起抓取量的減少。因此,排除了外界的因素,就需要對網站的日誌進行分析。如果你的站點是中文站點,且是網路站長平台的VIP用戶。那麼,你就可以先藉助第三方站長平台的「抓取頻次」工具(如,網路),先了解搜索引擎近期的抓取頻次、抓取時間、異常頁面。通常藉助這個工具,我們可以對搜索引擎近期抓取情況有初步了解,並且可以藉助這個工具,相應的找到一些解決辦法。

在此先解釋這個概念,方便理解:

1.抓取頻次:抓取頻次是搜索引擎在單位時間內(天級)對網站伺服器抓取的總次數,如果搜索引擎對站點的抓取頻次過高,很有可能造成伺服器不穩定,蜘蛛會根據網站內容更新頻率和伺服器壓力等因素自動調整抓取頻次。

2.抓取時間:指的是搜索引擎每次抓取耗時。而影響抓取頻次的可能原因有:

(1)抓取頻次上限誤調,調低了,則會直接影響到抓取量減少,抓取量減少則索引量少,流量相應減少。

小結一下:

老站如何做網站日誌分析(針對中文站點):外界排除:

了解搜索引擎最新演算法是否發生變動、同行是否也有類似變化。

內在分析:

(1)使用工具:網路站長平台(非VIP賬戶看後文介紹)

(2)分析方法:主要使用抓取頻次分析工具進行分析,網站抓取頻次、抓取時間、異常頁面情況等數據變化。並與相關部門進行對接解決。

五、用光年日誌分析工具

非網路VIP:

步驟:

1.下載網站日誌(如果是企業站點,可以直接讓運維部門的童鞋幫忙下載,如果是個人站長,直接在你所購買的虛擬主機後台進行下載,文件以.log為結尾的便是)

2.打開光年日誌分析工具,上傳網站日誌。

3.查看分析結果。主要維度有這幾個:

(1)概況分析:各種爬蟲的總抓取量、總停留時間、總訪問次數。

(2)目錄分析:各種爬蟲抓取各目錄的情況分析。通過這個可以了解到搜索引擎對一些重要欄目的抓取情況,又抓取了哪些無效的頁面。

(3)頁面分析:通過頁面分析可以了解到經常被重復抓取的頁面有哪些,可以相應的做優化調整。比如,像網站的一些注冊頁面及登錄頁面,經常會發現多次被抓取,發現這種情況,我們通常會將登錄/注冊頁面進行屏蔽處理。

(4)狀態碼分析主要分為2種,爬蟲狀態碼以及用戶狀態碼。主要反應用戶/爬蟲訪問頁面時的頁面狀態。通過頁面狀態碼,我們可以了解到頁面狀態,做相應調整,如,當網站存在大量404頁面。那就需要進一步排查,比如,有些團購頁面,團購過期後,頁面就直接變成404了,但並未向網路站長平台提交死鏈清單,則容易造成無效抓取。