网站备案几年备案一次吗,陕西省住房城乡建设厅网站管理中心,w3c网站模板,下载网站站开发引言
分享一些文件上传绕过的思路#xff0c;下文内容多包含实战图片#xff0c;所以打码会非常严重#xff0c;可多看文字表达#xff1b;本文仅用于交流学习#xff0c; 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失#xff0c;均由使用者本人…引言
分享一些文件上传绕过的思路下文内容多包含实战图片所以打码会非常严重可多看文字表达本文仅用于交流学习 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失均由使用者本人负责文章作者不为此承担任何责任。
案例一
一次项目渗透时通过往 png 后缀随便加个字符可知该上传点为白名单上传正常情况下无法绕过 通过观察接口信息发现接口名字为 UploadImg猜测该接口用于图片上传按照开发的习惯保不准会存在 temp、test这类的接口随后通过 fuzz 找到存在的上传接口file但此时的接口file上传文件仍旧存在限制需要绕过。 由于黑名单限制不够严谨经过多个伪后缀尝试发现.cer 后缀可绕过限制并被解析 然后就 getshell 进内网后面的操作就不多说了。 很多师傅看到白名单上传就会认为这个上传点足够安全无法绕过但其实不然在存在多个上传接口的情况下或许会存在没做限制或者限制不严格的上传点也不一定关键的是我们要如何发现这些接口在此类接口存在限制时如何去进行绕过下面再举一个和接口绕过相关的例子。 【一所有资源获取一】 1、200 份很多已经买不到的绝版电子书 2、30G 安全大厂内部的视频资料 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包 7、应急响应笔记 8、网络安全学习路线 案例二
upload_2018.php 接口白名单上传在正常情况下改变后缀会导致上传失败如下 再进一步测试时发现存在多个上传接口删除_2018 使用 upload 接口进行文件上传可导致任意文件上传 进一步传 shell 时发现存在 waf某讯云)需进一步绕过。 通过寻找域名真实 IP使用真实 IP 进行文件上传绕过 waf 限制为防止有心人这里直接把 IP 给打码盖住了以防万一。 很多时候有一些开发为了便捷性在部署上传接口时限制不够严谨或压根没做限制这导致一旦被绕过限制传 shell都会导致非常严重的后果当然我们可以找一些 temp、test 这类上传接口因为此类接口多数是开发过程中用作测试的这种接口几乎都是无限上传文件类型的同样的我们也可以找一些 api 文档进行上传接口的发现这或许会有惊喜也说不定
案例三
这是一个把图片转 base64 的文件上传类型具体绕过如下 通过抓包发现图片是以 base64 进行上传的观察了下数据包发现可通过更改 upload_0 字段内容上传任意文件 访问 HTML 页面成功被解析可进一步上传 shell 获取权限。 一句话 shell 上传后发现无法执行命令之后通过上传 PHPinfo 发现其存在 disable_functions利用某斯拉绕过限制getshell #案例四 一个关于 nginx 解析漏洞的利用这个漏洞是很久之前挖到的这种漏洞现在应该不会存在了单单是 waf 都能栏掉这个就作为思考开拓说一下 一次外网打点时发现了目标的一个核心系统通过踩点发现了某上传功能但上传接口存在白名单限制且无其它的上传接口由于这个站的 shell 比较重要必须拿到之后通过漏洞挖掘发现目标存在 nginx 解析漏洞结合图片上传点成功获取到了内网据点。 其它场景 总结
有些时候文件上传成功后端没有返回路径只回显了一个 id 号这时候如果目标存在注入的话我们尝试可以用 sqlmap 的--search 参数或者 SQLshell 对返回的 ID 号进行搜索这样说不定就能找到 shell 地址了之前在关于Swagger-UI下的渗透实战 23也说过感兴趣的可以去看看也有文件上传成功却只回显一个文件名的在前不久的一次攻防就遇到这种情况后来是用了 fuzz 找到了完整的 shell 路径另外在某些时候上传文件可以跨目录那么我们可以通过../进行跨目录上传运气好的话或许会在几个../后把 shell 传到域名的根目录下如果当前上传文件夹无执行权限那么跨目录上传 shell 也是个不错的思路另外如果上传目录可控可上传文件到任意目录的话在 linux 场景我们可上传一个 ssh 秘钥用于远程登录极端一点的话可考虑上传 passwd、shadow 文件覆盖系统用户但前提是权限要足够大。 如果不能跨目录站点又没有注入的话那么我们可以尝试寻找网站日志文件例如泛微 E-COLOGY 日志的日志像这种日志文件是有规律可循的可以用 burp 进行日志爆破或许在日志文件中能找到 shell 路径也说不定。 再者就是文件包含和文件读取了文件读取的话可以通过读取日志和配置文件来发现 shell 地址但是成功率太低了至于文件包含除了靶场和 ctf实战还没碰过。 还有一个关于 burp 的使用技巧这是真实遇到的上传 shell 后没有回显路径但是通过 http history 搜索 shell 的名字发现了完整的 shell 路径因为传上去的文件如图片这类的总归是显示出来的这时候可以先在 web 应用到处点点多加载一些数据包然后再到 http history 搜索 shell 的名字或许会有惊喜也说不定。 某些时候上传黑名单不严谨那么我们可用伪后缀进行绕过其它多的就不说了大概思路就这样当绕过限制拿到 shell 时总会给我带来乐趣或许这就是我喜欢渗透的原因。