会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 aspx漏洞!
当前位置:首页 > 探索 > aspx漏洞 正文

aspx漏洞

时间:2026-10-17 06:30:31 来源:烟消火灭网 作者:焦点 阅读:927次

前年帮一个朋友看他公司内网,漏洞我在一个老旧的漏洞报销系统登录页输入了个单引号,页面直接甩回来一段黄底红字的漏洞ASP.NET报错堆栈。数据库连接字符串、漏洞表名、漏洞甚至sa账户的漏洞密码提示问题都躺在那里。那台服务器上跑的漏洞就是aspx。

aspx本身不是漏洞漏洞。它是漏洞微软.NET框架里的一种动态网页技术,文件后缀就是漏洞.aspx。问题出在写这些页面的漏洞人身上。很多人以为.NET自带的漏洞安全机制能兜住一切,结果连最基本的漏洞参数化查询都懒得写。

我见过最离谱的漏洞一个案例,某区级政务系统,漏洞查询接口直接拼接SQL。URL里加个';EXEC xp_cmdshell 'whoami'--,服务器直接告诉你它跑在NT AUTHORITY\SYSTEM下。xp_cmdshell默认是关的,但架不住有人手动打开过。那个系统后来被扫站工具批量扫到,挂了整整两天才有人处理。

ViewState不是保险箱

ASP.NET WebForms有个标志性的东西叫ViewState,页面里那个__VIEWSTATE隐藏字段。它默认只是Base64编码,不是加密。有人觉得用户看不到就安全了,实际上解码后就是明文。更麻烦的是,如果MachineKey配置泄露或者用了默认值,攻击者可以伪造ViewState,直接构造恶意序列化数据。2020年那波ViewState反序列化漏洞,不少老系统中招,就是因为MachineKey写死在web.config里,还传到了GitHub上。

我试过对一个存在漏洞的站点构造ViewState payload,用ysoserial.net生成恶意对象,替换掉原来的__VIEWSTATE值,发过去之后服务器直接执行了命令。整个过程不需要登录,不需要任何认证。那个站点用的是.NET 4.0,补丁停留在2015年。

文件上传和解析

aspx的文件上传漏洞跟php的还不太一样。php那边经常是解析漏洞,比如shell.php.jpg被当成php执行。aspx这边更多是上传后直接访问。有些系统只在前端用JavaScript校验扩展名,后端收到文件直接存到web目录。你把shell.aspx传上去,浏览器访问一下,就是webshell。

还有一种情况是上传路径可控。比如上传接口返回的JSON里带了存储路径,你把路径改成../../,文件就落到别的地方去了。配合IIS的短文件名猜解,有时候能直接覆盖web.config。

反序列化才是重灾区

.NET的反序列化问题比Java那边隐蔽得多。BinaryFormatter、LosFormatter、ObjectStateFormatter,这些类在aspx页面里被大量使用。ViewState就是ObjectStateFormatter的典型应用。很多开发者不知道,接收用户可控的序列化数据本身就是危险的。

我印象很深的是一个CMS,它的某个ashx处理程序用来做数据导入,接收Base64编码的序列化对象。我用ysoserial.net生成了一个TypeConfuseDelegate链的payload,编码后发过去,服务器弹了个计算器。当时是在客户现场演示,他们技术负责人脸都绿了。

怎么防

参数化查询是底线,别拼SQL。ViewState开MAC校验,MachineKey别用默认的,更别提交到代码仓库。文件上传做白名单,存到web目录外面,用单独的处理程序读取。反序列化能不用就不用,非要用就上类型白名单。

还有一点,别在web.config里写customErrors="Off"。那个黄页报错信息对攻击者来说就是地图。我见过一个站点,报错页直接把数据库连接字符串里的密码显示出来了,连猜都不用猜。

aspx漏洞归根结底是人的问题。框架给了工具,用不用、怎么用,全看写代码的那个人。我见过用.NET 2.0写得滴水不漏的系统,也见过用.NET 6写得千疮百孔的项目。版本不背这个锅。

(责任编辑:综合)

相关内容
  • 一个网站
  • 泰州李晓飞案件
  • 漏洞违法
  • 阿里云服务器使用教程
  • 开源组件漏洞检测工具
  • 杭州土工膜价格
  • sqlserver在线测试
  • 义乌人才网官方网站
推荐内容
  • 广西南宁防雷检测公司有哪些
  • 国外无版权视频网站
  • 典型的b2c网站有哪些
  • 河北拿下企业需要做碳排放cnas
  • 如何搜集网店中的客户信息
  • 原创视频素材