1、安全开发-Python爬虫EDUSRC目标FOFA资产Web爬虫解析库

用途:个人学习笔记,有所借鉴,欢迎指正

前言:

主要包含对requests库和Web爬虫解析库的使用,python爬虫自动化,批量信息收集

Python开发工具:PyCharm 2022.1 激活破解码_安装教程 (2022年8月25日更新~)-小白学堂

一、EDUSRC平台爬取接收漏洞的教育机构名称

1、爬取目标:EDUSRC平台此网页第1-209页的所有教育机构名称,保存到txt文件中

2、Python代码实现: 

import requests,time
from bs4 import BeautifulSoup#<tr>
#    <td class="am-text-center">1</td>
#    <td class="am-text-center">
#        <a href="/list/firm/3761">上海交通大学</a>
#    </td>
#    <td class="am-text-center">3994</td>
#    <td class="am-text-center">10523</td>
#</tr>def get_eduName():for i in range(1,209):url = 'https://src.sjtu.edu.cn/rank/firm/0/?page=%s'%str(i)try:s=requests.get(url).textprint('------->正在获取第%s页面数据'%str(i))soup = BeautifulSoup(s, 'lxml')edu1=soup.find_all('tr')for edu in edu1:edu_name=edu.a.stringprint(edu_name)with open('eduname.txt','a+',encoding='utf-8') as f:f.write(edu_name+'\n')f.close()except Exception as e:time.sleep(1)passif __name__ == '__main__':get_eduName()

二、利用FOFA搜索引擎批量爬取与目标相关的URL地址

1、FOFA搜索语法:收集目标名称相关所有URL地址

 2、Python代码实现

import requests
from bs4 import BeautifulSoupheader={#登录fofa,浏览器查看数据包中的登录凭证fofa_token'cookie':'fofa_token=eyJhbGciOiJIUzUxMiIsImtpZCI6Ik5XWTVZakF4TVRkalltSTJNRFZsWXpRM05EWXdaakF3TURVMlkyWTNZemd3TUdRd1pUTmpZUT09IiwidHlwIjoiSldUIn0.eyJpZCI6MjgyNzMsIm1pZCI6MTAwMDIxOTg4LCJ1c2VybmFtZSI6InhpYW9kaXNlYyIsImV4cCI6MTY3MTI4MjUzOH0.0ukMGFIrIvzDOzpUl9JglOoMpzbIPCczGRDeqKdmFYHfStd2jdwc6LGby3Ke0UR2suvErzhOTPYL2ACe4Goi8Q; '
}url='https://fofa.info/result?qbase64=dGl0bGU9IuS4iua1t%2BS6pOmAmuWkp%2BWtpiIgJiYgY291bnRyeT0iQ04i'
s=requests.get(url,headers=header).text
soup = BeautifulSoup(s, 'lxml')
#获取页数
edu1=soup.find_all('p',attrs={'class': 'hsxa-nav-font-size'})
for edu in edu1:edu_name = edu.span.get_text()i=int(edu_name)/10yeshu=int(i)+1print(yeshu)for ye in range(1,yeshu+1):url = 'https://fofa.info/result?qbase64=dGl0bGU9IuS4iua1t%2BS6pOmAmuWkp%2BWtpiIgJiYgY291bnRyeT0iQ04i&page='+str(ye)+'&page_size=10'print(url)s = requests.get(url, headers=header).textedu1=soup.find_all('span',attrs={'class': 'hsxa-host'})for edu in edu1:edu_name = edu.a.get_text().strip()print(edu_name)

3、使用Goby新建扫描任务,导入收集到的URL目标,批量扫描漏洞

三、 使用FOFA查询接口批量查询收集URL

Python代码实现:

import requests
import base64#https://fofa.info/api/v1/search/all?email=your_email&key=your_key&qbase64=dGl0bGU9ImJpbmcidef get_fofa_data(email,apikey):for eduname in open('eduname.txt',encoding='utf-8'):e=eduname.strip()search='"%s" && country="CN" && title=="Error 404--Not Found"'%eb=base64.b64encode(search.encode('utf-8'))b=b.decode('utf-8')url='https://fofa.info/api/v1/search/all?email=%s&key=%s&qbase64=%s'%(email,apikey,b)s=requests.get(url).json()print('查询->'+eduname)print(url)if s['size'] != 0:print(eduname+'有数据啦!')for ip in s['results']:print(ip[0])else:print('没有数据')if __name__ == '__main__':email='471656814@qq.com'   #自己fofa账号apikey='0fccc926c6d0c4922cbdc620659b9a42' #fofa个人中心的apikeyget_fofa_data(email,apikey)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450413.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 8 下载

