【Python】Fofa&SRC

  • 关于选择器
  • 总体函数
  • 教育网漏洞ip收集

关于选择器


xpath方法://开头,紧跟div标签,其属性[@class=“re-domain”]。再紧跟其下的a标签,再找属性为target="_blank"

xpath定位方法详解

但并不推荐自己写xpath选择表达式,推荐鼠标copy表达式。
如下图在一个CSDN的网站的测试:

  • 鼠标右键需要选取的内容,检测前端代码
  • 对整个代码,鼠标右键,copy,可以copy selector和xpath,自由选择,获取到整个标签。
//*[@id="floor-www-index_558"]/div/div[2]/div[1]/div[1]/div[2]/div[1]/div[2]/div/div[3]/a[1]

然后根据CSS selector的参考文档,选取标签内自己需要的属性值:CSS Selector Reference

#https://fofa.so/result?qbase64=ImdsYXNzZmlzaCIgJiYgcG9ydD0iNDg0OCI%3D
search_data='"glassfish"&&port="4848"'
for yeshu in range(1,11):url='http://fofa.so/result?page'+str(yeshu)+'&qbase64='    search_data_bs=str(base64.b64encode(search_data.encode("utf-8")),"utf-8")urls=url+search_data_bsprint(urls)result=requests.get(urls).contentprint(result.decode('utf-8'))soup=etree.HTML(result)ip_data=soup.xpath('//div[@class="re-domain"] /a[@target="_blank"]/@href')ipdata='\n'.join(ip_data)//返回的是一个列表对象,通过join方法,分隔。with open(r'ip.txt','a+') as f:print(ip_data)

获取登录状态的cookie,包装到headers里面,再进行爬取数据。

import base64
import requests
import time
headers={'cookie':'fofapro_ars_session=xxxx',
}
search_data='"glassfish"&&port="4848"&&country="CN"'
for yeshu in range(1,11):url='https://fofa.so/result?page='+str(yeshu)+'&qbase64='search_data_bs=str(base64.b64encode(search_data.encode("utf-8")),"utf-8")urls=url+search_data_bsprint("正在提取第"+str(yeshu)+"页")result=requests.get(urls,headers=headers,timeout=0.5).content#延迟请求,这里不行的话在with open最后添加print(result.decode('utf-8'))try:soup=etree.HTML(result)ip_data=soup.xpath('//div[@class="re-domain"] /a[@target="_blank"]/@href')ipdata='\n'.join(ip_data)#返回的是一个列表对象,通过join方法,分隔。with open(r'ip.txt','a+') as f:f.write(ipdata+'\n')f.close()print(ip_data)#time.sleep(0.5)except Exception as e:pass

写的代码遇到报错了就用try

import requests
import time
payload_linux=''
payload_windows=''
for ip in open('ip.txt'):ip=ip.replace('\n','')windows_url=ip+payload_windowslinux_url=ip+payload_linux#print(windows_url)#print(linux_url)try:vuln_code_l=requests.get(linux_url).status_codevuln_code_w=requests.get(windows_url).status_codeprint("check->"+ip)if vuln_code_l==200 or vuln_code_w==200:with open(r'vuln.txt','a+') as f:f.write(ip)f.write('\r\n')f.close()time.sleep(0.5)except Exception as e:pass

总体函数

def fofa_search(search_data,page+1):headers={'cookie':'fofapro_ars_session=xxxx',
}
#search_data='"glassfish"&&port="4848"&&country="CN"'for yeshu in range(1,page):url='https://fofa.so/result?page='+str(yeshu)+'&qbase64='search_data_bs=str(base64.b64encode(search_data.encode("utf-8")),"utf-8")urls=url+search_data_bsprint("正在提取第"+str(yeshu)+"页")result=requests.get(urls,headers=headers,timeout=0.5).content#延迟请求,这里不行的话在with open最后添加print(result.decode('utf-8'))try:soup=etree.HTML(result)ip_data=soup.xpath('//div[@class="re-domain"] /a[@target="_blank"]/@href')ipdata='\n'.join(ip_data)#返回的是一个列表对象,通过join方法,分隔。with open(r'ip.txt','a+') as f:f.write(ipdata+'\n')f.close()print(ip_data)#time.sleep(0.5)except Exception as e:pass
def check_vuln():payload_linux=''payload_windows=''for ip in open('ip.txt'):ip=ip.replace('\n','')windows_url=ip+payload_windowslinux_url=ip+payload_linux#print(windows_url)#print(linux_url)try:vuln_code_l=requests.get(linux_url).status_codevuln_code_w=requests.get(windows_url).status_codeprint("check->"+ip)if vuln_code_l==200 or vuln_code_w==200:with open(r'C:\\xxx\\vuln.txt','a+') as f:f.write(ip)f.write('\r\n')f.close()time.sleep(0.5)except Exception as e:pass
if _name_=='_main_':search=sys.argv[1]page=sys.argv[2]fofa_search(search,int(page))

