老班CMS V2.0 审计

0x1: 后台认证绕过

定位登陆后的源码位置index.php

<?php 
include('../include/function.php');
denglu();

开头有一个方法,继续跟进一下。

function denglu(){     if(!isset($_COOKIE['id'])){         exit("");     } }
这里可以看到当COOKIE中存在ID参数时则允许访问后台页面否则则跳转到login.php页面

0x2: 登陆页面SQL注入,44行直接进行了sql拼接查询导致注入

<p><div class="left">
    	<dl class="box">
        	<dt>欢迎登陆<span>老班CMS</span></dt>
          <form method="post" onsubmit="return yanzheng()">
            <dd>管理员<input id="guanliyuan" name="guanliyuan" class="txt" type="text"></dd>
            <dd>密码<input id="mima" name="mima" class="txt" type="password"></dd>
            <dd><?php echo $a.'+'.$b.'=' ?><input id='jisuan' class="txt" type="text"></dd>
            <dd class="botn"><input class="but" name="submit" type="submit" value="登录" /> <a class="but1" target="_blank" href="http://www.laobancms.com" />技术指导</a></dd>
            <dd id="tishi"></dd>
          </form>
        </dl>
    </div>
    <script language="javascript">
    function yanzheng(){
    	var guanliyuan=document.getElementById('guanliyuan').value;
    	var mima=document.getElementById('mima').value;
    	var jisuan=document.getElementById('jisuan').value;
    	
    	//用户名校验
    	var reg = new RegExp("^[0-9a-zA-Z]{3,20}$");
    	if(!reg.test(guanliyuan)){
    		alert("用户名格式有误,请重置");
    		document.getElementById('guanliyuan').focus();
    		return false;
    	}
    	
    	else if(!reg.test(mima)){
    		alert("密码格式有误,请重置");
    		document.getElementById('mima').focus();
    		return false;
    	}
    
    	else if(jisuan !=<?php echo $a+$b; ?> || jisuan==""){
    		alert("验证码有误!");
    		document.getElementById('jisuan').value='';
    		return false;
    	}
    }
    </script>
    <?php 
    if(isset($_POST['submit'])){
    	$guanliyuan=$_POST['guanliyuan'];
    	$mima=jiami($_POST['mima']);
    	$sql="select * from admin where (guanliyuan='$guanliyuan' and mima='$mima') limit 1";
    	$admins=select($sql,1);
    	if(count($admins)>0){
    		setcookie('id',$admins['id']);
    		setcookie('guanliyuan',$admins['guanliyuan']);
    		tishi('','index.php');
    	}
    	else{
    		tishi('很抱歉用户名或密码错误','login.php');
    	}
    }
    ?>
    </body></p>

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注