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')。
 
在目标上跑一遍。能够实现。
 
 修改命令即可。
 
 










![LeetCode[684]冗余连接](https://img-blog.csdnimg.cn/img_convert/c02bdcf7bcf2441196d3e09029eb0f3c.png)








