Python與Hack

來源:互聯網
上載者:User

標籤:for迴圈   輸入   python指令碼   access   輸出   變數   版本   資料庫   對象   

1.Python的函數:關鍵字def()表示函數開始,可以在括弧內填寫任何變數,然後這些變數會被以引用的方式傳遞給函數,也就是說,函數內對這些變數的任何改變都會影響它們在主調函數中的值:

 

2.迭代:用for迴圈遍曆多個元素;

>>>for x in range(1,255):

  print("194.168.95."+str(x))

>>>portList=[21,22,25,80,110]

>>>for port in portList:

  print(port)

 

3.檔案輸入/輸出:在checkVulns(banner)函數中換上新的代碼,這裡是唯讀模式(‘r‘)開啟文字檔,用.readlines()方法遍曆檔案中的每一行,必須用.strip(‘\r‘)方法將每一行的斷行符號鍵去掉:

def checkVulns(banner):

  f=open("vuln_banners.txt",‘r‘)

  for line in f.readlines():

    if line.strip(‘\n‘) in banner:

    print("[+] Server is vulnerable:" +banner.strip(‘\n‘))

 

4.Python的sys模組:內建的sys模組使我們能訪問到由Python解譯器使用或維護的對象,其中包括標誌,版本,整型數的最大尺寸,可用的模組,hook路徑,標準出錯/輸入/輸出的位置,以及調用解譯器的命令列參數;

sys.argv列表中含有所有的命令列參數:

第一個sys.argv[0]元素中的是python指令碼的名稱,列表中的其餘元素中則記錄了之後的所有的命令列參數;

import sys
if len(sys.argv)==2:
filename=sys.argv[1]
print("[+] Reading Vulnerabilities From:" +filename)


 5.Python的OS模組:內建的OS模組提供了豐富的適用於Mac,NT或Posix的作業系統的函數;這個模組允許程式獨立地與作業系統環境,檔案系統,使用者資料庫以及許可權進行互動;

import sys
import os
if len(sys.argv)==2:
filename=sys.argv[1]
if not os.path.isfile(filename):
print(‘[-]‘+filename+‘does not exist.‘)
exit(0)
if not os.access(filename,os.R_OK):
print(‘[-]‘+filename+‘access denied‘)
exit(0)
print("[+] Reading Vulnerabilities From:" +filename)


 

Python與Hack

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.