实战黑盒找上传接口

admin 2021年11月18日08:02:56评论95 views字数 937阅读3分7秒阅读模式

发了太多代码学习的文章,学的掉头发,来点轻松的。

实战中我们经常面对这么一个情况,除了一个登录页面啥都没有,不用php或者jsp的动态脚本,全接口形式,没法扫描,无从下手。

但全接口也有全接口的坏处,那就是全接口的网站,往往将所有接口暴露在登录界面的js之中,可能存在越权问题。

实战黑盒找上传接口

即使没有,在java中很容易存在/imges/..;/api/xxxx形式的越权,比如shiro,weblogic都存在过类似的越权问题。

如果这也没有,后台可能存在权限分层,user/admin/superadmin,当他们复用一个接口时,这个接口也可能偷懒不去鉴权。在公司内部白盒测试中,经常发现这种接口。其中最常见的就是upload。


火狐中按F12——调试器——Ctrl+Shift+F 所有文件中查找——/upload

实战黑盒找上传接口

实战黑盒找上传接口

如图,发现了/file/upload,直接访问报404

实战黑盒找上传接口

根据前面发现的/api/login接口,访问/api/file/upload,报405

实战黑盒找上传接口

用个简单的upload POC上传一张图片,这里name=file需要猜测

<html><body><form action="https://xxx/api/file/upload" method="post" enctype="multipart/form-data"><input type="file" name="file" id="file" /><input type="submit" name="submit" value="Submit" /></form></body></html>

实战黑盒找上传接口

发现报错,此为springboot需要的Content-Type不一致导致的报错,根据之前/api/login用json格式发送,我们也手动发送一个简单的json数据。

实战黑盒找上传接口

提示base64为空,加上base64参数

实战黑盒找上传接口

成功上传,不过可惜的是没有后缀概念,直接以fileid传输,并且下载时固定以图片解析,因此无法利用。


这个虽然失败了,但也有成功案例

实战黑盒找上传接口

发现/api/xxx/uploadCover接口,POC直接上传文件报错,name应该为cover,这个其实在js中也能找出来。

实战黑盒找上传接口

修改后再次上传成功getshell

实战黑盒找上传接口



原文始发于微信公众号(珂技知识分享):实战黑盒找上传接口

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月18日08:02:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战黑盒找上传接口https://cn-sec.com/archives/638366.html

发表评论

匿名网友 填写信息