需要进行人工验证,以返回200为例,为了测试方便整理下,需要输入http://url/回车即可输出结果:
import urllib3,json
#生成manager实例,一个manager实例可以同时处理多个请求
url=input("请输入需要验证未授权的网址:")
http=urllib3.PoolManager()
url_list=["_nodes","actuator/env","autoconfig","nacos/v1/auth/users/?pageNo=1&pageSize=9","druid/index.html",
"cluster","manage","solr/admin"]
url_instruct=["Elasticsearch未授权访问","SpringBoot Actuator未授权访问","SpringBoot Actuator未授权访问","nacos身份绕过漏洞","druid未授权访问",
"Hadoop YARN未授权访问","Jenkins未授权访问","Solr未授权访问"]
#验证地址,返回状态码函数
def no_auth(url):
r=http.request('GET',url)
#解码二进制字符,获取网页内容
res=r.data.decode()
#获取状态码
r_code=r.status
return r_code
for i in range(len(url_list)):
if no_auth(url+url_list[i])==200:
print("此网址存在"+url_instruct[i]+"受影响url:"+url+url_list[i])