python编写安全工具_Python3学习系列(四):编写属于自己的邮件伪造工具
timg.jpg (158.2 KB, 下載次數(shù): 92)
2017-10-21 13:33 上傳
前言:
相信有些人也看過(guò)一些滲透,郵件偽造然后釣魚這個(gè)在滲透中也是經(jīng)典技巧了,那么郵件偽造又是如何運(yùn)作的呢?下面的文章將會(huì)為你揭示郵件偽造,看完這篇文章,你會(huì)發(fā)現(xiàn),原來(lái)就是這樣。
目錄:0x01:郵件偽造原理
0x02:處理流程
0x03:代碼實(shí)現(xiàn)
0x04:逐行解析
0x01 郵件偽造原理
利用的是SMTP協(xié)議,因?yàn)樵赟MTP協(xié)議里面,是不需要身份認(rèn)證的,也就是郵件發(fā)送者和郵件顯示的發(fā)送人不一定要一致,那為什么我們平時(shí)發(fā)送的郵件的郵件發(fā)送人和顯示的發(fā)送人都是一致的呢?這是郵件服務(wù)商人為要求的,163,qq郵箱都是如此
0x02 處理流程注冊(cè)個(gè)郵箱,這里用網(wǎng)易163
FS261Q0_0M$K$FZLC~QQQV6.png (34.77 KB, 下載次數(shù): 69)
2017-10-21 13:34 上傳
登陸郵箱
進(jìn)入設(shè)置
M]~}M{_2ECOAN7%HS.png (58.73 KB, 下載次數(shù): 77)
2017-10-21 13:35 上傳
打開(kāi)SMTP服務(wù)
ZJVX3G2J@ZPEZU~%`Y{NZ41.png (73.01 KB, 下載次數(shù): 97)
2017-10-21 13:36 上傳
設(shè)置授權(quán)碼
這些只是代碼之前的前奏,下面開(kāi)始我們的工具編寫
0x03代碼編寫
[Python] 純文本查看 復(fù)制代碼# -*- coding: utf-8 -*-
'''
Program:郵件偽造
Function:偽造郵件發(fā)送工具
Version:Python3.6
Time:2017/10/13
Author:Walks
個(gè)人博客:http://www.bywalks.com
'''
import smtplib
import email.mime.multipart
import email.mime.text
#建立郵件對(duì)象
msg = email.mime.multipart.MIMEMultipart()
#添加數(shù)據(jù),來(lái)自哪,去哪
msg['Subject'] = u'發(fā)送asd郵件時(shí)設(shè)置的標(biāo)題asd'
msg['From'] = '123asds@163.com'
msg['To'] = 'xxx@qq.com'
content = "你好啊今asdasda好日子,所以西鄉(xiāng)說(shuō)些阿薩德asdasd事情阿斯達(dá)所阿斯達(dá)所大所大大所大庫(kù)拉索多拉還是打款哈手機(jī)打開(kāi)哈金士頓哈見(jiàn)到過(guò)巴克斯降本增效變成你們準(zhǔn)備下次找你沒(méi)錯(cuò)吧紅燒冬瓜 。"
txt = email.mime.text.MIMEText(content,'text','utf-8')
msg.attach(txt) # 將多個(gè)子部分進(jìn)行組合
#防出錯(cuò)
try:
smtp = smtplib.SMTP()
# 連接到服務(wù)器
smtp.connect('smtp.163.com', '25')
# 用戶名密碼登錄,密碼為163郵箱的授權(quán)碼
smtp.login('bywalkss@163.com', 'XXX')
# 發(fā)送郵件
smtp.sendmail('bywalkss@163.com', ['739327037@qq.com'], msg.as_string())
smtp.quit()
print('郵件發(fā)送成功email has send out !')
except Exception as e:
print(e)
0x04逐行解析
[Python] 純文本查看 復(fù)制代碼# -*- coding: utf-8 -*-
'''
Program:郵件偽造
Function:偽造郵件發(fā)送工具
Version:Python3.6
Time:2017/10/13
Author:Walks
個(gè)人博客:http://www.bywalks.com
'''
#導(dǎo)入兩個(gè)庫(kù),用來(lái)發(fā)送郵件,multipart用來(lái)構(gòu)造郵件,帶附件的
import smtplib
import email.mime.multipart
import email.mime.text
#建立郵件對(duì)象
msg = email.mime.multipart.MIMEMultipart()
#添加數(shù)據(jù),來(lái)自哪,去哪
msg['Subject'] = u'發(fā)送asd郵件時(shí)設(shè)置的標(biāo)題asd'
#郵件顯示的發(fā)送人
msg['From'] = '123asds@163.com'
#接受地
msg['To'] = 'XXX@qq.com'
#發(fā)送的內(nèi)容
content = "你好啊今asdasda好日子,所以西鄉(xiāng)說(shuō)些阿薩德asdasd事情阿斯達(dá)所阿斯達(dá)所大所大大所大庫(kù)拉索多拉還是打款哈手機(jī)打開(kāi)哈金士頓哈見(jiàn)到過(guò)巴克斯降本增效變成你們準(zhǔn)備下次找你沒(méi)錯(cuò)吧紅燒冬瓜 。"
txt = email.mime.text.MIMEText(content,'text','utf-8')
# 將多個(gè)子部分進(jìn)行組合
msg.attach(txt)
#防出錯(cuò)
try:
smtp = smtplib.SMTP()
# 連接到服務(wù)器
smtp.connect('smtp.163.com', '25')
# 用戶名密碼登錄,密碼為163郵箱的授權(quán)碼,自己設(shè)置的
smtp.login('bywalkss@163.com', 'XXX')
# 發(fā)送郵件(發(fā)送地,接受地,內(nèi)容) 第二個(gè)參數(shù)必須為列表
smtp.sendmail('bywalkss@163.com', ['XXX@qq.com'], msg.as_string())
#退出
smtp.quit()
print('郵件發(fā)送成功email has send out !')
except Exception as e:
#打印出錯(cuò)原因,可以查看出錯(cuò)代碼
print(e)
下面附兩張成功圖。這里為什么會(huì)顯示代發(fā),上面也說(shuō)過(guò)了,郵件服務(wù)商要求,那么我們找一個(gè)小服務(wù)商是不是就行了?
]{}(H0D{OS4GT05JS6]((M6.png (43.21 KB, 下載次數(shù): 79)
2017-10-21 13:40 上傳
SV0DCYY05X1DY(D%8_@VNUN.png (98.96 KB, 下載次數(shù): 75)
2017-10-21 13:40 上傳
個(gè)人博客:www.bywalks.com
總結(jié)
以上是生活随笔為你收集整理的python编写安全工具_Python3学习系列(四):编写属于自己的邮件伪造工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 亲身体验信仰之跃,消息称育碧将在 9 月
- 下一篇: python 检查文件是否存在_Pyth