记一次挖公益SRC通过laravel配置不当进数据库

admin 2022年12月7日00:59:27评论65 views字数 2276阅读7分35秒阅读模式

扫码领资料

获黑客教程

免费&进群

记一次挖公益SRC通过laravel配置不当进数据库
记一次挖公益SRC通过laravel配置不当进数据库


前几天在各种安全网站上闲逛,看到有大佬挖公益src实在太强了,也想着我好久没挖了,就去fofa上逛了逛找目标,试了几个弱口令就进了一个后台。

(漏洞已上交至漏洞平台并得分,所做的一切修改也已恢复原样)

文件上传失败

弱口令进去之后肯定尝试最方便快捷的文件上传

找到一个上传点

记一次挖公益SRC通过laravel配置不当进数据库

直接上传jpg后缀的php一句话,但是返回500,返回包提示要jpg,png,gif等文件才能上传,此处为白名单限制。

记一次挖公益SRC通过laravel配置不当进数据库

白名单绕过有三种方法:(1)配合web容器的解析漏洞:(2)%00 截断上传绕过(3)文件头内容检测绕过

这里正常上传文件名后缀及文件类型都会报错,问题显然出现在文件内容上。

当白名单限制了文件头时,我们就要给我们的文件制造可以通过检测的文件头即可:

.jpg Value = FF D8 FF E0.gif Value = 47 49 46 38 ==> GIF89a.png Value = 89 50 4E 47.html Value = 68 74 6D 6C 3E 10.xml Value = 3C 3F 78 6D 6CGIF89a <?php phpinfo(); ?>

此处换上gif的文件头时,返回包提示变了,说无法从文件中解码图像,似乎是需要正确解码才能正常上传。

记一次挖公益SRC通过laravel配置不当进数据库

此处我正常上传一个图片,上传成功,更改一下后缀名为php,也成功,但是返回的路径却是jpg的文件,似乎后缀没影响到文件名的形成。

记一次挖公益SRC通过laravel配置不当进数据库

这里不由的想到图片马,如果后缀可以为jsp、php等,但是内容必须为图片,那么可以用图片马来进行getshell。

但是此处上传的文件名后缀无法左右上传成功的文件名的形成,最后还是会被强制更名为jpeg。此站的中间件nginx为1.16.1,应该可以利用解析漏洞。可配合解析漏洞以php来解析。上传成功返回路径访问时在最后加上xx.php,解析漏洞会让其以php来解析

上传后能正常访问

记一次挖公益SRC通过laravel配置不当进数据库

利用解析漏洞时让其以php解析文件时,却显示拒绝访问,初步判断应该是设置了web用户没权限访问除了本身就有的文件外的php文件,那就没法儿了。

记一次挖公益SRC通过laravel配置不当进数据库

另一个上传点,这个Ueditor要是.net的站也有任意文件上传漏洞,这里是php的,上传试一下


记一次挖公益SRC通过laravel配置不当进数据库

记一次挖公益SRC通过laravel配置不当进数据库

成功!和刚才不一样,返回了php文件的地址!先访问一下,凉凉

记一次挖公益SRC通过laravel配置不当进数据库

把状态码的Unicode编码解码一下

记一次挖公益SRC通过laravel配置不当进数据库

好家伙,类型不允许,还返回一个地址,逗我玩呢。

继续上传一个后缀为jpg的一句话,故技重施,果然还是不行。

记一次挖公益SRC通过laravel配置不当进数据库

此处就文件上传而言陷入了僵局,跑去找朋友聊了聊,把数据包也发他让他试试,他本能的先访问文件上传的那个url,打开还截图问我这是啥,它是一个报错页面,(当时他不太了解这个洞,我也是在之前没事就观摩大佬们写的报告里学到的漏洞,现在遇到了就觉得有点眼熟)仔细一瞧,结果直接爆出一个惊喜。

laravel框架配置不当导致敏感数据泄露

laravel框架因配置不当会泄露MySQL,Redis,Elastic,Mongodb,neo4j,postgresql,SQLServer,Oracle,Firebird,sqlite,mail账号密码和APP_KEY等敏感信息。

此处因为他没有登录就访问这个需要登录的url,所以报错,触发了laravel的debug模式。

查了些资料,此漏洞的检测方法也很简单,只要发现目标是laravel框架的,不管三七二十一,先测一波。

在登录页面抓包(其他页面也行,只要报错就行)修改其HTTP方法,比如把GET换为PUT,POST,触发debug模式就行。

http://X.X.X.X/admin/upload_img/article_cover

记一次挖公益SRC通过laravel配置不当进数据库

通过泄露的mysql账号密码能成功连接数据库(此站我是直接通过ip访问的,所以连接不需要去找真实IP,如果不知道真实ip,或者3306没开启,亦或者连接地址不出网都没法连接数据库)

记一次挖公益SRC通过laravel配置不当进数据库

拿到MySQL账号密码后,本来想写webshell的,但是secure_file_priv为指定目录,没法直接写。用写日志的方法写的shell也是像之前那样没法儿用web用户访问到。

这里请一位大佬帮忙看了下,他说:我试了一下可以把日志文件修改成它本身就有的文件,这样就有权限访问,只是只能找有完整php声明的文件,因为它追加时会有一些信息导致语法错误报错,目前没找到合适的文件追加,所以没成。

总结

Shell虽然没拿到,但laravel框架配置不当的危害很大,在我后续的测试中,发现大量laravel框架的网站存在此漏洞,可以通过泄露的各种信息getshell,这文章拖了很久,就是再做后续测试,后续我会再出针对此漏洞更进一步的公益SRC漏洞挖掘的文章。

作者:clearyy(freebuf)转载自:https://www.freebuf.com/articles/web/341855.html

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

@

学习更多渗透技能!体验靶场实战练习

记一次挖公益SRC通过laravel配置不当进数据库

hack视频资料及工具

记一次挖公益SRC通过laravel配置不当进数据库

(部分展示)


往期推荐

【精选】SRC快速入门+上分小秘籍+实战指南

爬取免费代理,拥有自己的代理池

漏洞挖掘|密码找回中的套路

渗透测试岗位面试题(重点:渗透思路)

漏洞挖掘 | 通用型漏洞挖掘思路技巧

干货|列了几种均能过安全狗的方法!

一名大学生的黑客成长史到入狱的自述

攻防演练|红队手段之将蓝队逼到关站!

巧用FOFA挖到你的第一个漏洞


看到这里了,点个“赞”、“再看”吧

原文始发于微信公众号(白帽子左一):记一次挖公益SRC通过laravel配置不当进数据库

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月7日00:59:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次挖公益SRC通过laravel配置不当进数据库http://cn-sec.com/archives/1448041.html

发表评论

匿名网友 填写信息