当前位置: 首页 > ops >正文

ASP.NET Web Forms框架识别

ASP.NET 支持三种不同的开发模式:
Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体):
Web Pages
单页面模式
MVC
模型-视图-控制器
Web Forms
事件驱动模式

最简单的 ASP.NET 模式。

与 PHP 和经典 ASP 相似。

内置了数据库、视频、图形、社交媒体等模板和帮助器。

MVC 将 Web 应用程序分成 3 个不同的组成部分:

模型负责数据
视图负责显示
控制器负责输入

传统的 ASP.NET 事件驱动开发模式:

带有服务器控件、服务器事件和服务器代码的网页。

ASP.NET 文件扩展名

Web Pages 框架的文件后缀是 .cshtml 、.vbhtml

Web Forms 框架的文件后缀是 .asp、.aspx、.ashx

MVC 框架是直接访问路由接口例如 /Login/index

ihoneyBin.py脚本输出的结果有其他架构的,我们可以通过 Web Forms 框架的文件后缀是 .asp、.aspx、.ashx来筛选 Web Forms 架构的

bande_aspxfind.py代码

import requests
import argparse
from urllib.parse import urlparse
from bs4 import BeautifulSoup
from requests.packages import urllib3banner = r"""()JL||LJ_,--"""""""---.,'               `./                   \J                     LF                     LJ                      J|                      J___L______________        J/,---------------. "".     J
JJ   /     \/      |  J     J
LL  J      J       |   L    J
JJ  J #    J #     |   L    |\\__`.___,_`.____,'   F    |""-.---------....___/     ||_T--+---+--.,._       ||--|----\---\-`.     ||__|____J___J_ F     F_|__|____|___|_/      L|                      L|____________________M-K
"""
print(banner)
# 禁用SSL警告
urllib3.disable_warnings()def parse_args():"""解析命令行参数"""parser = argparse.ArgumentParser(description='ASP.NET Web Forms检测工具(只输出URL)')parser.add_argument("-u", "--url", required=True, help="要检测的目标网站URL")parser.add_argument("-c", "--cookie", help="网站cookie(可选)")return parser.parse_args()def is_webforms(url, cookie=None):"""检测目标网站是否使用ASP.NET Web Forms框架"""headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}if cookie:headers["Cookie"] = cookietry:response = requests.get(url, headers=headers, timeout=10, verify=False)response.encoding = response.apparent_encodinghtml_content = response.textparsed_url = urlparse(url)path = parsed_url.path.lower()# 检查文件扩展名if any(ext in path for ext in ['.aspx', '.ascx', '.ashx']):return Truesoup = BeautifulSoup(html_content, 'html.parser')# 检查ViewStateif soup.find('input', {'id': '__VIEWSTATE'}):return True# 检查其他Web Forms特有元素webforms_elements = ['__EVENTTARGET', '__EVENTARGUMENT', '__EVENTVALIDATION', '__PREVIOUSPAGE']for element in webforms_elements:if soup.find('input', {'id': element}):return True# 检查表单action属性for form in soup.find_all('form'):if form.get('action', '').lower().endswith('.aspx'):return Truereturn Falseexcept:return Falseif __name__ == "__main__":args = parse_args()target_url = args.urlif not target_url.startswith(('http://', 'https://')):target_url = 'http://' + target_urlif is_webforms(target_url, args.cookie):print(target_url)

 

脚本会自动去处理 ihoneyBin.py 工具输出的 result.txt 文件里的url地址,然后去识别是 Web Forms 框架的

运行状态

http://www.xdnf.cn/news/9126.html

相关文章:

  • 【论文精读】2024 arXiv --VEnhancer现实世界视频超分辨率(RealWorld VSR)
  • 【数据结构】——二叉树堆(下)
  • Windows系统下 NVM 安装 Node.js 及版本切换实战指南
  • 什么是 WPF 技术?什么是 WPF 样式?下载、安装、配置、基本语法简介教程
  • 云效流水线Flow使用记录
  • 论文阅读笔记——Step1X-Edit: A Practical Framework for General Image Editing
  • Oracle 正则表达式匹配(Oracle 11g)
  • Rockey Linux 安装ffmpeg
  • 抖音不获取位置会显示ip属地吗?全面解析
  • AWS EC2 实例告警的创建与删除
  • some面试题2
  • 15.进程间通信(一)
  • Linux 527 重定向 2>1 rsync定时同步(未完)
  • python打卡day38
  • Django【应用 02】第一个Django应用开发流程图
  • WPF【11_1】WPF实战-重构与美化(Entity Framework)
  • 分布式常见概念
  • 25.5.27学习总结
  • pod创建和控制
  • day38 python Dataset和Dataloader
  • OpenCV CUDA模块图像处理------颜色空间处理之GPU 上交换图像的通道顺序函数swapChannels()
  • Wan2.1 图生视频模型内部协作流程
  • 02.【Qt开发】Qt Creator介绍及新建项目流程
  • Python打卡 DAY 38
  • 华为高斯数据库(GaussDB)深度解析:国产分布式数据库的旗舰之作
  • 局域协作中的前端调试:WebDebugX 在本地多端调试中的实践
  • CPU服务器的主要功能有哪些?
  • 高防CDN如何解决网站访问卡顿与崩溃问题?
  • VUE npm ERR! code ERESOLVE, npm ERR! ERESOLVE could not resolve, 错误有效解决
  • 鸿蒙仓颉开发语言实战教程:自定义组件