常见漏洞第三方扫描器
2015-09-04 00:40
344 查看
#!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- #Date: 2015/9/3 #Create By WinterSun import requests import simplejson import getopt,sys from threading import Thread ############################################################ ##################解决UnicodeEncodeError#################### reload(sys) sys.setdefaultencoding( "utf-8" ) ############################################################ poc = ['&poc=iis_ms15034','&poc=9857','&poc=1333','&poc=1228','&poc=0008','&poc=1147','&poc=956','&poc=971'] url_list=[] thread_num=1 hostfile_path = '' outputfile_path ='result.txt' def scan(u,d): h = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"} r = requests.post(url=u,data=d,headers=h) try: r_data= simplejson.loads(r.content) print r_data['msg'] return r_data['msg'] +'\n' except: return '' def singel_thread(start,end): result = '' for p in poc: for u in range(start,end): result = result +url_list[u]+':'+ scan('http://www.scanv.com/vul-check-process/','url='+url_list[u]+'&poc='+str(p)) with open(outputfile_path,'a') as f: f.write(result) def load_host(file_path): global url_list global hostfile_path hostfile_path = file_path try: with open(hostfile_path,'r') as f: url = f.readline() while(url): url_list.append(url) url = f.readline() except: print '文件不存在,请确认文件路径无误' def usage(): print '----------------------------------------------------------' print '-l [hostfile_path]\t\t域名文件路径' print '-t [thread_num]\t\t\t线程数目, 默认为1' print '-o [outputfile_path]\t\t输出文件路径' print '----------------------------------------------------------' if __name__== '__main__': opts,args = getopt.getopt(sys.argv[1:],'l:t:o:h') try: for opt,value in opts: if(opt == '-l'): load_host(value) elif(opt == '-t'): thread_num = value elif(opt == '-o'): outputfile_path = value elif(opt == '-h'): usage() sys.exit() except: usage() sys.exit() if hostfile_path == '': print '未指定域名文件路径!' sys.exit() url_num = len(url_list) group_num = url_num/thread_num for i in range(0,thread_num): Thread(target=singel_thread,args=(i*group_num,i*group_num+group_num)).start() Thread(target=singel_thread,args=(thread_num*group_num,url_num)).start()
相关文章推荐
- python 编码问题:'ascii' codec can't encode characters in position 的解决方案
- 【Unlock xcode files?】
- 如何迅速将磁盘中文件目录树结构做成文本保存
- 修改Eclipse jdk环境
- [CSS] Animating SVG
- debug签名 和 release签名
- Expression Tree Introduction
- Android 录音PCM 转G711U,非常简单,非FFMPEG
- [Search Engine] 搜索引擎技术之网络爬虫
- swift 学习<五> String
- 通过SQL语句直接实现Excel与数据库的导入导出
- hdu2049 不容易系列之(4)——考新郎
- 【POJ3020】【总数-最大二分匹配】【最小路径覆盖和点覆盖的区别是 路径的话要所有点覆盖了】
- 充满梦想的log4net探索之旅
- iOS 自定义Loading指示器
- Date和Calendar类的使用(一个例子)
- Flume - Too many unapproved licenses: 1
- Real Time Rendering 2.1 Architecture (体系结构)
- hdu 4915 Parenthese sequence(贪心,模拟)
- Flume - 安装及启动命令详解