zoukankan      html  css  js  c++  java
  • python信息收集之子域名

    python信息收集之子域名

    主要是以下3种思路:

    1. 字典爆破
    2. 搜索引擎
    3. 第三方网站

    0x00 背景知识

    list

    Python内置的一种数据类型是列表:list是一种有序的集合。

    >>> names = ['mark','sam','rachel']
    >>> names[0]      //使用索引访问列表元素
    'mark'
    >>> names[1]
    'sam'
    >>> names[2]
    'rachel'
    >>> names[-1]
    'rachel'
    >>> names[-2]
    'sam'
    >>> names[-3]
    'mark'
    >>> names[:]
    ['mark', 'sam', 'rachel']
    >>> names[0:3]
    ['mark', 'sam', 'rachel']
    >>> len(names)
    3
    >>> list1 = [1,2,3]
    >>> list2 = [4,5,6]
    >>> list3 = list1 + list2
    >>> list3
    [1, 2, 3, 4, 5, 6]
    >>> names.append('angel')    //追加元素到末尾
    >>> names
    ['mark', 'sam', 'rachel', 'angel']
    >>> names.insert(0,'insertname')    //插入元素到指定索引
    >>> names
    ['insertname', 'mark', 'sam', 'rachel', 'angel']
    >>> names.pop()     //默认删除list末尾元素
    'angel'
    >>> names
    ['insertname', 'mark', 'sam', 'rachel']
    >>> names.pop(0)    //删除指定索引位置元素
    'insertname'
    >>> names
    ['mark', 'sam', 'rachel']
    >>> names[0] = 'xiaoyuer'     //元素替换
    >>> names
    ['xiaoyuer', 'sam', 'rachel']
    >>>
    

    dict

    python内置了字典:dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。

    >>> d = {'name':'mark', 'age':18}
    >>> d['name']
    'mark'
    >>> d['age']
    18
    

    操作键(key)

    for key in dic.keys():
    

    操作值(value)

    for value in dic.values():
    

    操作键(key)值(value)

    for k,v in dic.items():
    

    整数

    >>> dic = {'age': 18}
    >>> for i in range(5):
    ...         v = i
    ...         dic['age'] = v
    ...         print dic
    ...
    {'age': 0}
    {'age': 1}
    {'age': 2}
    {'age': 3}
    {'age': 4}
    

    字符串

    >>> with open('/Users/markzhang/Desktop/user.txt','r') as f:
    ...     lines = f.readlines()
    ...     for line in lines:
    ...         line = line.strip('
    ')
    ...         dic['name'] = line
    ...         print dic
    ...
    {'name': 'name1'}
    {'name': 'name2'}
    {'name': 'name3'}
    

    set

    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

    正则表达式

    1. 懒惰匹配
    .*?    ----匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复
    
    1. 后向引用
    ()     ----匹配这个子表达式的文本
    

    0x01 字典爆破

    自定义加载字典爆破

    0x02 搜索引擎

    1. 百度
    # -*- coding: utf-8 -*-
    import requests
    import re
    
    url = 'http://www.baidu.com/s?wd=site%3Abaidu.com'
    data = {'pn':0}
    
    for v in data.values():
    	domains = []
    	for i in range(4):
    		i = i * 10
    		v = i
    		data['pn'] = v
    		res = requests.get(url,params=data).text.encode('utf-8')
    		#正则
    		pattern = re.compile(r'style="text-decoration:none;">(.*?)/&nbsp')
    		domain = re.findall(pattern,res)
    		domains += set(domain)
    
    print domains
    print '
    the number of domain is %d' %len(domains)
    for num in domains:
    	print num 
    
    1. 必应
    2. 谷歌

    0x03 第三方网站

  • 相关阅读:
    DEDECMS里面DEDE函数解析
    dede数据库类使用方法 $dsql
    DEDE数据库语句 DEDESQL命令批量替换 SQL执行语句
    织梦DedeCms网站更换域名后文章图片路径批量修改
    DSP using MATLAB 示例 Example3.12
    DSP using MATLAB 示例 Example3.11
    DSP using MATLAB 示例 Example3.10
    DSP using MATLAB 示例Example3.9
    DSP using MATLAB 示例Example3.8
    DSP using MATLAB 示例Example3.7
  • 原文地址:https://www.cnblogs.com/mark-zh/p/10309876.html
Copyright © 2011-2022 走看看