0
点赞
收藏
分享

微信扫一扫

代码审计-靠网速的上传

夕颜合欢落 2022-03-13 阅读 33
安全c#

本文章仅用于渗透交流学习,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任 

看到源码目录下有个名叫TESTuploadspeed的文件,打开看了一下,找到继承的dll文件进行反编译

 查看源码发现这个上传没有进行任何限制,而且也没有进行cookie校验,按理说直接构造好上传的post包是可以直接获取webshell的

接下来根据源码的值构造上传包

提示SUCCESS,说明已经上传成功了

然后我去我虚拟机看了一下上传的那个目录发现并没有东西。(再说了,如果能直接上传,我怎么会写这个文章呢,这么水的文章我怎么会发呢)

 

什么原因呢,然后我又看了一下源码,终于知道原因了,

 

上传成功之后有个File.Delete(),这不纯纯大傻瓜吗,传上去再删掉,这耍猴呢?

然后我为了测试是不是文件落地了,我用burp的repeater模块疯狂点击send,别问我为什么不用intruder模块,问就是练手速,实践证明了我的手速是可以的,在我疯狂的点击下看到了我上传的马子在目录下面一闪而过

 

这有点类似于CTF那种文件上传的条件竞争,接下来可以上传一个写文件的马,访问一下自动在当前目录写入一个webshell,本地测试确实是可以的

我这里直接写入了一个aspx的cmd马,然后利用burp,一个发包上传,一个执行命令

 

 

成功访问到了上传的文件,并且执行命令也成功了,中间有一些状态码是500的,这个应该是我们在访问文件的时候,因为发包太快,还没有执行命令下一个包就写入了,导致文件被占用

 

这里再加一下小知识点,就是有些系统在访问这种动态脚本文件的时候,如果不在根目录下,不登陆的情况下可能会跳转登录页,一般的绕过方法就是利用../跳到根目录,但是如果没法跳目录,可以试一下把文件名改为index.***,login.***,如果配置文件写了这两个文件名,一般都可以直接访问,我这套系统就是上传的名为login.aspx,之前碰到一个java的站,也是改了个login.jsp不登陆就可以访问到了

 

最后回归中心思想,就是我们的标题“靠网速的上传”,我在测试真实环境中,可以说是burp爆着爆着就不动了,网速不行,这个洞就白搭了

 

 

举报

相关推荐

0 条评论