一次任意文件下载引发的渗透

2020-06-04 约 59 字 预计阅读 1 分钟

声明:本文 【一次任意文件下载引发的渗透】 由作者 dazhige 于 2020-06-04 09:57:46 首发 先知社区 曾经 浏览数 192 次

感谢 dazhige 的辛苦付出!

起因

故事的开始,是一个老套的任意文件下载漏洞

发现这个漏洞,自然要利用起来,读读文件

一看这个的dbconn.asp,就是跟数据库连接有关的,于是读取一下:

连接密码啥的没直接写,不过略微思考就能想到:不写在这个文件里面,那就是写在了web.config里面了。然而直接读取根目录的web.config并没有,一番寻找之后发现在admin/web.config里面。。。

可惜不能直接连,扫了下端口发现就开了80。

继续寻找

没办法,读了几个文件发现这个系统参数都做了sql过滤,看了下过滤得还挺细,大概是将关键字像单引号、select啥的直接替换掉,想绕估计得找黑名单之外的关键字进行代替,有些麻烦,暂时先放这。
扫目录发现了fckeditor:

然而不能用,fckeditor目录下所有asp文件都不能执行。

这下也没别的办法了,只能找找上传点。
于是我根据目录扫描的结果继续读取后台的文件:

可以看到这个菜单文件,里面没有直接写出后台各个部分的路径。
试试直接访问:

找到源码中对应的部分,发现直接访问也获取不到,估计是没登陆的缘故(后面拿到账户密码证实了这一点)。
没有办法,扫目录没什么进展,而且直接读文件没有找到上传的地方或者其他可利用的点,卡在这里卡了好一会

峰回路转

经过一番仔细地观察,我发现扫admin子目录的时候,有个report目录,直接访问是403的:

再看上上张图里面的html源代码,正好有个#report超链接。因此,可以大胆的猜测,会有/board、/sys这些与menu.asp这个菜单文件中的菜单同名的目录。
测试发现确实如此:

因为前台的/board目录有附件,所以后台对应应该有上传,于是去猜测/admin/board/这个目录下的文件,最后找到个news.asp,于是读取一下:

根据源码,一路跟踪到news_edit2.asp这个文件才发现上传表单,但是需要登陆:

终于突破

又迷茫了好一阵。。。
没办法继续找,常规的思维告诉我们,后台的系统设置什么的可能存在上传,比如上传logo什么的,于是我又跑去猜admin/sys目录下的文件:

好家伙,有个upload.asp(前面居然没扫出来。。。),访问:

然而难受的是点击上传之后会跳转到登陆。。。
就当我以为gg的时候,看了眼burp,发现是上传成功了,然后跳转的:

于是开始针对这个上传点,不过直接上传是不行的:

没关系,我们可以读源码:

好家伙,后缀控制得很死。
然而文件名可以钻空子,让我们看看文件名的构成:

ufp = upload.form("schyy")&upload.form("exid")&upload.form("idno") & upload.form("extend") &"."&upfilename(ubound(upfilename))

前面三个参数都是我们可控的,这样我们直接进行在前三个参数进行截断就行了:

这里我还跳转了一下目录,跳到上面一层去了,因为默认的那个目录,不管访问啥都是403:

好家伙,终于拿到了shell:

关键词:[‘渗透测试’, ‘渗透测试’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now