近期学习了一段时间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的更多相关文章

  1. PJzhang:经典子域名爆破工具subdomainsbrute

    猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...

  2. PJzhang:子域名爆破工具wydomain(猪猪侠)

    猫宁!!! 参考链接:https://www.secpulse.com/archives/53182.html https://www.jianshu.com/p/65c85f4b7698 http: ...

  3. 子域名爆破工具:OneForALL

    0x00 简介 OneForAll是一款功能强大的子域收集工具 0x01 下载地址 码云: https://gitee.com/shmilylty/OneForAll.git Github: http ...

  4. 无状态子域名爆破工具:ksubdomain

    概述 开源地址:https://github.com/knownsec/ksubdomain 二进制文件下载:https://github.com/knownsec/ksubdomain/releas ...

  5. ubuntu进行子域名爆破

    好记性不如烂笔头,此处记录一下,ubuntu进行子域名的爆破. 先记录一个在线的子域名爆破网址,无意中发现,很不错的网址,界面很干净,作者也很用心,很感谢. https://phpinfo.me/do ...

  6. 子域名爆破&C段查询&调用Bing查询同IP网站

    在线子域名爆破 <?php function domainfuzz($domain) { $ip = gethostbyname($domain); preg_match("/\d+\ ...

  7. 子域名枚举工具Sublist3r

    子域名枚举工具Sublist3r   通过搜集子域名信息,可以找到目标的关联网站,找寻相应的漏洞.Kali Linux提供一款基于OSINT的枚举工具Sublist3r.该工具会搜索多个数据来源,如G ...

  8. 子域名探测工具Aquatone的使用

    目录 Aquatone Aquatone的安装 Aquatone的使用 子域名爆破 端口扫描

  9. PJzhang:子域名发掘工具Sublist3r

    猫宁!!! 参考链接:https://www.freebuf.com/sectool/90584.html 作者上一次更新是2018年10月16日了,sublist3r中融合有另外一个子域名爆破工具S ...

随机推荐

  1. .NET基础拾遗(7)Web Service的开发与应用基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  2. ABP源码分析十二:本地化

    本文逐个分析ABP中涉及到locaization的接口和类,以及相互之间的关系.本地化主要涉及两个方面:一个是语言(Language)的管理,这部分相对简单.另一个是语言对应得本地化资源(Locali ...

  3. Entity Framework 6 Recipes 2nd Edition(9-2)译->用WCF更新单独分离的实体

    9-2. 用WCF更新单独分离的实体 问题 你想通过WCF为一个数据存储发布查询,插入,删除和修改,并且使这些操作尽可能地简单 此外,你想通过Code First方式实现EF6的数据访问管理 解决方案 ...

  4. Entity Framework 6 Recipes 2nd Edition(13-6)译 -> 自动编译的LINQ查询

    问题 你想为多次用到的查询提高性能,而且你不想添加额外的编码或配置. 解决方案 假设你有如Figure 13-8 所示的模型 Figure 13-8. A model with an Associat ...

  5. Tomcat 8熵池阻塞变慢详解(putty)

    原因 Tomcat 7/8都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRand ...

  6. es6学习笔记

    class Point { constructor(x, y) { this.x = x; this.y = y; } static classMethod() { console.log('fath ...

  7. C#定时任务组件之FluentScheduler

    FluentScheduler是.NET开源处理定时任务组件 1.任务的创建注册 public static void TaskActionByMinutes(Action action, int c ...

  8. python支持mysql

    MySQLdb只支持Python2.,还不支持3. 可以用PyMySQL代替.安装方法:pip install PyMySQL 然后在需要的项目中,把 init.py中添加两行: import pym ...

  9. 单例模式——创建型模式01

    1. 名称     单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类.单例模式是一种对象创建型模式. 2. 问题    ...

  10. CSS3 Notes: -webkit-box-reflect实现倒影

    平常我们要实现倒影的效果,一般的做法是使用多个DOM元素绝对定位+scale(负-1)或者rotate.这种方法的缺点是占据空间以及DOM元素过多. 在使用webkit内核的浏览器中(chrome,s ...