微软在最近的CanSec West 发布了一个开源的WinDBG 插件 !exploitable Crash Analyzer (MSEC.dll),该插件主要用于分析程序崩溃和引起崩溃的程序bug是否可以被漏洞利用之间存在关联,同时,还可以便于微软确认漏洞的唯一性。

MSEC 开源项目的主页: http://msecdbg.codeplex.com/ 上有该插件的下载。 解压之后,把  MSEC.dll 放到 WinDBG 安装目录的的 winext 子目录下。

这个工具的价值和用处我就不加评论了,相关链接我汇聚了一下:

  1. http://www.securityfocus.com/brief/928 新闻
  2. http://blogs.technet.com/srd/archive/2009/04/08/the-history-of-the-exploitable-crash-analyzer.aspx 项目研发历史
  3. http://cansecwest.com/csw09archive.html PPT下载
  4. http://peachfuzzer.com/ 一个支持!exploitable Crash Analyzer的fuzz工具

07月 29th, 2009当Nmap遇到ipod touch?

有图有真相!

ipod tuch 2 nmap scan

继续Hacking into ipod!

07月 9th, 2009milw0rm最后的打包…

最新milw0rm站点数据镜像下载: Security Tools

PoC has gone with wind…

 MSF eXploit Builder (or “how to build an exploit in 5 minutes“)

很黑很暴力的一个快速漏洞利用程序辅助编写工具,链接在这里

这个网站上还有一些不错的安全技术文章整理,可以看一看。

今天的邮件列表里还有一个小工具不错,也跟这个工具的开发团队有关

