2021-12-14 17:14阅读: 384评论: 0推荐: 0

Vulnhub 靶场 DIGITALWORLD.LOCAL: SNAKEOIL

前期准备:

靶机地址:https://www.vulnhub.com/entry/digitalworldlocal-snakeoil,738/

kali攻击机ip:192.168.11.129
靶机ip:192.168.11.192

一、信息收集

1.使用nmap对目标靶机进行扫描

image

发现开放了 22、80和8080端口。

2. 80端口

image

没发现什么,扫一下目录:

image

什么也没有。

3. 8080端口

image

查看一下网站内的信息,发现在 Useful Links 里有个网址:

image

是一些配置信息,,扫一下目录:

image

发现了一些新的页面,查看一下:

/users 页面下:

image

发现用户名和加密过的密码。

/registration 页面下:

image

说请求方法错了,抓包改下请求方式:

image

image

说 username 字段不能为空,那就加上 username 字段:

image

又提示 password 字段不能为空,再加上 password 字段:

image

说注册成功了,那就在 /login 页面登陆一下,要加上用户名和密码:

image

再访问一些别的页面(现在是在登陆状态中):

/create 页面:

image

无法了解请求,大概是传入什么东西。

/run 页面:

image

说要以 url:port 形式提供要请求的 URL:

image

记得格式要换成 Content-Type: application/json, 在ajax中,如果没加contentType:"application/json",那么data就对应的是json对象;反之,如果加了contentType:"application/json",那么ajax发送的就是字符串。

现在又说需要 secret key ,访问一下 /secret 页面:

image

POST 方式不行,再换成 GET :

image

还是不行,那就再加上之前返回的 cookie:

image

发现还是不行,想起来之前发现过一些配置信息,从中找到了 cookie 的名称:

image

再次提交 cookie:

image

得到 "secret_key": "commandexecutionissecret",再在 /run 里面提交:

image

得到了返回信息,像是系统的进程信息,尝试一些别的指令:

image

image

发现可以注入,尝试往其中写入 shell:

image

发现不行,找了找python,nc等都不行,那试试能不能上传个 .ssh 私钥文件然后 ssh 登录。

二、制作ssh私钥登录

首先先制作 ssh 私钥:

image

开启 http 服务,把私钥文件传到靶机上:

image

image

查看一下有没有上传成功:

image

时间上没问题,上传成功了,把 authorized_keys 文件移到 /home/patrick/.ssh/ 目录下:

image

查看一下 .ssh 目录下有没有:

image

发现已经有了,验证一下内容:

image

没问题,那就直接 ssh 登录:

image

三、提权

登陆成功,看一下权限:

image

发现可以以 root 身份执行任意命令

image

不过需要 patrick 的密码,找找系统中的文件,看有没有线索,最后在 ~/flask_blog/app.py 文件中找到了:

image

切换 root 账户:

image

image

完成。

posted @   sainet  阅读(384)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起