IIS短文件名称POC检测

使用方法

安装python环境

执行此文件 python  [命名].py -u http://baidu.com

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   IIS-ShortName-PoC.py
@tell    :   用于安全人员检测系统是否存在该漏洞,切勿用于非法用途
"""
import argparse
import re
import requestsfrom urllib.parse import urlparserequests.packages.urllib3.disable_warnings()class Scanner(object):def __init__(self, url: str):self.url = urlself.iis_version = Noneself._url_scheme = ''self._url_netloc = ''self._url_path = ''def is_vulnerable(self) -> bool:self._parse_url()if not self._url_scheme or not self._url_netloc:print('[!]ERROR: Can Not get parse target url.')self._get_iis_version()if not self.iis_version:print('[!]ERROR: Can Not get IIS version from http headers.')return Falsevalid_url = ''.join([self._url_scheme, '://',self._url_netloc, '/*~1*/a.aspx'])invalid_url = ''.join([self._url_scheme, '://',self._url_netloc, '/invalid*~1*/a.aspx'])try:self.valid_resp_get = requests.get(url=valid_url, verify=False, timeout=10)self.valid_resp_options = requests.options(url=valid_url, verify=False, timeout=10)self.invalid_resp_get = requests.get(url=invalid_url, verify=False, timeout=10)self.invalid_resp_options = requests.options(url=invalid_url, verify=False, timeout=10)except Exception as err:print(f'[!]ERROR: HTTP Connection EROOR. {err}')return Falseif self.valid_resp_get.status_code == 404 and self.invalid_resp_get.status_code != 404:return Trueelif self.valid_resp_options.status_code == 404 and self.invalid_resp_options.status_code != 404:return Trueelse:return Falsedef _get_iis_version(self):try:resp = requests.get(url=self.url, verify=False, timeout=15)except Exception as err:print(f'[!]ERROR: HTTP Connection EROOR. {err}')returnmatch_obj = re.search('Microsoft-IIS/([0-9].?\.[0-9]?)', str(resp.headers), re.IGNORECASE)if not match_obj:returnself.iis_version = match_obj[1]def _parse_url(self):parse_res = urlparse(self.url)self._url_scheme = parse_res[0]self._url_netloc = parse_res[1]self._url_path = parse_res[2]def main():arg_parser = argparse.ArgumentParser()arg_parser.add_argument('-u','--url', help='The URL of the target.', action='store')args = arg_parser.parse_args()if not args.url:arg_parser.print_help()returnscanner = Scanner(url=args.url)if scanner.is_vulnerable():print('[*]INFO: Target is vulnerable.')print('[*]INFO: <HTTP GET> URL:{} HTTP STATUS CODE:{}'.format(scanner.valid_resp_get.request.url, scanner.valid_resp_get.status_code))print('[*]INFO: <HTTP GET> URL:{} HTTP STATUS CODE:{}'.format(scanner.invalid_resp_get.request.url, scanner.invalid_resp_get.status_code))print('[*]INFO: <HTTP OPTIONS> URL:{} HTTP STATUS CODE:{}'.format(scanner.valid_resp_options.request.url, scanner.valid_resp_options.status_code))print('[*]INFO: <HTTP OPTIONS> URL:{} HTTP STATUS CODE:{}'.format(scanner.invalid_resp_options.request.url, scanner.invalid_resp_options.status_code))else:print('[*]INFO: Target is NOT vulnerable.')if __name__ == '__main__':main()

结果根据不同接口请求类型,返回值响应200或者404即存在漏洞

 解决措施

比较简单、自行百度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246209.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断 目录 分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断分类效果基本介绍程序设计参考资料 分类效果 基本介绍 分类预测 | Matlab实现OOA-LSSVM鱼…

生物化学基础1 : 蛋白质

生物化学基础1 : 蛋白质 /***************************************************/ /***************************************************/ /***************************************************/ /***************************************************/ /**************…

background-image: linear-gradient 属性hover动画

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wid…

中霖教育:2024年注册会计师考试

2024年注册会计师考试报名时间已经将于四月份结束&#xff0c;还未开始考试&#xff0c;没有报名的考生可以准备明年的考试。 报名时间&#xff1a;4月8日-4月30日 考试时间&#xff1a;8月23日-8月25日 报名条件&#xff1a;具有专科以上学历&#xff0c;或者具有会计或者相…

docker的/var/run/docker.sock参数 作用是什么

-v /var/run/docker.sock:/var/run/docker.sock 的作用是什么 在工作中常见的容器 都要加上这个参数 -v /var/run/docker.sock:/var/run/docker.sock 其实这是容器跟docker 进程之间通信用的。 如果你的容器需要操作 docker 的资源&#xff0c;那么这个参数必须要有的。 /va…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥导出(ArkTS)】

密钥导出(ArkTS) 业务需要获取持久化存储的非对称密钥的公钥时使用&#xff0c;当前支持ECC/RSA/ED25519/X25519的公钥导出。 开发步骤 指定密钥别名keyAlias&#xff0c;密钥别名最大长度为64字节。调用接口[exportKeyItem]&#xff0c;传入参数keyAlias和options。 option…

使用ChatGPT完成论文写作全流程提示词分享!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 &#xff0c;直接上干货&#xff1a; 1. 文献综述 1.1. 主题聚焦&#xff1a;“我正在写关于[主题]的文献综述&#xff0c;请帮我找到相关的研究。” 1.2. 研究趋势&#xff1a;“请分…

leetcode94. 二叉树的中序遍历,递归法+迭代法。附带前序遍历方法

leetcode94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; …

OpenMv画面畸变

OpenMv画面畸变 在OpenMV中&#xff0c;img.lens_corr函数用于进行镜头畸变校正。镜头畸变是指在图像捕捉过程中&#xff0c;由于镜头本身的光学特性&#xff0c;会使得图像出现变形。 img.lens_corr函数可以对这些畸变进行校正&#xff0c;使图像恢复到较为自然的状态。该函数…

c++入门----类与对象(上)

大家好啊&#xff0c;好久没有更新了。因为本人的愚笨&#xff0c;想与大家分享的话肯定还得自己明白了才能给大家分享吧。所以这几天都在内部消化。好给大家优质的文章。当然我写的肯定还是很有问题的&#xff0c;希望大家可以在评论区里面指出来。好&#xff0c;废话不多说&a…

揭秘物联网“心脏“:智能控制器的无限可能

在飞速发展的物联网时代&#xff0c;我们身边的智能设备越来越多&#xff0c;从智能家居到工业自动化&#xff0c;从智能交通到智慧城市&#xff0c;这些设备的背后&#xff0c;都离不开一个至关重要的“心脏”——物联网智能控制器。那么&#xff0c;这个神秘的控制器究竟有何…

django踩坑(四):终端输入脚本可正常执行,而加入crontab中无任何输出

使用crontab执行python脚本时&#xff0c;有时会遇到脚本无法执行的问题。这是因为crontab在执行任务时使用的环境变量与我们在终端中使用的环境变量不同。具体来说&#xff0c;crontab使用的环境变量是非交互式(non-interactive)环境变量&#xff0c;而终端则使用交互式(inter…

Unresolved reference: button2

书籍 《第一行代码 Android》第三版 开发环境 Android Studio Jellyfish | 2023.3.1 问题 在学习《第一行代码 Android》第三版的3.3.5 返回数据给上一个Activity章节时, 在SecondActivity中给按钮注册点击事件时出现问题"Unresolved reference: button2",如下图…

[集成学习]基于python的Stacking分类模型的客户购买意愿分类预测

1 导入必要的库 import pandas as pd import numpy as np import missingno as msno import matplotlib.pyplot as plt from matplotlib import rcParams import seaborn as sns from sklearn.metrics import roc_curve, auc from sklearn.linear_model import LogisticRegres…

【SpringBoot配置文件application.yaml】笔记

详细内容见官方文档Common Application Properties 使用application.yaml进行简单配置 第一步&#xff1a;创建WebDemo第二步&#xff1a;创建application.yaml配置文件注意&#xff1a; 第三步&#xff1a;验证自己创建的yaml文件是否生效测试&#xff1a;思考&#xff1a;如…

【STM32嵌入式系统设计与开发---拓展】——1_9_1上拉输入和下拉输入

在使用GPIO引脚时&#xff0c;上拉输入和下拉输入的选择取决于外部电路的特性和应用需求。以下是它们各自的应用场景&#xff1a; 1、上拉输入&#xff08;Pull-up Input&#xff09; 用途: 当默认状态需要为高电平时。 避免引脚悬空&#xff08;floating&#xff09;导致的…

逆向学习思路链接分享

学好逆向先学C 然后我们需要学习好 编码问题CTF常见编码及加解密&#xff08;超全&#xff09; - ruoli-s - 博客园 (cnblogs.com) 并且规划好学习路线 CTF逆向Reverse入门学习路线&#xff08;面向小白&#xff09;_逆向reverse 思路-CSDN博客 并且安好反编译的环境 x64d…

微信保存的图片很模糊,用这个软件,秒变高清图!

我们有时从微信下载下来的图片就是很模糊&#xff0c;重新加载也一样&#xff0c;不知道什么原因。那么有什么好的解决图片模糊的办法吗&#xff1f; 微信保存的图片很模糊&#xff0c;用这个软件&#xff0c;秒变高清图&#xff01; 或者是写一个东西&#xff0c;需要配图&am…

在项目服务器部署git 并实现自动提交

以下场景适合在服务器当中使用git 方便提交代码&#xff0c;同时不需要外部的git仓库&#xff08;码云gitee或者github作为管理平台&#xff09;。依靠服务器本身ssh 连接协议做为git提交的地址&#xff0c;同时利用钩子自动同步项目代码 首先下载git sudo apt update sudo a…

什么是 EDI 电子数据交换? EDI 有哪些优势?EDI 解决方案 以及行业应用

什么是EDI电子数据交换&#xff1f; EDl电子数据交换(Electronic Data |nterchange)是指按照同一规定的一套通用标准格式&#xff0c;将标准的数据信息通过通信网络传输&#xff0c;在贸易伙伴的电子计算机系统之间进行数据交换和自动处理。简单来说&#xff0c;EDI是将贸易、…