python脚本--在线获取网站子域名
优采云 发布时间: 2022-06-08 00:46python脚本--在线获取网站子域名
很久没有更新公众号了,近期事情较多,这两天有空就更新一下。
欢迎继续支持
继续造轮子的脚本,关于获取指定域名子域名的脚本和工具很多,在线的也特别多,非爆破情况下也就是在线查询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地址:
关注脚本与安全,不定时更新脚本方面的安全文章