Vulnhub 靶场 DIGITALWORLD.LOCAL: SNAKEOIL

前期准备

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

kali攻击机ip:192.168.147.190

靶机ip:192.168.147.200

一、信息收集

1.nmap扫描



开启22、80、8080端口。

2.80端口



看不出来什么,直接扫描目录。



还是啥也没。

3.8080端口



发现useful links有个网址。



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



发现一些新目录,访问一下看看



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

/registration 页面下:



提示错误的方法。

抓包换下请求方法试试。



修改完之后重新发包。



说 username 字段不能为空,那就加上 username 字段再发一遍。



又提示 password 字段不能为空,再加上 password 字段发一遍。



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



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

/create 页面:



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

/run 页面:



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



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

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



POST 方式不行,再换成 GET :



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



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



再次提交 cookie:



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



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



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



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

二、制作ssh私钥登录

制作ssh私钥并复制到桌面,开启http服务。



访问下载。



查看有无上传成功。



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



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



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



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



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



切换成root用户。

最新文章

  1. CSharpGL(38)带初始数据创建Vertex Buffer Object的情形汇总
  2. cf727e
  3. spring boot 拦截器
  4. (转载)Flash Number 数据类型
  5. [HttpException (0x80004005): Failed to Execute URL.]之画蛇添足之痛
  6. 【转】Android中BindService方式使用的理解
  7. Centos6.5源码编译安装nginx
  8. Objective-C 链式编程思想
  9. 老李推荐:第8章1节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行环境初始化
  10. iFace Chain [ 爱妃链 ] 或将凭借人脸密钥技术成为安全领域最大的赢家
  11. MyBatis学习总结_Mybatis查询之resultMap和resultType区别
  12. java.net.NoRouteToHostException:Cannot assign requ
  13. JS中var声明与function声明两种函数声明方式的区别
  14. Spring自动扫描无法扫描jar包中bean的解决方法(转)
  15. 【译】第13节---数据注解-Required
  16. learn python the hard way 习题18~25总结
  17. protected: C++ access control works on per-class basis, not on per-object basis
  18. [整理]document.execCommand()
  19. Android N(API level 24.)废弃了Html.fromHtml(String)
  20. Python3 格式化输出 %s & %d 等

热门文章

  1. JavaScript之异步编程
  2. python链接数据库
  3. lg8936题解
  4. Prometheus学习笔记之设置存储时间为30天不生效
  5. vue 清空element表单数据
  6. VUE学习-列表渲染
  7. IIS 安装AspNetCoreModule托管模块
  8. Mac技术服务, 感谢 点赞打赏
  9. mac + win ,用python一行代码批量下载哔哩哔哩视频
  10. win10安装双版本mysql的方法