python脚本--在线获取网站子域名

优采云 发布时间: 2022-06-08 00:46

  python脚本--在线获取网站子域名

  很久没有更新公众号了,近期事情较多,这两天有空就更新一下。

  欢迎继续支持

  继续造轮子的脚本,关于获取指定域名子域名的脚本和工具很多,在线的也特别多,非爆破情况下也就是在线查询dns获取子域名,可参考

  这几天在互联网上看到一个网站,大概看下,发现不是暴力破解那种,而是采用dns查询的方式去查找(这里可能我理解不对,知道的可以留言给我),试用一下感觉还好,所以就此练习一下python脚本!

  在这里说一下我的流程:

  1、登录网站(因为不登录只能看部分列表);

  2、正则匹配相关内容;

  3、保存文本

  备注:这里有个小坑,在登录的时候需要获取token这个变量,不然服务器返回500错误。

  token的位置在页面中可以找到,拿来直接获取就好。

  直接贴代码

  #!/usr/bin/env python

  # -*- coding: utf-8 -*-

  # @Author: IcySun

  # 脚本功能:爬去fuzzall结果

  import sys

  reload(sys)

  sys.setdefaultencoding('utf-8')

  import urllib2

  import urllib

  import re

  from cookielib import CookieJar

  domain = raw_input("input the domain:")

  reui = pile(r'\s*?.*?[\s\S]*?[\s\S]*?

  \["(.*?)"\]

  ')

  count = 1

  loginurl = '#39;

  cj = CookieJar()

  opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

  token = opener.open(loginurl).read()[588:628] #token的位置

  opener.addheaders =[

  ('User-Agent','Mozilla/5.0 (Windows NT 6.2; WOW64; rv:36.0) Gecko/20100101 Firefox/40.0'),

  ('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),

  ('Accept-Encoding','gzip, deflate'),

  ('Connection', 'keep-alive'),

  ('X-Forwarded-For','127.0.0.1')

  ]

  formdata = {'_token':token,

  'email':'', #自己注册用户

  'password':'password'}

  data_encoded = urllib.urlencode(formdata)

  response = opener.open(loginurl, data_encoded,timeout=10)

  for i in xrange(1,10):

  url = '#39; + domain +' ?page=' + str(i)

  content = opener.open(url).read()

  urls = re.findall(reui, content)

  for url,ip in urls:

  ip = ip.replace(""", "")

  print count,url,ip

  count+=1

  with open(domain+'.txt','a') as f:

  f.write(str(count)+'\t'+url+'\t\t\t\t'+ip+'\n')

  测试如图:(依然拿唯品会做例子)

  对比一下从网站上获取的数量与爬虫爬到的是否一致。

  附上oschina的git地址:

  关注脚本与安全,不定时更新脚本方面的安全文章

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线