Github 监控
便于收集整理最新 exp 或 poc
便于发现相关测试目标的资产
—exp:“漏洞利用”,意思是一段对漏洞如何利用的详细说明或者一个演示的漏洞攻击代码,可以使得读者完全了解漏洞的机理以及利用的方法。
—poc:“观点证明”,漏洞报告中的POC则是一段说明或者一个攻击的样例,使得读者能够确认这个漏洞是真实存在的。
代码如下:
import requests
import json
import time
import urllib3
import os
import pandas as pd
time_sleep = 20 # 每隔20秒爬取一次
while(True):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"}
# 判断文件是否存在
datas = []
response1 = None
response2 = None
if os.path.exists("olddata.csv"):
# 如果文件存在则每次爬取10个
df = pd.read_csv("olddata.csv", header=None)
# 将提取出来的数据中的nan转化为None
datas = df.where(df.notnull(), None).values.tolist()
requests.packages.urllib3.disable_warnings()
response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE-2021&sort=updated&per_page=10",
headers=headers, verify=False)
response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10",
headers=headers, verify=False)
else:
# 不存在爬取全部
datas = []
requests.packages.urllib3.disable_warnings()
response1 = requests.get(
url="https://api.github.com/search/repositories?q=CVE-2021&sort=updated&order=desc", headers=headers, verify=False)
response2 = requests.get(
url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc", headers=headers, verify=False)
data1 = json.loads(response1.text)
data2 = json.loads(response2.text)
for j in [data1["items"], data2["items"]]:
for i in j:
s = {"name": i['name'], "html": i['html_url'],
"description": i['description']}
s1 = [i['name'], i['html_url'], i['description']]
if s1 not in datas:
# print(s1)
# print(datas)
params = {
"text": s["name"],
"desp": " 链接:"+str(s["html"])+"\n简介"+str(s["description"])
}
print("当前推送为"+str(s)+"\n")
print(params)
requests.packages.urllib3.disable_warnings()
requests.get("https://sctapi.ftqq.com/xxxxxxxxxxxxx().send",
params=params, timeout=10, verify=False)
time.sleep(1) # 以防推送太猛
print("推送完成!")
datas.append(s1)
else:
pass
print("数据已存在!")
pd.DataFrame(datas).to_csv("olddata.csv", header=None, index=None)
time.sleep(time_sleep)
各种子域名查询
DNS,备案,证书
某些网站可以通过某个网站备案信息能关联查询出这个人注册过哪些用户、网站。也可以通过ip反查域名相关网站查找这个ip的相关网址
全球节点请求 cdn
枚举爆破或解析子域名对应
便于发现管理员相关的注册信息
黑暗引擎相关搜索
fofa,shodan,zoomeye
微信公众号接口获取
通过微信公众号的推文或者在线下单等或者其他应用获取到相关网站,之后慢慢爬到具有攻击点的网站,收集这些网站然后进行渗透攻击。
全球节点请求 cdn
枚举爆破或解析子域名对应
便于发现管理员相关的注册信息
黑暗引擎相关搜索
fofa,shodan,zoomeye
微信公众号接口获取
通过微信公众号的推文或者在线下单等或者其他应用获取到相关网站,之后慢慢爬到具有攻击点的网站,收集这些网站然后进行渗透攻击。