使用python处理子域名爆破工具subdomainsbrute结果txt
近期学习了一段时间python,结合自己的安全从业经验,越来越感觉到安全测试是一个体力活。如果没有良好的coding能力去自动化的话,无疑会把安全测试效率变得很低。
作为安全测试而言,第一步往往要通过爆破目标站的一级域名开始。作为安全而言,最薄弱的地方往往不是主站,而是二级和三级域名。通过大牛lijiejie的工具subdomainsbrute我们可以轻松的获得一个子域名列表和IP的txt文件:
www..edu.cn .x.x.x
cs..edu.cn .x.x.x
my..edu.cn .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。
temp=sys.argv[1]
print '-'*40
print '正在格式化文本'
inputname=str(temp)
input=open(inputname,'r')
scan=open('ip.txt','w')
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扫描即可。这个实现比较容易。
os.system(order+'-iL ip.txt')
最后通过request模块对url地址获得状态吗,即可完成收集工作。
print '-'*40
print '正在请求url分析响应结果'
urlfile=open('url.txt','r')
urlfinal=open('urlresult.txt','w')
for line in urlfile:
t=line.strip('\n')
try:
status=requests.get('http://'+t).status_code
print t+' '+str(status)
urlfinal.write(t+' '+str(status)+'\n')
except:
print t + ' ' + 'unknown'
urlfinal.write(t+' '+'unknown\n')
continue
urlfinal.close()
os.remove('url.txt')
使用python处理子域名爆破工具subdomainsbrute结果txt的更多相关文章
- PJzhang:经典子域名爆破工具subdomainsbrute
猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...
- PJzhang:子域名爆破工具wydomain(猪猪侠)
猫宁!!! 参考链接:https://www.secpulse.com/archives/53182.html https://www.jianshu.com/p/65c85f4b7698 http: ...
- 子域名爆破工具:OneForALL
0x00 简介 OneForAll是一款功能强大的子域收集工具 0x01 下载地址 码云: https://gitee.com/shmilylty/OneForAll.git Github: http ...
- 无状态子域名爆破工具:ksubdomain
概述 开源地址:https://github.com/knownsec/ksubdomain 二进制文件下载:https://github.com/knownsec/ksubdomain/releas ...
- ubuntu进行子域名爆破
好记性不如烂笔头,此处记录一下,ubuntu进行子域名的爆破. 先记录一个在线的子域名爆破网址,无意中发现,很不错的网址,界面很干净,作者也很用心,很感谢. https://phpinfo.me/do ...
- 子域名爆破&C段查询&调用Bing查询同IP网站
在线子域名爆破 <?php function domainfuzz($domain) { $ip = gethostbyname($domain); preg_match("/\d+\ ...
- 子域名枚举工具Sublist3r
子域名枚举工具Sublist3r 通过搜集子域名信息,可以找到目标的关联网站,找寻相应的漏洞.Kali Linux提供一款基于OSINT的枚举工具Sublist3r.该工具会搜索多个数据来源,如G ...
- 子域名探测工具Aquatone的使用
目录 Aquatone Aquatone的安装 Aquatone的使用 子域名爆破 端口扫描
- PJzhang:子域名发掘工具Sublist3r
猫宁!!! 参考链接:https://www.freebuf.com/sectool/90584.html 作者上一次更新是2018年10月16日了,sublist3r中融合有另外一个子域名爆破工具S ...
随机推荐
- <程序员从入门到精通> -- How
定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...
- 第12章 Linux系统管理
1. 进程管理 1.1 进程查看 (1)进程简介 进程是正在执行的一个程序或命令(如ls命令也是一个进程),每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的作用 ...
- UWP开发:APP之间的数据交互(以微信为例)
目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...
- xcode低版本调试高版本真机系统
低版本xcode调试本真机高版本系统 //打开此路径把最新的文件拷贝到这里就可以了 /Applications/Xcode.app/Contents/Developer/Platforms/iPhon ...
- Enterprise Solution 生成实体数据访问接口与实现类型 Code Smith 6.5 模板文件下载
数据库表定义为SalesOrder,用LLBL Gen Pro生成的实体定义是SalesOrderEntity,再用Code Smith生成的数据读写接口是ISalesOrderManager,最后是 ...
- Vertica节点宕机处理一例
Vertica节点宕机处理一例: 查询数据库版本和各节点状态 常规方式启动宕机节点失败 进一步查看宕机节点的详细日志 定位问题并解决 1. 查询数据库版本和各节点状态 dbadmin=> sel ...
- isEmpty和isBlank的区别
isEmpty 判断某字符串是否为空,为空的标准是 str==null或 str.length()==0 StringUtils.isEmpty(null) = true StringUtils.i ...
- 菜鸟浅析JAVA,.NET,C/C++的区别
前言 以前经常看一些文章说到JAVA,.NET的区别,有时候C++er也会过来 凑凑热闹,突然发现这几天手停不下来了,也想写一篇文章 来分析一下 JAVA,.NET,C/C++的优缺点以及他们之间谁“ ...
- JavaScript知识点总结(命名规范,变量的作用域)
命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...
- 1.C#WinForm基础制作简单计算器
利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...