实战黑盒找上传接口

admin 2021年11月18日08:02:56安全文章评论80 views937字阅读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

实战黑盒找上传接口



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

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月18日08:02:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  实战黑盒找上传接口 http://cn-sec.com/archives/638366.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: