使用python处理子域名爆破工具subdomainsbrute结果txt

近期学习了一段时间python,结合自己的安全从业经验,越来越感觉到安全测试是一个体力活。如果没有良好的coding能力去自动化的话,无疑会把安全测试效率变得很低。

      作为安全测试而言,第一步往往要通过爆破目标站的一级域名开始。作为安全而言,最薄弱的地方往往不是主站,而是二级和三级域名。通过大牛lijiejie的工具subdomainsbrute我们可以轻松的获得一个子域名列表和IP的txt文件:

www.1.edu.cn                    125.x.x.x
cs.2.edu.cn                     125.x.x.x
my.3.edu.cn                     182.x.x.x

      作为安全测试最朴素的思想一定是,对整个网站的端口进行相关的扫描。分析lijiejie安全工具的源码我们可知dns爆破主要是通过多线程对dns服务器进行请求,我们不可避需要对所有爆破出的url一个个粘贴到浏览器中进行测试,这样的效率非常低,而且容易狗带。同时鉴于这种黑暗的txt输出格式,我们需要把所有ip都手工ctrl+c,ctrl+v到一个新的txt中才能进行nmap扫描,每次工作的时候我的心情总是崩溃的。学习了python之后我们可以通过比较简单的方法来完成对上述工作的自动化。

      主函数的设计思路非常简单,主要就是三个简单的功能,格式化subdommain输出结果,放进nmap扫描,对域名进行url试探。

      接下来我们希望对txt本身的字符串进行相关处理,format()。即我希望分离出两个文档,1个为ip地址的txt。一个为域名的txt。

  

1   temp=sys.argv[1]
2     print '-'*40
3     print '正在格式化文本'
4     inputname=str(temp)
5     input=open(inputname,'r')
6     scan=open('ip.txt','w')
7     url=open('url.txt','w')

  首先通过创建一个input,读入subdommain输出的txt文件。

  同事创立两个scan与url分别存放即将输出的IP和url文件。

  下面要做的就是对subdomain的字符串格式化。

    for line in input:t=line.strip()final=t.split()scan.write(final[1]+'\n')url.write(final[0]+'\n')

  通过for循环读入文件中的每一行,通过line.strip()去掉两遍的空格后,用.split()方法以空格为界,切出一个list保存原文件的ip和url。

  下一步主要是将ip循环放进nmap扫描即可。这个实现比较容易。

   1 os.system(order+'-iL ip.txt') 

  最后通过request模块对url地址获得状态吗,即可完成收集工作。

  

 1     print '-'*40
 2     print '正在请求url分析响应结果'
 3     urlfile=open('url.txt','r')
 4     urlfinal=open('urlresult.txt','w')
 5     for line in urlfile:
 6         t=line.strip('\n')
 7         try:
 8             status=requests.get('http://'+t).status_code
 9             print t+'     '+str(status)
10             urlfinal.write(t+'  '+str(status)+'\n')
11         except:
12             print t + '     ' + 'unknown'
13             urlfinal.write(t+'  '+'unknown\n')
14             continue
15     urlfinal.close()
16     os.remove('url.txt')

 

  

  

      

 

转载于:https://www.cnblogs.com/Hyber/p/5981873.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美陆军将在2020年军演中测试人工智能新应用

▲美陆军利用人工智能技术探测隐藏的目标,例如这辆伪装的M109A6自行榴弹炮来源: 美国《防务快讯》/图片来自互联网 编者按美陆军人工智能工作组负责人表示,陆军已开发出可检测“侦察照片”中隐藏目标的人工智能技术,并将在明年举行…

python 同时发多个请求_PythonWebServer如何同时处理多个请求

源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349对于初学Web开发,理解一个web server如何能同事处理多个请求很重要。当然更重要的是,理解你通过浏览器发送的请求web server是怎么处理的,然后怎么返…

java关于hashmap编程题_LeetCode算法题-Design HashMap(Java实现)

这是悦乐书的第299次更新,第318篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第167题(顺位题号是706)。在不使用任何内置哈希表库的情况下设计HashMap。具体而言,你的设计应包括以下功能:put(key,value)&#xff1a…

Nature:1000种植物的测序揭示10亿年来的进化

来源:生物通千种植物转录组计划(1,000 Plants Project,1KP)是由加拿大科学家在2008年11月发起的,召集了将近200名植物学家对1,100多种植物的基因进行测序和分析。如今,这个项目的研究成果发表在《Nature》杂…

CodeForces 688B - Lovely Palindromes(思路)

题意&#xff1a;输出第n&#xff08;1 < n < 10^100000&#xff09;大的偶数长度的回文数。&#xff08;最小的为11&#xff09; 因为长度是偶数&#xff0c;所以前后两半之间是相互对称的&#xff0c;又因为一个数字的大小主要取决于较高位数的大小&#xff0c;所以数字…

python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...

