fofa 搜索结果提取技术分析

脚本语言:python2.7

白嫖与付费

付费肯定有更好的服务,但是就是喜欢薅羊毛的快乐。能付费尽量付费吧,如果你付费了这个脚本使用起来更安逸。

非api原因

根据网站vip功能介绍,可以看到“注册用户”和“普通会员”使用api都是亏本买卖,如果想用api就开svip才最安逸

Fofa与BeautifulSoup

Fofa的搜索语法

返回头              header=”200″

国家                   country=”CN”

页面内容         body=”phpweb”

网页头              title=”公司”

端口                   port=”443″

网站年份         after=”2020-01-01″

BeautifulSoup

注:一般搭建好网站不会轻易更改网页标签类型,所以使用标签提取比正则匹配能让脚本“活得更久”

定位网页标签

         soup.find(name="input", attrs={"id": "total_entries"})
         soup.find_all(name="div", attrs={"class": "list_mod"})

获取标签值

         yourdiv.attrs['value']

获取ul内的li值

执行搜索操作

打开fofa官网https://fofa.so/,搜索热门关键字,可以看到url请求为

https://fofa.so/result?qbase64=xxx

其中qbase64的值就是搜索字符串“base64编码+url编码”的结果,这里需要注意中文问题,需要将中文先gbk解码,再用base64库编码(我本机是gbk编码,所以输入的中文也是gbk编码,如果你的机器是utf-8编码就改为utf-8,没测)

code = key.decode()
 code = urllib.quote(base64.b64encode(code))

这里遇到个问题一直没整明白,上面那种方式可以成功,但是下面这种使用方式却失败了,如果有人知道原因请留言或私信给我。

code = urllib.quote(base64.b64encode(key.decode('gbk')))

代码

获取页面搜索结果

使用浏览器自带调试功能查看html框架,可以看到我们搜索结果都在“<div>”标签下,每一个“<divclass=”list_mod”>”标签是一条信息

一个list_mod标签包含一个目标的全部信息

代码,其中divs就是全部目标列表

定位单条目标信息

选取单个目标的标签点开分析,可以看到标签有list_mod_t和list_mod_c两个子标签

而元素a就是可以直接跳转的链接,从这里提取到目标的url或者IP

而目标下面的介绍其实是一个ul列表,这部分信息也比较重要,所以我也提取了

代码

其中列表信息没做详细分类提取,也没有把他写入到文件,内存里长这样

关于URL存活状态

在单个目标的右边有他的响应码,我是根据这个来确定的存活,当然你也可以自己请求一下提取的URL来判断存活,如果只需要200的网站就在查询时使用header=”200″;代码中获取的是右侧整个字符串,大家根据需要自行修改代码就行

代码

翻页问题

我们知道目标总数除以10后加1就是页数,所以要提取目标总数,依旧是根据网页标签定位提取数据

代码如下

知道总页数怎么翻页呢?

通过api规则知道请求中的page参数决定当前页面(或者看网页【下一页】的链接),测试中发现有请求频率限制,做下防封延时就行

代码如下

网站cookie

Fofa现在登陆需要进行验证了,无法直接用户名密码登陆,所以我使用的cookie验证身份。

自定义数据输出

在按页获取函数中修改数据处理方式,解除注册会员限制

脚本中是将链接追加到指定txt文件中,其它信息只是获取了,并没有输出

脚本使用

使用命令参数输入关键字和cookie,会输出总数,提示每页有多少条存活,其他信息输出自行修改脚本

注意titile、app等使用方法,如果网页搜索栏是这样的

app=”BEA-WebLogic-Server”

那么命令行这样输入

“app=\”BEA-WebLogic-Server\”"

输出总数和网页搜索总数一致(没有带国家参数)

Hreffile.txt内容

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值