Python與Hack


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)


 


免責聲明!

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



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