朱浩明 發表於 2009-8-28 00:29:57

小议session欺骗的利用以及价值

<p>对于session欺骗&nbsp; 大家都蒙了。&nbsp; <br />百度上有一篇文章 骗了整个网络界 虽然有不少人已经发现是错误的理论 误导的文章 。使不少人觉得 session欺骗很牛x 其实不然<br />那篇文章叫eWebEditor session欺骗漏洞<br />没错 ew的确存在那漏洞 但是那个作者说错了 原文:<br />eWebEditor session欺骗漏洞<br />文章作者:nowthk<br />eWebEditor在线编辑器<br />漏洞文件:Admin_Private.asp<br />漏洞语句:&lt;%<br />If Session(&quot;eWebEditor_User&quot;) = &quot;&quot; Then<br />Response.Redirect &quot;admin_login.asp&quot;<br />Response.End<br />End If<br />只判断了session,没有判断cookies和路径的验证问题。<br />漏洞利用:<br />新建一个test.asp内容如下:<br />&lt;%Session(&quot;eWebEditor_User&quot;) = &quot;11111111&quot;%&gt;<br />访问test.asp,再访问后台任何文件,for example:Admin_Default.asp<br />漏洞影响:虚拟主机的克星.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; by nowthk</p>
<p>noethk大牛想法不错 但是很可惜 背离了session的运行机制。要知道 session是存放在服务端的 而放在客户端的只是一个服务端分发的sessionID 。原文作者是在本地架设的环境 所以根本不存在客户端服务端之说.如果文章没有加上 虚拟主机的克星这几个字 估计就不会有什么争议。 的确 session是可以被欺骗。这个话题我丢到后面再说。先说机制。</p>
<p><br />&nbsp; 虽然sessionID的唯一性大大地提高了session认证的总体安全 但是这世界上还有一样东西叫盗窃.<br />&nbsp; 我们来说说session的运行机制 . 例如你访问<u><font color="#ff0000">www.link0day.cn</font></u> 这个站 那么服务端就会分给你一个sessionID值(前提是他们开启session) 什么时候你不爽 你关了浏览器 那么sessionID就失效了吗? <br />个人通过收集资料觉得 session在服务端是有存活期的。 你关了浏览器的话 那么就只是注销了该站的sessionID值 但服务端还残留着 iis默认是保存20分钟 这样就给了我们可乘之机。<br />&nbsp; 继续说到session运行机制 有一个很重要的知识点就是 服务端与客户端交接 是通过cookies存放在某一文件夹里面的 也就是说 xss也可以盗取session。<br />先别慌,看这一捉包来的数据:ASPSESSIONIDGQGGQAFC=FPGBGNOCAGPLAPOFOPJGODCJ<br />看到没 asp sessionid*********** 等号后面就是他的sessionID值。&nbsp; 为了方便大家理解和验证方法的可行。我与老大 樱木花盗 做了一实验(部分修改)。<br />&nbsp; 老大登陆一后台(当然是session有验证)。然后捉包 发他的sessionID给我 然后他关了浏览器。也就是结束了客户端与服务端的连接 但那sessionID没过期。 我这边用啊D修改session 然后直接点击登陆 。 结果可想而知 成功登陆。 <br />这是说明 客户端与客户端之间对服务端的欺骗 文绉绉地说 也就是中间人攻击,<br />这里 可能你会问 入侵的时候 别人会那么傻给你sessionID么。嘿嘿 问得好 。这里就出现了xss。<br />要知道 我们可爱的xss可以盗取cookies。。 我们直接把他的cookies相关直接盗过来。 <br />Xss恰恰可以做到这一点。 至于怎么触发跨站就不用说了把。。&nbsp; 盗取cookies的文件 网上一堆 自己找一下 改一下就可以。跨站的时候拿cookie可以,但是拿session就麻烦。Session很快就要失效,除非没事一直等着目标中招后立即行动,不然就算拿到了session早就过期N久了<br />上面说的是中间人攻击 , 下面就说一下另一种情况。直接&rdquo;欺骗&rdquo;服务端。</p>
<p>这里就要纠正不少人的观点了。回到文章一开始说的那个ew编辑器session欺骗的文章 作者当然是想错了 看了我前部分所说的运行机制 应该就能弄个半懂把。也就说 客户端不能提交修改后的sessionID值到服务端 让服务端信任你。那样是不成立的。并且实验证明 不是行的。<br />另外一个实验如下:<br />WIN2003 SP1 +IIS6.0 不是虚拟主机,iis建的两个网站A、B。<br />A --&gt;s.asp : &lt;%session(&quot;test&quot;)=&quot;ok&quot;%&gt;</p>
<p>A --&gt;e.asp :&lt;%if session(&quot;test&quot;)&lt;&gt;&quot;&quot; then response.write(&quot;good!&quot;)%&gt;<br />B --&gt;e.asp :&lt;%if session(&quot;test&quot;)&lt;&gt;&quot;&quot; then response.write(&quot;good!&quot;)%&gt;</p>
<p>1.访问<u><font color="#ff0000">http://A/e.asp</font></u> 显示为空<br />2.访问<u><font color="#ff0000">http://B/e.asp</font></u>&nbsp; 显示为空</p>
<p>3.访问<u><font color="#ff0000">http://A/s.asp</font></u> <br />4.访问<u><font color="#ff0000">http://A/e.asp</font></u> 显示&quot;good!&quot;<br />5.访问<u><font color="#ff0000">http://B/e.asp</font></u> 显示为空</p>
<p>6.访问<u><font color="#ff0000">http://B/s.asp</font></u> <br />7.访问<u><font color="#ff0000">http://B/e.asp</font></u> 显示&quot;good!&quot;<br />实验三:<br />在<u><font color="#ff0000">http://www.xxx.net/1.asp</font></u>写下了如下代码:<br />&lt;%<br />session(&quot;username&quot;)=&quot;abddwww&quot;<br />%&gt;<br />又在同一主机另一个站点下写下了如下代码:(test.asp)<br />&lt;%<br />if session(&quot;username&quot;)&lt;&gt;&quot;&quot; then<br />&nbsp; response.write &quot;ok&quot;<br />else<br />&nbsp; response.write &quot;no session&quot;<br />end if<br />%&gt;<br />先访问test.asp返回no session,然后访问1.asp,再次访问test.asp还是返回no session(同一ie进程下)<br />说明想跨站欺骗是不成功的<br />假如要成功运用那个漏洞,除非<u><font color="#ff0000">www.x1.cn</font></u>和<u><font color="#ff0000">www.x2.cn</font></u>是绑定在同一主机头下,同目录。<br />为什么? 这又与iis用户有关.. 假如权限设置得适当 是没办法read目录 +write目录的话 那样session欺骗是不成立的 <br />所以 要使成功 就必须以下几个条件<br />1:成功获取了该域名下的一个webshell<br />2:有读权限<br />3:需要入侵的系统采用了session认证<br />4:管理员使用的密码无法破解<br />5:可以获得session验证的语句<br />6. 同iis用户<br />7. 同域名(一级or二级).:<br />例如 <u><font color="#ff0000">www.sb.cn</font></u> ,那么二级域名就可以是这样: fuck.sb.cn<br />8. 同目录</p>
<p>这样的洞洞是不是很难利用? 其实一般小站都用不上 大站才用得上<br />我曾经检测国内某某大学的时候 就是靠这洞弄下不少shell 然后提权之。<br />所以 事实证明 session欺骗是存在 但是 利用范围比较狭窄 一般小站用不上 大站用这方法的话 倒是百试百灵~</p>
頁: [1]
查看完整版本: 小议session欺骗的利用以及价值