对某PHP手机网站的一次安全检测
2008-12-25 13:43:55 来源:WEB开发网核心提示: 图8到这里大家是不是会有一些喜悦,root拥有数据库控制的最高权限,对某PHP手机网站的一次安全检测(4),也就是说我们能够成功的希望很大,当然你也可以查看MYSQL的版本等等,想换掉单引号应该有两种方法,一种是用CHAR()、另一种就是转换成16进制,虽然知道了用户名但是没有密码是没有用
图8
到这里大家是不是会有一些喜悦,root拥有数据库控制的最高权限,也就是说我们能够成功的希望很大,当然你也可以查看MYSQL的版本等等。
虽然知道了用户名但是没有密码是没有用的,如何得到密码那,这又是一个难题。不过不知道大家想没想到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进制,于是开始构造提交字符。
[]
更多精彩
赞助商链接