HTB-BountyHunter
Posted 永远是深夜有多好。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTB-BountyHunter相关的知识,希望对你有一定的参考价值。
HTB-BountyHunter
信息收集
80端口的网页如下。
注意有一个db.php,虽然现在打不开,估计后面会用上。
还有resources里面的readme文件。
- 完成了tracker提交编写和developer组权限。
- 没有完成portal的test用户禁用、选择哈希加密的密码以及禁用空密码。
- 并没有将tracker提交脚本连接上数据库。
进入portal门户界面,没test用户的用武之地,只有一个提交漏洞的简易脚本。
查看源码知道使用的脚本。
用的xml。
抓包看看。末尾有两个%3D也就是两个等号。
先进行url解码,再base64解码。完成后能看到xml格式代码。
试试简单的XXE。
能够读取/etc/passwd。
再去看看db.php。
还是没有显示。
使用php://filter试试。
得到了数据库登录凭证。
开机
存在db密码和用户密码重用,使用 development:m19RoAU0hP41A1sTsq6K
登录ssh。
提权
来看看这个py文件是个什么功能。
main函数用来获取输入的路径,并且给load_file函数。
load_file函数用来判断是否为md后缀名。
检测函数有四个if,
第一个if检查读取文件第一行是不是# Skytrain Inc
。
第二个if检查读取文件第二行是不是## Ticket to
,然后将## Ticket to
后面的东西打印出来。
第三个if检查第三行是不是__Ticket Code:__
,是的话行数加一跳到第四行。
第四个if检查第四行是否为**
开头;并且还要有一个+号,+号之前的东西会被用来取模,余数还要是4;接着执行**
后面的东西,执行结果还要大于100。
前三行直接复制,第四行 11模7余4后满足条件,加上100满足大于100条件。
试试推测是否正确。
好的,下一步就是让eval执行命令。因为eval不能直接执行系统命令,所以需要应用os模块。
使用动态加载模块__import__('os').system('id')
。
在目标上跑一遍。能够实现。
修改命令即可。
以上是关于HTB-BountyHunter的主要内容,如果未能解决你的问题,请参考以下文章