運用Python成為黑客


1.Fuzz測試:

     漏洞挖掘有三種方法:白盒代碼審計、灰盒逆向工程、黑盒測試。其中黑盒的Fuzz測試是效率最高的一種,能夠快速驗證大量潛在的安全威脅。

  Fuzz測試,也叫做“模糊測試”,是一種挖掘軟件安全漏洞、檢測軟件健壯性的黑盒測試,它通過向軟件輸入非法的字段,觀測被測試軟件是否異常而實現。Fuzz測試的概念非常容易理解,如果我們構造非法的報文並且通過測試工具打入被測設備,那么這就是一個Fuzz測試的測試例執行,大多數測試工程師肯定都嘗試過這種測試手段。

  對於網絡協議漏洞挖掘來說,Fuzz測試也就意味着打入各種異常報文,然后觀察設備是否有異常。

 

2.IDA是什么:IDA是一個反匯編軟件;交互式反匯編器專業版(Interactive Disassembler Professional),人們常稱其為IDA Pro,或簡稱為IDA。

 

3.代碼審計:顧名思義就是檢查源代碼中的缺點和錯誤信息,分析並找到這些問題引發的安全漏洞,並提供代碼修訂措施和建議;

 

4.Python入門:安裝第三庫:

**把包下載到本地后解壓:

wget http://***//***//nmap.tar.gz

tar -xzf nmap.tar.gz

 

**把當前目錄切換到解壓出來的目錄:

cd  python-nmap-0.2.4/

 

**在這個目錄中用python setup.py install命令安裝包:

python setup.py install

 

5.TCP套接字:

TCP套接字就是IP號加端口號。其中,IP號是網絡層用來尋找主機的;端口號運輸層用來找進程的,在網絡層找到主機后就依據端口號找到相應進程,從而實現用戶與服務器的通信。 

 

6.讀取banner:即連接上服務器后,服務器響應的第一句歡迎語句

7.Python變量:

**Python中,變量是指存儲在某個內存地址上的數據,這個內存地址可以存儲不同的值,如整型,實數,布爾值,或列表(list)或詞典這類復雜的數據;

**聲明變量時,Python會為變量保留內存空間,程序員可以不顯式的聲明變量的類型,Python解釋器可以決定變量的類型和為變量保留的多少內存空間;

 

8.安裝Python的第三方模塊:

**在windows環境下,python配置過環境變量后,最新版本的python自動安裝easy_install命令:

**所以,在cmd下使用easy_install命令安裝第三方模塊就可以:

easy_install python-nmap

easy_install pyPdf python-nmap pygeoip mechanize BeautifulSoup4

 

9.如果我們使用pip安裝失敗,我們可以直接下載包或模塊的安裝文件,然后手動安裝。

**常用的兩個下載包和模塊安裝文件的網站:PyPI-the Python Package IndexPython Extension Packages

**在上面右上角紅線框住的search中輸入你要下載的包或模塊名,即可進入下載頁面。下載的是壓縮文件,如何安裝呢? 
1)解壓,cmd下直接按:c:就可以進入C盤 
2)在命令提示符窗口中,使用cd進入到解壓后的文件的路徑下 
3)輸入命令python setup.py install

**這個網站下載的是后綴為.whl的文件,怎么來運行下載的.whl安裝文件呢? 
1)在命令提示符窗口中,找到指定路徑(.whl安裝文件的路徑) 
2)pip install .whl文件名

 

10.在windows下,cmd中可以直接使用pip命令:但是需要版本更新:

X:\>pip install python-bluez bluetooth python-obexftp
Collecting python-bluez
Could not find a version that satisfies the requirement python-bluez (from versions: )
No matching distribution found for python-bluez
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

X:\>python -m pip install --upgrade pip
Collecting pip
Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 265kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.1
Uninstalling pip-8.1.1:
Successfully uninstalled pip-8.1.1
Successfully installed pip-9.0.1

 

11.Python字符串:string模塊提供了一系列非常強壯的處理字符串的方法:

**lower():將字符串轉成小寫形式;

**replace(old,new):用new子串取代old子串

**find():返回子串在字符串中第一次出現時的偏移量;

 

12.Python的List(列表):list數據結構是在python中存儲對象數組的極好方法,list還內置了執行添加,插入,刪除,出站,索引,計數,排序,反轉等操作方法;

**append()方法:添加元素進入list;

**sort()方法:對list中的元素排序;

**index()方法:對list中指定的元素進行索引;

**remove()方法:刪除list中指定的元素;

 

13.Python的詞典:Python的詞典數據結構提供了一個可以存儲任意數量的Python對象的哈希表;

**詞典由n對鍵和值的項(item)組成;

**創建詞典時,每個鍵和它的值都是以冒號分隔的,同時用逗號分隔各個項;

**注意:key()方法返回的是詞典中所有鍵的列表,而 .items()方法返回的是詞典中所有項的完整信息的列表;

 

 

14.Python的網絡:socket模塊提供了一個用python進行網絡連接的庫;

**導入socket模塊后,實例化一個socket類的新變量;

**用connect()方法建立與指定IP地址與端口的網絡連接;

**連接成功后,就可以通過套接字進行讀/寫操作

**recv(1024)方法將讀取套接字中接下來的1024B數據

 

15.Python的條件選擇語句:IF語句是對邏輯表達式進行求值,並根據求值結果做出決定;

**要想知道某個指定的FTP服務器中是否存在可以攻擊的漏洞,就需要將服務器的響應結果與一些已知的存在漏洞的FTP服務器版本的信息進行比較;

>>>import socket

>>>socket.setdefaulttimeout(2)

>>>s=socket.socket()

>>>s.connect(("192.168.95.148",21))

>>>ans=s.recv(1024)

>>>if ("FreeFloat Ftp Server (Version 1.00)" in ans):

...   print("[+] FreeFloat FTP Server is vulnerable.")

...elif("3Com 3CDaemon FTP Server Version 2.0" in banner):

...   print("[+] 3CDaemon FTP Server is vulnerable.")

...elif ("Ability Server 2.34" in banner):

...   print("[+] Ability FTP Server is vulnerable.")

..elif ("Sami FTP Server 2.0.2 "in banner):

...  print("[+] Sami FTP Server is vulnerable.")

...else:

...  print("[-]FTP Server is not vulnerable. ")

 

 

16.Python的異常處理:try/except語句進行異常處理:

>>>try:

...  print("[+] 1337/0="+str(1337/0))

...except:

...  print("[-] Error")

>>>try:

...   print("[+] 1337/0="+str(1337/0))

...except Exception,e:                      //將異常存儲到變量e,同時還要顯式的將變量e轉換為一個字符串

...  print("[-] Error="+str(e))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM