python和w3af的問題(Python w3)

本文目錄一覽:

kali下安裝w3af出現錯誤

C++可以直接讀取的啊; C的話可以用%c一個一個的讀,也可以用%s讀取。

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可以從以下鏈接下載:

Scalp是python腳本,所以要求我們的機器中安裝python。

以下圖片顯示該工具的幫助。

如我們在上圖所見,我們需要使用標誌-l來提供要分析的日誌文件。

同時,我們需要提供使用標誌-f提供一個過濾文件讓Scalp在access.log文件中識別可能的攻擊。

我們可以使用PHPIDS項目中的過濾器來檢測任何惡意的嘗試。

該文件名為「default_filter.xml 」,可以從以下鏈接中下載:

以下代碼塊是取自上面鏈接的一部分。

1

2

3

4

5

6

7

8

9

10

11

filter

id12/id

rule![CDATA[(?:etc\/\W*passwd)]]/rule

descriptionDetects etc/passwd inclusion attempts/description

tags

tagdt/tag

tagid/tag

taglfi/tag

/tags

impact5/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注入繞過認證。

新人求教,kali2.0中的w3af總是卡死,該如何解決

自帶的w3af,掃描的時候回卡住,關不掉軟體,必須結束進程

解決w3af卡死掛掉的方法是重啟!

按照下面的命令操作

root@kali:~# apt-get update

root@kali:~# apt-get install -y python-pip w3af

正在讀取軟體包列表… 完成

正在分析軟體包的依賴關係樹

正在讀取狀態信息… 完成

python-pip 已經是最新的版本。

python-pip 已設置為手動安裝。

w3af 已經是最新的版本。

升級了 0 個軟體包,新安裝了 0 個軟體包,要卸載 0 個軟體包,有 18 個軟體包未被升級。

root@kali:~# pip install –upgrade pip

Downloading/unpacking pip from

Downloading pip-8.0.3-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded

Installing collected packages: pip

Found existing installation: pip 1.5.6

Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS

Successfully installemd d pip

Cleaning up…

root@kali:~# git clone

正克隆到 ‘w3af’…

remote: Counting objects: 133697, done.

remote: Total 133697 (delta 0), reused 0 (delta 0), pack-reused 133697

接收對象中: 100% (133697/133697), 157.08 MiB | 151.00 KiB/s, 完成.

處理 delta 中: 100% (102499/102499), 完成.

檢查連接… 完成。

root@kali:~# ls

w3af 公共 模板 視頻 圖片 文檔 下載 音樂 桌面

root@kali:~# cd w3af

root@kali:~/w3af# ./w3af_console //命令行界面

w3af’s requirements are not met, one or more third-party libraries need to be installed.

On Kali 2.0 systems please install the following operating system packages before running the pip installer:

sudo apt-get -y install libssl-dev libsqlite3-dev libxslt1-dev libyaml-dev

Your python installation needs the following modules to run w3af:

pyclamd github nltk chardet concurrent.futures pyasn1 lxml scapy.config markdown psutil

After installing any missing operating system packages, use pip to install the remaining modules:

sudo pip install pyClamd==0.3.15 PyGithub==1.21.0 nltk==3.0.1 chardet==2.1.1 futures==2.1.5 pyasn1==0.1.8 lxml==3.4.4 scapy-real==2.2.0-dev markdown==2.6.1 psutil==2.2.1

A script with these commands has been created for you at /tmp/w3af_dependency_install.sh

According to Kali’s documentation [0] in order to avoid breaking the packaged w3af version you should run the following commands:

cd ~

apt-get install -y python-pip

pip install –upgrade pip

git clone https/github.com/andresriancho/w3af.git

cd w3af

./w3af_console

. /tmp/w3af_dependency_install.sh

[0]

root@kali:~/w3af# cd /tmp/

root@kali:~/tmp# cat w3af_dependency_install.sh //查看w3af命令行依賴包

!/bin/bash

sudo apt-get -y install libssl-dev libsqlite3-dev libxslt1-dev libyaml-dev

sudo pip install pyClamd==0.3.15 PyGithub==1.21.0 nltk==3.0.1 chardet==2.1.1 futures==2.1.5 pyasn1==0.1.8 lxml==3.4.4 scapy-real==2.2.0-dev markdown==2.6.1 psutil==2.2.1

root@kali:~/tmp# apt-get build-dep python-lxml

root@kali:~/tmp# ./w3af_dependency_install.sh //安裝w3af命令行依賴包

root@kali:~/tmp# cd

root@kali:~# cd w3af

root@kali:~/w3af# ./w3af_gui //圖形化行界面

you python installation needs the following modules to run w3af:

xdot

After installing any missing operating system packages, use pip to install the remaining modules:

sudo pip install xdot==0.6

A script with these commands has been created for you at /tmp/w3af_dependency_install.sh

root@kali:~/w3af# cat /tmp/w3af_dependency_install.sh

#!/bin/bash

sudo pip install xdot==0.6

root@kali:~/w3af# pip install xdot==0.6

Downloading/unpacking xdot==0.6

Downloading xdot-0.6.tar.gz

Running setup.py (path:/tmp/pip-build-xI8Xu7/xdot/setup.py) egg_info for package xdot

Installing collected packages: xdot

Found existing installation: xdot 0.5

Not uninstalling xdot at /usr/lib/python2.7/dist-packages, owned by OS

Running setup.py install for xdot

Installing xdot script to /usr/local/bin

Successfully installed xdot

Cleaning up…

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285849.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:06
下一篇 2024-12-22 16:06

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智慧等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論