【HTB】Popcorn(上传限制绕过漏洞,内核提权)

信息收集

先查看开启了什么样的服务:


image.png

发现开了80端口,打开看看


image.png

爆破网站目录,收集网站信息:


image.png

test页面打印了phpinfo的信息,知道了php版本,各种配置文件路径,网站根目录,以及其他一些敏感信息。

image.png

攻击阶段

进一步在打开那个torrent的文件夹,发现是一个bt种子上传后台,那无疑接下来的渗透都是在这个后台下进行的


image.png

浏览了一下网站,有注册模块,登录模块,还有上传模块,注册了一个账号,点击upload模块,尝试绕过上传限制:

这里尝试了好几种绕过上传的方法,发现好像都没办法绕过去,感觉进了一个死胡同。。。
于是上传了一个真实的BT文件,观察一下后台:


image.png

在上传文件信息页面可以上传编辑torrent文件的截图,此时发现第二个上传点,看说明只允许jpg, jpeg, gif, png. 等图片文件


image.png

如果只是在content-type上做了限制,那则非常容易绕过。用burpsuite截断了上传请求,修改content-type为image/jpeg,成功上传!
image.png

在upload文件夹验证可以打开执行上传的php文件,于是用msf生成一个php后门:

image.png

上传到目标服务器,网页上执行php后门文件,成功拿到webshell


image.png

提权

检查权限,只是一个很小的web权限:


image.png

这是没有办法拿到flag的,必须提升到root权限,查看内核版本:


image.png

根据提示,在msf搜索对应内核版本的提权脚本:
image.png

在这里我做了很多很多很多很多的尝试,都失败了。

最后用15704.c这个脚本成功提权...


image.png
image.png

最后拿flag:


image.png

总结

这部机子做的还是磕磕绊绊,在信息收集的时候还有好些发现,比如又继续爆破了torrent文件夹里的目录:


image.png

这些文件我一个个都点了进去看,其中在readme文件里发现了账号管理员的默认登录密码


image.png

但是试了一下,应该被改掉了。
然后在database这个文件夹里,发现了有项目创建时的原始sql语句
image.png

打开来看可以清楚知道后台的数据库名,数据库表,各个表的字段


image.png

在torrent文件信息页面,我无聊尝试sql注入的时候,页面回显了sql报错信息,这个就很可能有sql注入漏洞。


image.png

然后用sqlmap验证了一下,果然是存在sql注入的


image.png

我昨晚发现了有sql注入以后大概搞到凌晨三点,因为国内接入HTB的机器有很大的延时,这就非常坑爹,注入结果要一个个去猜解,耗时巨大。后来发现出来的admin账号的密码网上的md5解密要搞好几天才能解出来,于是放弃。想拉mysql的密码,报没有权限(我就不一一截图了),想拿os-shell的时候也没有文件写入权限。所以sql注入这条路好像就走不通了。。当然也可能是我个人水平的原因,我昨晚实在太困,就放下了,也许其他大神有更好的方法吧。但是也有可能sql注入只是机器作者放出来扰乱攻击者视线的。。

感受

1,不能执着于一个攻击点,不要在一棵树上吊死。
2,无论是攻击还是提权,要不断尝试枚举。
3,信息掌握的越多,可以使用的方法就越多。无论是前期信息收集,中期漏洞攻击,还是后期系统提权。(还是要多学习哈)

你可能感兴趣的:(【HTB】Popcorn(上传限制绕过漏洞,内核提权))