加载中…
个人资料
小key
小key
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,238
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

MSMAX-BLOG漏洞入侵大体验

(2007-08-11 14:45:24)
标签:

知识/探索

分类: Hackerkey墮落
 

我不会编程,也不会入侵。更不会写文章。我就只知道遇事说事。

话说我有一域名,http://www.yylover.com(算是广告:),我以前做了一个网站不过感觉不好,所以我想改用BLOG程序。

我不喜欢大型BLOG程序,喜欢小型BLOG。所以去chinaz.com一搜,找到了一个合适自己的ASP—BLOG程序,本来想用PHP的,但是我的空间不支持PHP所以很让我恼火。我现在就用着它。这个BLOG名叫msmax blog,四川老乡开发的,用百度一搜就能找到一堆堆。

好了,步入正题。

1、过滤失败的检查,简单代码分析。

我们要入侵一个WEB站点首先要得其后台。所以,我们直接检查后台程序,如下:

 

不知道大家看到没有。

admin/login.asp(部分)

//**************************************************************

<script language="javascript" type="text/javascript">

    function check1()

    {

            if (document.form.admin.value=="")

            {

                alert("错误:请输入用户名!");               

                return false;

                }

            if (document.form.pwd.value=="")

             {

                  alert("错误:请输入密码!");

                 return false;

      }

     return true;   

                     

</script>

<script type="text/jscript">

        var uReg=/[^A-Za-z0-9]/ig;

        function check3(vAlue){        

         if (uReg.test(vAlue)){

        alert('错误:密码不能输入非法字符!');

        document.form.password.value=""

            form.password.focus();

             }

        if (vAlue.length>16){

        alert('错误:密码只能输入16位!');

        document.form.password.value=""

            form.pwd.focus();

            }

        }

        </script>

        <script type="text/jscript">

        var uReg=/[^A-Za-z0-9]/ig;

        function check2(vAlue){

         if (uReg.test(vAlue)){

         alert('错误:用户名不能输入非法字符!');

         document.form.admin.value=""

            form.admin.focus();

             }

        if (vAlue.length>6){

        alert('错误:用户名只能输入6位!');

        document.form.admin.value=""

            form1.admin.focus();

                  

        }

        </script>

</head>

<body>

<div id="formwrapper">

<h3>yylover.com后台管理登录</h3>

    <form action="" method="post"  name="form" onsubmit="javascript:return check1();"  >

    <fieldset>

        <legend>phper用户登录</legend>

        <div>

            <label for="Name">用户名:</label>

            <input type="text" name="admin"  size="17" maxlength="30" onchange="check2(this.value)"/><br />

        </div>

        <div>

            <label for="password">密码:</label>

            <input type="password" name="password" size="18" maxlength="18"onchange="check3(this.value)" /><br />

       

        </div>

        <div class="cookiechk">

          <label><a href="#" title="选择是否记录您的信息"></a></label>

            <input type="submit" class="buttom" value="登录" />

            <input name="submit1" type="button" class="buttom" value="返回"  onclick="javascript:history.go(-1)"

/>

        </div>   

        <div class="forgotpass"></div>   

    </fieldset>

    </form>

</div>

//**************************************************************



作者判断用户名和密码是先调用已先定义好的javascript脚本对输入框里的用户名和密码(包括长度)进行本地判断。这是作者天真的思想,他想通过本地脚本语言防止非法参数注入。这是不可能的,大家可以找网上找个程序试试。这到防线我们只需要粘贴2次已经准备好的字符就可以进行成功输入。

好了,既然CHECK已经过了,如果你在asp语言里没有写过滤,那你就完了。至于为什么,连我这重从来没写过1次ASP的人都知道。

我们再来看代码:

admin/login.asp(部分)

//**************************************************************

<%

    dim admin,password

    admin=request.form("admin")

    password=md5(request.form("password"))

    if admin<>"" then

        dim rs,strsql       

            strsql="select * from users where admin='"&admin&"' and password='"&password&"'"

            set rs=db.execute(strsql)       

        if not rs.eof and not rs.bof then       

            session("msmax")=rs("admin")

                response.Redirect "admin_index.asp"

            else

                response.write "<script>alert('对不起,此用户名不存在!');</script>"   

        end if

    end if

%>

//**************************************************************

这家伙首先定义了变量。

然后密码从数据库去反MD5这些都是正常的。

下面程序进入流程控制if.进行了不等于判断。

值得注意的就是第7行,SQL语句,这条查询语句没过滤吧?哈哈

试试'or'='or', 我靠,进去了。

程序给我们直接response.Redirect "admin_index.asp"反回到了管理页。

2、其他检查,上传木马。

(新版可以上传文件到目录。我的旧版是把数据已2进制方式写入数据库。)

首先进入后台,我们就看有没有可以上传的地方,这里我们找到了。admin/add_img.asp文件,它可以不经过任何判断就可以上传任意文件,只是可惜,用它传上去的文件都被转化为2进制文件放到access库里。本人暂时还没有想到此文件有什么地方可以利用的。

3、100%判断后台的位置

这个话题才真正感兴趣,我想包括我在内的人都已经把后台地址给改掉了,或者不把后台放到WEB空间里。我们说前者,如果该掉了后台地址,即使有漏洞也进不去,这让很多初学者闹心。不过通过本人发现,有一个办法可以100%确认对方后台所在位置,您想知道吗?自己尝试吧。

 

今天我主要想说的是国内到目前为止写出如此程序的人还是很多,真是的。

如果您发现了后台的秘密,那千万不要弄我的BLOG。弄坏了很麻烦的-_-!!!谢天谢地。

其实我就是想宣传一下自己的BLOG罢了。如果想体验一下此漏洞请在百度搜关键字:MSMAX All Rights Reserved  没有修改关键子的朋友可要倒霉了。

我说的比较笼统,但是比较简单较易理解。因为我不懂编程,难免有写错的地方,请指正。谢谢~


经过大半天的对其他文件代码的分析:

http://www.msmax-blog.com(官方主站) 最新版被我黑掉啦 !呵呵

进去点击 [蜀ICP备06020522号] 就到偶网站啦!

我用的不是官方最新版,是1.0,官方用的是2.0版本。

简单看了一下官方后台,完全和1.0不是一个档次。不过嘛~~~

 

官方BLOG程序后台

MSMAX-BLOG漏洞入侵大体验

官方BLOG程序后台

MSMAX-BLOG漏洞入侵大体验

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有