原标题&#xff1a;SQL Server 2017 数据库教与学(教学大纲&#xff0c;含PythonSQL Server案例)本书提供PythonSQL Server案例SQL Server教学大纲一、课程的性质和教学目的课程性质&#xff1a;数据库技术是各类信息系统、管理系统的基础。SQL Server数据库是微软公司的一款数…

java 通过反射得到命名空间_利用反射得到一个命名空间下的所有类,并调用?...

当年话下Assembly.LoadFrom("assemblyName").GetTypes();Assembly.Load("assemblyName").GetTypes();遍历&#xff0c; 再通过Type.GetInterface(""),如果结果不为null&#xff0c;那就说明找到了再Activator.CreateInstance(“”)即可还是写段代…

量子霸权之争

来源&#xff1a; 原理这一个月以来&#xff0c;量子计算机领域吸引了许多人的关注&#xff0c;因为关于谷歌已经实现了人们期待已久的里程碑——“量子霸权”&#xff08;也被称为”量子优越性“&#xff09;的消息不胫而走。“量子霸权”是加州理工学院的理论物理学家John Pr…

Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )...

Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用他们自己的api 或者cli接口来关闭1 1.3. 通过gui接口杀进程&#xff1a;&#xff1a;1 1.4. 首先&#xff0c;调用g…

主成分分析法案例_因子分析案例及操作解析

分析一个省的科技创新能力受哪些潜在因素的影响&#xff1f;&#xff08;本数据来源于网络收集&#xff0c;x1~x15代表各省市相关经济指标&#xff09;第一步&#xff1a;数据输入&#xff08;如下图&#xff09;第二步&#xff1a;操作步骤&#xff1a;分析——降维——因子分…

date js 半年_js Date 日期使用上的一个坑

作者&#xff1a;坚强一点链接&#xff1a;https://zhuanlan.zhihu.com/p/22253858来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。在写js 日历插件的时候遇到一个奇怪的情况。日历当前的日期是 2016-08-31 号 用 js Da…

IBM人工智能将“掌舵”全球首个跨大西洋自主驾驶船舶

来源&#xff1a;IBM中国IBM提供IBM Systems、AI、云以及边缘计算技术&#xff0c;“掌舵”全球首个跨大西洋的自主航行任务目标是拓展人类对于海洋的认识&#xff0c;以及消除海洋研究的障碍此次航行将帮助科学家们了解海洋塑料堆积这一重大社会问题日前&#xff0c;IBM THINK…

用css、html编写一个两列布局的网页,名称为css.html ,要求左侧宽度为200px ,右侧自动扩展...

<body><div style" float:left; width:200px; height:300px; border: 1px #0033FF solid;">111</div><div style" float:left; width:auto; height:300px; border: 1px #0033FF solid;">222</div></body>或者&#x…

python 导入数据对不齐_[Python] 大文件数据读取分析

首先我们可以确定的是不能用read()与readlines()函数&#xff1b;因为如果将这两个函数均将数据全部读入内存&#xff0c;会造成内存不足的情况。针对数据按行划分的文件以计算行数为例&#xff0c;首先针对几种不同的方法来作比较&#xff1a;1、使用for遍历的方法&#xff0c…

【周末阅读】人工智能时代基础数据服务大有可为

来源&#xff1a;青岛智能产业技术研究院智能产业 前沿高地【导读】为机器学习算法训练、优化提供数据采集、标注等服务的人工智能基础数据服务成为这一人工智能热潮中必不可少的一环。如果说计算机工程师是AI的老师&#xff0c;那基础数据服务就是老师手中的教材。人工智能基础…

c#FileStream文件读写(转)

FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法&#xff0c;但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组&#xff0c;而Stream类操作的是字符数据。字符数据易于使用&#xff0c;…

python能处理图片吗_python 能处理图像?

答案是&#xff1a;完全ojbkpython具有强大的图像处理功能&#xff0c;这归功于他 的PIL模块与我们平时所见的使用PS等软件P图有所不同&#xff0c;python实现的图像处理是以代码的形式完成工作&#xff0c;也是千峰这篇文章要说的。需要相关学习资料请关注我操作环境&#xff…

python3多线程编程_Python 3-多线程编程

Python 3-多线程编程运行多个线程类似于同时运行多个不同的程序&#xff0c;但具有以下优点-进程中的多个线程与主线程共享相同的数据空间&#xff0c;因此与单独的进程相比&#xff0c;可以更轻松地共享信息或彼此通信。线程有时被称为轻量级进程&#xff0c;它们不需要太多的…

物理史2000年来最精彩的对决!

来源&#xff1a;工程客背景&#xff1a;在20世纪初&#xff0c;物理学界诞生了影响至今的两大理论&#xff0c;这两个门派&#xff0c;一个是爱因斯坦以一人之力提出的相对论&#xff0c;另一个则是由玻尔领导的哥本哈根学派合力塑成的量子力学。而因为观念的差异&#xff0c;…

sql多行合成一行的解决方法

转载于:https://www.cnblogs.com/shanhuashuiqing11/p/6000627.html