JASniff is a small handy graphical Windows TCP/UDP/ICMP packet sniffer.
(Support of Ports/Protocols/IP filtering)
JASniff can be used standalone, it doesn’t use winpcap.
JASniff will be embedded in the MSF-XB exploits development platform soon.
( https://www.securinfos.info/metasploit/MSF_XB.php )

Download:
http://www.ja-psi.com/tools/JASniff.exe
MD5     50f6ea7cdf0dc7177e6f5678ec4328c0

SHA1    f6da148c484bdb8f45db16af7ec02afaf40975e0

相信很多人和我一样收到过各种垃圾、骚扰短信,卖房的、贷款的、发票,最可恶的是有时夜里2点了还有这种短信发过来,真TMD服了这帮垃圾了。有时还会收到让你哭笑不得的骗钱的短信,比如下面这个:

 爸妈,我和异性朋友在宾馆开房被抓,请明早汇5000元保释金到我朋友李巍巍的农行卡:6228480461003143116,情况出来再说。

我靠,我还没结婚呢,咋就有了这么大的儿子/女儿了啊!!!FT!!!

今天看到一个好办法,专治这种短信和短信发送者。不敢独享,特公开并尽可能的传播之。

中国移动的客户可以把将垃圾短信转发到10086999进行举报。具体的举报办法为:编辑被举报人电话,加*号键,再加垃圾短信内容,发送到 10086999就可以了。向10086999转发信息,完全免费中国移动将对收到的不良信息进行分类汇总,发送者为增值业务内容提供商的将由中国移动 进行查处,而一些诈骗、黄色等非法信息则会提交给公安机关进行处理。

让垃圾短信的发送者们都去吃shi吧~~~~~

  1. Hackvector : PenTest必备工具!集JS编/解码、SQL注入编解码、JS变形、Fuzz等功能于一身,相当赞!特别有意思的是其中的Code Morphing模块,看看JS代码的各种变形和混淆吧~有兴趣的自己试试吧~
  2. Data Network Resource : 一个不错的数据网络(包括计算机网络,也有电信网)方面的技术教程,分层讲解,适合计算机网络的初学者。
  3. Malware Guru : 一个恶意软件,特别是Web恶意软件的维基百科。文章不多,但链接很精彩!有一个关于JS代码混淆和变形的链接不错,菜鸟大虾都可以看看。

在刚刚结束的Defcon 2008上,Kolisar为我们展示了一种非常有创意的JS代码变形方法。

一篇介绍这种技术原理的blog在这里, Kolisar在大会上展示的PoC代码在这里,PPT在这里

好了,给了一堆的链接,下面来谈谈我对这种新变形技术的一点体会。

首先,对于网页挂马的检测者来说,对于eval、document.write()、畸形长字符串等都是非常敏感的。 一般来说,在网页中出现这样一些特征语句时,往往就是一些挂马语句。更不用说如果直接出现类似<iframe src=”xxx.html” style=”display:none”/>这样的赤裸裸语句了。所以,Kolisar采用了遍历和枚举dom对象的方法来一步一步的获得对document对象的引用句柄和document对象的write方法和getElementById方法的使用。获取当前窗口对象句柄最直接的方法就是h=this。

接下来,从window对象开始,依次通过一些字符串长度和特征字节位的比较而获得document对象、document对象中的write、getElementById方法,并用数组来存储获得的这些对象和方法的句柄引用。不过经过我的测试,在IE 8 (beta 2)中 使用h[i][j](’p')这种方法访问dom节点是无效的,在FF 3.0.1中倒是测试可以通过。这应该是一个browser specific的特性。所以,这是该技术方法的一个约束条件

有了这些对象和对象方法之后,接下来是如何读取并执行“嵌入的代码”了。Kolisar嵌入代码的方法非常特别,这也是他的这个Javascript变形技术的最具创新意味的地方。他把代码直接隐藏在了自己的解密代码之中!而所谓的隐藏代码就是空格和tab!将解密代码用鼠标选中反白之后,可以发现,从h=this;这行代码开始,后面几十行的代码的结束处都有一些留白。把鼠标定位到这些留白之后,通过方向键移动光标,我们可以清楚的看到这些空白是由一串有“规律”的tab和空格组成!对,就是空白!tab和空白的交替出现,代表了0、1字符串!这就是比特编码!再数一下这个空格和tab的数目,你又会发现,一定是每行各出现8次由空格和tab组成的空白!

说到这里,我们终于明白了。所谓的恶意代码其实就是一堆“空白”!这种方法,不仅可以逃过过滤程序的静态检测,就连专业安全分析人员的眼睛也无法发现它们!谁能想到一堆空白中其实蕴藏的就是恶意代码呢

这个技术相当的不错,相信很快就能在网上看到利用这种技术来挂马的实例了,呵呵。

早上第一时间下载并安装了Chrome,TNND,不知道是不是RPWT,打开任何的网页都是崩溃。。。
下午已经有人放出了第一个DoS Exploit,可见Google的强大影响力!
不废话了,下面是漏洞描述和PoC。
—————————————————
Software:
Google Chrome Browser 0.2.149.27

Tested:
Windows XP Professional SP3

Result:
Google Chrome Crashes with All Tabs

Problem:
An issue exists in how chrome behaves with undefined-handlers in chrome.dll version
0.2.149.27. A crash can result without user interaction. When a user is made to visit
a malicious link, which has an undefined handler followed by a ’special’ character,
the chrome crashes with a Google Chrome message window “Whoa! Google Chrome has crashed.
Restart now?”. It lies in dealing with the POP EBP instruction when pointed out by the
EIP register at 0×01002FF4.

Proof of Concept:
http://evilfingers.com/advisory/google_chrome_poc.php

Credit:
Rishi Narang (psy.echo)
www.greyhat.in
www.evilfingers.com
—————————————————

PoC Working/Exploit:
Click for a demo here

BSQL Hacker is an automated SQL Injection Framework / Tool designed to
exploit SQL injection vulnerabilities virtually in any database.

It ships with Automated Attack modules which allows to dump whole database:

* SQL Server
* ORACLE
* MySQL (experimental)

Attack Templates :

* MS Access
* MySQL
* ORACLE
* PostgreSQL
* MS SQL Server

Also you can write your own attack template for any other database as
well (see the manual for details). New attack templates and exploits
for specific web application can be shared via Exploit Repository.

BSQL Hacker aims for experienced users as well as beginners who want
to automate SQL Injections (especially Blind SQL Injections).

It supports :

* Blind SQL Injection (Boolean Injection)
* Full Blind SQL Injection (Time Based)
* Deep Blind SQL Injection (a new way to exploit BSQLIs, explained
in here : http://labs.portcullis.co.uk/application/deep-blind-sql-injection/)
* Error Based SQL Injection

It allows metasploit alike exploit repository to share and update
exploits and attack tempate.

Download, Screenshots, Source Code and More Information :
http://labs.portcullis.co.uk/application/bsql-hacker/

Injection Wizard Video:
http://www.vimeo.com/1536040?pg=embed&sec=1536040

今天看到一篇文章,是关于MySQL的几个最新的安全隐患发现的。原文在这里。乍一看,这两个漏洞都挺有意思的,而且在当前的Web开发者中肯定有不少人没有注意到作者所提到的这两个问题的。

第一个问题是这样的,MySQL默认有一个配置参数 max_packet_size,这个参数是用于限制MySQL客户端和MySQL服务器端数据通信的数据包大小,MySQL的默认配置是1MB。如果客户端发送的数据超过了1MB,则MySQL服务器端会忽略掉这个请求数据。作者接下来举了两个利用这个缺陷的例子,第一个是利用超长数据来使MySQL的日志记录程序失效,第二个是在PHP+MySQL的环境下,PHP的Session清理程序会由于一次发送的清理session数据的请求数据包超过max_packet_size的限制,而导致清理session失败。

而实际上,由于很多PHP+MySQL的程序都会运行用户上传附件之类,而一般的PHP+MySQL的上传附件限制都是大于1MB的,所以PHP的程序开发人员一般是会去修改max_packet_size的值为大于1MB。这就给我们的漏洞利用带来了一定的麻烦,毕竟在当前的网络状况下,构造1MB多的数据去上传还是可以忍受的。但是太大的数据量就比较考验我们的耐心了,呵呵。

第二个问题就比较严重了,MySQL对于超过字段长度的数据插入操作会进行默认的字符串截短。例如一个字段定义的长度为10,如果插入的字符串长度超过10,MySQL会将长度超过10的部分字符串自动舍去后插入到数据表中。默认配置条件下,MySQL会产生一个警告信息,但是这个警告信息不会被Web应用程序捕获到。所以,从表面上来看,超长数据也是可以“成功”插入数据表的。作者在下面举的这个例子就很有代表性了,首先是一个场景假设:

  • The application is a forum where new users can register
  • The administrator’s name is known e.g. ‘admin’
  • MySQL is used in the default mode
  • There is no application restriction on the length of new user names
  • The database column username is limited to 16 characters

用户如果尝试注册一个用户名为admin的用户,会由于Web应用程序中的isAlreadyRegistered函数的校验而注册失败。

SELECT * FROM user WHERE username='admin'

但如果用户使用用户名’admin           x’来注册(注意admin和x之间有11个空格),则注册流程会是这样的:

isAlreadyRegistered函数会使用上面的SQL语句来检查user表中是否存在相同用户名的用户,查询结果肯定是不存在的。那么用户注册成功!

实际上,真正插入到user表中的用户名是’admin’!也就是说,MySQL不仅会截短超过长度限制部分的字符串,也会对字符串头尾的空白字符进行截短!所以,在user表中,现在存在了两个admin用户!

接下来,用户登陆,他使用的是用户名admin,密码是他刚才设置的’admin           x’的密码。假设Web应用程序的登陆认证和授权函数是这样的一段代码:

$userdata = null;
if (isPasswordCorrect($username, $password)) {
   $userdata = getUserDataByLogin($username);
   ...
}

其中isPasswordCorrect函数使用的SQL语句为:

SELECT username FROM users WHERE username = ? AND passhash = ?

getUserDataByLogin函数使用的SQL语句为:

SELECT * FROM users WHERE username = ?

可以看得出,上面的语句使用了预编译的SQL语句,是无法实施SQL注入的。但是由于MySQL的默认字段截短策略,isPasswordCorrect函数会成功执行并返回用户名admin,接下来的getUserDataByLogin也会正确执行,返回的结果虽然是一个数组,但是Web应用程序一般是取返回数组中的第一个结果,也就是真正的管理员用户admin的所有数据!

怎么样,不用SQL注入,一样拿到管理员权限!

后记:经过测试,上面的漏洞利用过程在MySQL 4中是确实存在并且可以利用的。但是在MySQL 5中,本机测试失败。失败的关键就在于MySQL 5对于超过字段长度限制的字符串插入会报错,并停止字符串插入操作。

附:MySQL 4的测试过程

mysql> select * from tb_sqltest where name='jason';
+----+-------+--------+------+------+------+------+
| id | name  | remark | time | col1 | col2 | col3 |
+----+-------+--------+------+------+------+------+
|  1 | jason | NULL   | NULL | NULL | NULL | NULL |
+----+-------+--------+------+------+------+------+
1 row in set

mysql> select * from tb_sqltest where name='jason       x';
Empty set

mysql> insert into tb_sqltest (id,name) values (2,'jason       x');
Query OK, 1 row affected

mysql> select * from tb_sqltest where name='jason';
+----+-------+--------+------+------+------+------+
| id | name  | remark | time | col1 | col2 | col3 |
+----+-------+--------+------+------+------+------+
|  1 | jason | NULL   | NULL | NULL | NULL | NULL |
|  2 | jason | NULL   | NULL | NULL | NULL | NULL |
+----+-------+--------+------+------+------+------+
2 rows in set



		

© 2007 猪在笑 | iKon Wordpress Theme by TextNData | Powered by Wordpress | rakCha web directory
登录 | 访问数170933 | 水木BLOG | 水木社区 | 关于我们 | Blog论坛 | 法律声明 | 隐私权保护 | 京ICP证050249号
水木社区Blog系统是基于KBS系统WordPress MU架构的