1.編碼格式。一般linux文件讀出來后都是utf8.window是gbk。而pycharm本身是unicode。所以在一進去就先解碼。這樣輸出正常。而在寫文件的時候又要再次編碼。保證輸出正常。
2.判斷字符串中是否有中文。利用unicode編碼范圍進行處理
3.一般會將字符串先進行strip處理.分拆字符串。利用re.split(“@|;|,”“4”)這樣就可以指定多個符號進行分離了。但是盡量避免用“()”作為符號。拆開成幾個。會減少程序時間
4.程序時間查看代碼(相對粗糙易懂得)
import time
start=time.clock()
.......
end=time.clock()
print('Running time: %s Seconds'%(end-start))
5.最好先統一每行格式,便于處理。最怕就是分拆數目不一致。寫就難寫了
下面將今天的流程
導出->處理->驗證
導出:
outlook只能導出聯系人信息,但多數都使用的是全球通訊簿。
所以先加載到自己的聯系人中
技巧選中第一行再選中按住shift選中最后最后一行,右鍵導入到我的聯系人中
接下來文件,導出
這里他只能保存為CVS。但是為了便于處理。我們打開之后可以另存為xml和txt。然而我要的只是用戶名。沒有必要用xml進行大規模處理所以就存成txt了。
處理:技巧內容都在最上面了,下面貼代碼
# -*- coding: gbk -*-
import re
import time
# import sys
# reload(sys)
# sys.setdefaultencoding('utf8')
def zhongwen(contents):
for i in range(len(contents)):
if contents[i] >= u'\u4e00' and contents[i] <= u'\u9fa5':
return True
break
return False
start=time.clock()
f_in=open('test.txt','r')
f_out=open('test1.txt','w')
lines=f_in.readlines()
for line in lines:
line=line.strip()
line=line.decode("gbk")
newline=re.split("@|,",line)
if zhongwen(newline[1]):
print "ok"
newline[1]=newline[2]
print newline[1].encode("gbk")
f_out.write(newline[1]+"\n")
f_in.close()
f_out.close()
end=time.clock()
print('Running time: %s Seconds'%(end-start))
其實還有test用于測試中文判別的,這里就不貼了。
結果就像這樣。其實中間有很多中文干擾。代碼中可見
最后是載入burpsuit驗證弱密碼
首先抓取登陸界面數據包轉發到intruder,選中用戶名。密碼這里統一用自己定義的弱密碼列表。
全是302.說明我們設置有地方錯了。我認為是端口。用nmap查看下開啟的端口。是80沒問題的。想不通。
用我自己賬號正常和錯誤登陸一下發現,成功返回的也是302.我曹坑比啊。他是第一個會給你個302.但是成功的里面有session。后面會有很多內容。下面我們來看下原來批量的內容。
那個兩百反而不行。其實返回的是安全控制什么什么的。
最后查看返回值稍微大一點的返回內容,發現session。
最后成功登陸他人郵箱