文本处理(outlook邮件通讯簿的导出与处理)

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。


最后成功登陆他人邮箱

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容