教育网漏洞ip收集

https://src.sjtu.edu.cn/

import requests
from lxml import etree
def src_tiqu(yeshu):for i in range(1,int(yeshu)):url='https://src.sjtu.edu.cn/list/?page='+str(i)print("提取->",str(i)+"页数")data=requests.get(url).contentprint(data.decode('utf-8'))#分析完代码后,xpath查找soup=etree.HTML(data)result=soup.xpath('//td[@class=""]/a/text()')results='\n'.join(result)#分隔单元resultss=results.split()#去空 print(resultss)for edu in resultss:with open(r'src_edu.txt','a+',encoding='utf-8') as f:f.write(edu+'\n')f.close()
if __name__=='__main__':yeshu=input("您要查询几页:")src_tiqu(yeshu)

【Python】FofaSRC相关推荐

  1. 【python】图像映射:单应性变换与图像扭曲

    [python]图像映射:单应性变换与图像扭曲 单应性变换(Homography) 图像扭曲(仿射变换) 图中图 分段仿射扭曲 单应性变换(Homography) 单应性变换(Homography)即 ...

  2. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  3. 【python】 OSError:sift not found 问题解决

    [python] OSError: XXXX.sift not found 问题解决 在python环境下通过sift描述子对图像进行特征匹配时出现错误(心累):mpire.sift not foun ...

  4. 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了

    [Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客-CSDN博客 [Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客 ...

  5. 【Python】将字典(dict)转化为Dataframe

    [Python]将字典(dict)转化为Dataframe_张欣的博客-CSDN博客_python字典转dataframe dictory = {'a':1,'b':2} df = pd.DataFr ...

  6. 【Python】Numpy扩充数组函数之repeat和tile用法

    2019独角兽企业重金招聘Python工程师标准>>> [Python]Numpy扩充数组函数之repeat和tile用法,有需要的朋友可以参考下. 用repeat和tile扩充数组 ...

  7. 11210怎么等于24_【Python】鸡兔同笼怎么“妙解”?

    上一节: <<[python] 学了编程.我写的第二个游戏...>> 鸡兔同笼,是中国古代著名典型趣题之一,记载于<孙子算经>之中.鸡兔同笼问题,是小学奥数的常见题 ...

  8. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

    [Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 参考文章: (1)[Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 ( ...

  9. 【python】-- try except (异常捕获)、断言

    [python]-- try except (异常捕获).断言 参考文章: (1)[python]-- try except (异常捕获).断言 (2)https://www.cnblogs.com/ ...

最新文章

  1. 小型职工工作量c语言,计算机c语言职工工作量统计系统.doc
  2. 学考语言成绩c对高考有影响吗_学考成绩会影响高考录取吗?2021年广东高中学考...
  3. wcf寄宿iis7是的 500错误
  4. 加mp4文件后js失效_Jquery方法load之后导致js失效解决方法
  5. MySQL获取每个分类下面的前三条数据
  6. python中multiple函数_关于多处理:在Python中将多个参数传递给pool.map()函数
  7. 统一沟通_边缘安装及配置之十七_(Windows Server 2008 R2 SP1英文版)
  8. C语言课后习题(39)
  9. 使用U盘驱动器安装Linux,使用U盘安装Ubuntu的详细图文教程
  10. centos7.4装mysql_CentOS7.4用yum安装并配置MySQL5.7
  11. Python使用C++动态库的方法
  12. int main ( int argc, char** argv )的说明
  13. matlab中如何实现开关可调频率,如何设计利用数字控制的电压可调开关电源
  14. 英文科技论文写作与学术报告Lecture 4习题答案
  15. wamp mysql 远程访问_wamp远程登录配置步骤
  16. Mathorcup数学建模竞赛第五届-【妈妈杯】A题:城市相邻两交叉口信号配时优化(附一等奖获奖论文和matlab代码实现)
  17. html创建电子邮件链接教程
  18. Understand Selections in D3
  19. 900页数学论文证明旋转的黑洞不会爆炸,丘成桐:30多年来广义相对论首次重大突破...
  20. 传奇更新服务器信息,传奇服务端自动更新boss刷新信息的脚本

热门文章

  1. 1398: 平均学分绩点(函数专题)
  2. android 解锁
  3. EDK II 源码剖析---USB协议之EHCI(例子)一
  4. 手把手带你玩转情人节网站推广
  5. 编译原理(3)算符优先语法分析程序设计(Python实现)
  6. 苹果 android专利费,苹果或收每部Android手机10美元专利费
  7. EZEMC测试软件_emc仿真软件下载-emc仿真软件(测试电磁兼容性) 15.0.1 中文免费版[百度网盘资源] - 河东下载站...
  8. EasyRecovery16MAC苹果版本Photo最新版数据恢复软件
  9. 计算机毕业设计开题报告基于ssm maven健身房俱乐部管理系统
  10. xml文件写入mysql数据库_将XML文件插入到数据库