前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件上传实战总结

文件上传实战总结

作者头像
字节脉搏实验室
发布2020-03-20 11:20:44
6460
发布2020-03-20 11:20:44
举报

很多初学者,拿到一个上传点,不知道应该怎么快速的去判断它的绕过方式。这就导致我们大量的时间浪费在了这里,到最后才发现这个地方其实绕不过去或者说自己压根做不出来。

现在我来做一个总结,如果有说的不好的地方还请大佬们放过我。

注:以下内容有任何不明白的地方请看我前两期文章

字节脉搏社区~~>>https://ityo.cn/399.html

https://ityo.cn/561.html

方式一:

先直接传个php上去,看看能不能行(如果是实战,请传对应的马)

【实战中我们其实应该先传一个正常的图片上去,看看有木有返回存储地址】

如果能够直接上传并且解析php,我想如果是我,我会乐开花。大多数时候是不能直接上传上去的。接着我们往下继续说

方式二:

我们上传一个shell,然后修改一下

Content-Type:image/jpeg

看看能不能绕过,如果还不行,我们可以在上传内容里面添加GIF89a

当然,上传上去你还得看看,这个文件能不能被解析为php。所有上传都得考虑能不能被解析的问题

下图是我实战中拿到的一个站点

当然这里没有返回我们需要的url,但是我们可以查看正常上传的图片,复制图片的url

方式三:

我们上传一个未知的后缀名文件上去 例如:abc.abcd

这里可能大家都好奇为什么这样干,目的是啥?

这里我们的目的主要是判断一下这个上传点到底是白名单限制还是黑名单限制

如果说是黑名单限制,那么就好办了

  • 我们可以考虑大小写绕过,双写绕过,空格绕过,php2 php3 php4 php5 pht phtm phtml等方式

这里的方式可能大家都知道,如果依旧不能绕过

  • 我们继续上传一个.htaccess

.htaccess文件能够设置服务器解析文件的格式 比如 设置 匹配到ddd 就用php的格式来解析

代码语言:javascript
复制
<FilesMatch "11.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

如果能够上传,我们上传一个11.jpg的图片马,即可成功

注:如若不知道怎么使用它,请点击上面链接,看我上两篇文章

  • 如果说.htaccess不能上传,接下来我们上传一个.user.ini

代码语言:javascript
复制
auto_prepend_file=11.jpg

如果能够上传成功,我们上传一个11.jpg的图片马,即可成功

方式四:

如果是白名单限制上传

  • 我们就得考虑%00截断上传,但是截断上传还是很难遇见的,除非打CTF的时候,或者是特别新运能在实战中看到。
  • 文件包含漏洞+图片马
  • 文件包含漏洞+二次渲染+图片马

方式五:

这里是最容易被大家忽略的地方,因为我们很多时候没有去注意我们上传的东西是不是马上被移除或者删除

如果说我们上传的东西成功上传,但是访问的时候访问不到,这时候我们就得考虑条件竞争

如果以上方式都不能让你上传成功,可以考虑有没有逻辑绕过的思路。

再次强调,如果文中有何不懂的技术点,请看我的前两篇文章

https://ityo.cn/399.html

https://ityo.cn/561.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档