安全-计算器(BugkuCTF)

Posted 小狐狸FM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全-计算器(BugkuCTF)相关的知识,希望对你有一定的参考价值。

一、题目

原题链接

在这里插入图片描述

二、WriteUp

在输入数字的时候被限制了数字的长度

在这里插入图片描述

使用burpsuite进行抓包时,发现没有抓到包,推测验证时是在本地验证的

在这里插入图片描述

右键页面先查看一下源码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>随机数字运算验证码</title>  

<style type="text/css">  
.nocode {  
  display: inline-block;
    width: 100px;  
    height: 25px;  
}  
  
.code {  
  display: inline-block;
    color: #ff0000;  
    font-family: Tahoma, Geneva, sans-serif;  
    font-style: italic;  
    font-weight: bold;  
    text-align: center;  
    width: 100px;  
    height: 25px;  
    line-height: 25px;
    cursor: pointer;  
    border:1px solid #e2b4a2;
    background: #e2b4a2;
}  
  
.input {  
    width: 100px;

}  
</style>  

</head>  
  
<body>  
  
<span id="code" class="nocode">验证码</span> <input type="text" class="input" maxlength="1"/> 
<button id="check">验证</button>  
<div style="text-align:center;">
<p>来源:<a href="http://ctf.bugku.com/" target="_blank">BugKu-ctf</a></p>
</div>

</body>  
<script src="js/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="js/code.js"></script>  

</html>  

其中含有两个js文件

在这里插入图片描述

js/code.js文件中发现了flag的信息

$(function() {  
    var code = 9999; 
    function codes(){
    	
        var ranColor = '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).slice(-6); //随机生成颜色
    	// alert(ranColor)
    	var ranColor2 = '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).slice(-6); 
     	var num1 = Math.floor(Math.random() * 100);  
        var num2 = Math.floor(Math.random() * 100);  
        code = num1 + num2;  
        
        $("#code").html(num1 + "+" + num2 + "=?");  
        if ($("#code").hasClass("nocode")) {  
            $("#code").removeClass("nocode");  
            $("#code").addClass("code"); 
           
        }  
        $("#code").css('background',ranColor);
         $("#code").css('color',ranColor2);

    }
    codes()
   
    $("#code").on('click',codes)
      
    $("#check").click(function(){ 
        if ($(".input").val() == code && code != 9999) {  
            alert("flag{df7efb60253d7edf16f7b61a8f61624a}");  
        } else {  
            alert("输入有误!");  
        }  
    });  
});  

使用了if语句对输入的值进行判断,当code的值不为9999且值和输入的值相同时就会使用alert函数跳出弹窗显示flag

在这里插入图片描述

以上是关于安全-计算器(BugkuCTF)的主要内容,如果未能解决你的问题,请参考以下文章

安全-GET(BugkuCTF)

安全-滑稽(BugkuCTF)

安全-eval(BugkuCTF)

安全-变量1(BugkuCTF)

安全-Simple_SSTI1(BugkuCTF)

BugkuCTF解题 基础