https://mirrors.bfsu.edu.cn/centos/8-stream/isos/x86_64/ 下载地址&#xff1a; https://mirrors.bfsu.edu.cn/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso

【第二十二课】最短路:多源最短路floyd算法(acwing-852 spfa判断是否存在负环 / acwing-854 / c++代码)

目录 acwing-852 代码如下 一些解释 acwing-854 foyld算法思想 代码如下 一些解释 acwing-852 在spfa求最短路的算法基础上进行修改。 代码如下 #include<iostream> #include<cstring> #include<algorithm> #include<queue> using names…

适用于 Windows 7/8/10/11电脑的 12 款顶级数据恢复软件

很多时候&#xff0c;我们在 Windows 7 /8/10/11下不小心按了删除键&#xff0c;从而丢失了硬盘或 USB 驱动器中的重要文件和数据。在某些情况下&#xff0c;病毒或软件错误可能会损坏您的硬盘&#xff0c;从而影响您的文件。在这种情况下&#xff0c;您迫切需要一款适用于 Win…

坚持刷题|二叉树的前、中、后序遍历(递归迭代)

文章目录 题目思考递归实现迭代实现前序遍历后序遍历中序遍历 在前、中、后序的迭代遍历中&#xff0c;为什么都采用栈来模拟递归&#xff0c;而非队列&#xff1f; Hello&#xff0c;大家好&#xff0c;我是阿月。坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷&…

030 可变参数

可变参数定义 public static void main(String[] args) {// 多参数方式传递System.out.println(max(1,3,5,3,6,1,2));// 数组方式传递System.out.println(max(new int[]{1,3,5,3,6,1,2})); }static int max(int... nums){int max Integer.MIN_VALUE;for (int num : nums) {if(…

redis布隆过滤器(Bloom)详细使用教程

文章目录 布隆过滤器1. 原理2. 结构和操作3. 特点和应用场景4. 缺点和注意事项 应用-redis插件布隆过滤器使用详细过程安装以及配置springboot项目使用redis布隆过滤器下面是布隆过滤器的一些基础命令 扩展 布隆过滤器 Bloom 过滤器是一种概率型数据结构&#xff0c;用于快速判…

echarts step line

https://ppchart.com/#/ <template><div class"c-box" ref"jsEchart"></div> </template><script> import * as $echarts from echarts // 事件处理函数 export default {props: {// 需要传递的数据data: {type: Array,defa…

SSL 证书如何工作?

SSL 的原理是确保用户和网站之间或两个系统之间传输的任何数据始终无法被读取。它使用加密算法对传输中的数据进行加密&#xff0c;从而防止黑客读取通过连接发送的数据。该数据包括潜在的敏感信息&#xff0c;例如姓名、地址、信用卡号或其他财务详细信息。 该过程如下所示&am…

ElementUI Data:Table 表格

ElementUI安装与使用指南 Table 表格 点击下载learnelementuispringboot项目源码 效果图 el-table.vue&#xff08;Table表格&#xff09;页面效果图 项目里el-table.vue代码 <script> export default {name: el_table,data() {return {tableData: [{dat…

向日葵案例解析:无外网接入,医疗设备如何进行远程售后运维

随着医学科学以及生物工程技术的高速发展&#xff0c;医院对于高端医疗设备如MR、CT、B超等高科技成像设备和放射治疗设备的需求激增。医学影像检查作为一种重要的手段&#xff0c;在许多疾病确诊过程中发挥着至关重要的作用。检查结果正确与否&#xff0c;直接影响临床医生对疾…

Emmet语法

一&#xff0c;emmet语法快速生成HTML标签 二&#xff0c;emmet语法快速生成CSS样式 简写 三&#xff0c;快速格式化代码 右键选择格式化文档。

Docker进阶篇-Docker网络

一、描述 1、docker不启动&#xff0c;默认网络情况 查看网卡情况使用&#xff0c;ifconfig或者ip addr ens33&#xff1a;本机网卡 lo&#xff1a;本机回环网络网卡 virbr0:在CentoS 7的安装过程中如果有选择相关虚拟化的的服务安装系统后&#xff0c;启动网卡时会发现 …