故事的开始,是一个老套的任意文件下载漏洞
发现这个漏洞,自然要利用起来,读读文件
一看这个的dbconn.asp,就是跟数据库连接有关的,于是读取一下:
连接密码啥的没直接写,不过略微思考就能想到:不写在这个文件里面,那就是写在了web.config里面了。然而直接读取根目录的web.config并没有,一番寻找之后发现在admin/web.config里面。。。
可惜不能直接连,扫了下端口发现就开了80。
继续寻找
然而不能用,fckeditor目录下所有asp文件都不能执行。
这下也没别的办法了,只能找找上传点。
于是我根据目录扫描的结果继续读取后台的文件:
可以看到这个菜单文件,里面没有直接写出后台各个部分的路径。
试试直接访问:
找到源码中对应的部分,发现直接访问也获取不到,估计是没登陆的缘故(后面拿到账户密码证实了这一点)。
没有办法,扫目录没什么进展,而且直接读文件没有找到上传的地方或者其他可利用的点,卡在这里卡了好一会
峰回路转
再看上上张图里面的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:
原文地址:https://xz.aliyun.com/t/7837
热文推荐