zoukankan      html  css  js  c++  java
  • 攻防世界 flag_in_your_hand1

    题目

    下载附件并解压,有文件如下:

    分析与解题

    1. 打开index.html
    2. 查看网页源码,找到关键部分
    <script src="script-min.js"></script>
    <script type="text/javascript">
        var ic = false;
        var fg = "";
    
        function getFlag() {
            var token = document.getElementById("secToken").value;
            ic = checkToken(token);
            fg = bm(token);
            showFlag()
        }
    
        function showFlag() {
            var t = document.getElementById("flagTitle");
            var f = document.getElementById("flag");
            t.innerText = !!ic ? "You got the flag below!!" : "Wrong!";
            t.className = !!ic ? "rightflag" : "wrongflag";
            f.innerText = fg;
        }
    </script>
    
    1. 如果通过检查,getFlag可以生成我们需要的flag。
    2. 查看script-min.js,定位到关键部分
    function ck(s) {
        try {
            ic
        } catch (e) {
            return;
        }
        var a = [118, 104, 102, 120, 117, 108, 119, 124, 48,123,101,120];
        if (s.length == a.length) {
            for (i = 0; i < s.length; i++) {
                if (a[i] - s.charCodeAt(i) != 3)
                    return ic = false;
            }
            return ic = true;
        }
        return ic = false;
    }
    
    1. 因此只要反推出返回true的s即可。求解代码如下
    a = [118, 104, 102, 120, 117, 108, 119, 124, 48, 123, 101, 120]
    s = ""
    for i in a:
        s += chr(i - 3)
    print(s)
    # s = security-xbu
    
    1. 在token框中输入security-xbu

    flag: RenIbyd8Fgg5hawvQm7TDQ

  • 相关阅读:
    jQuery中 $ 符号的冲突问题
    典型用户,场景,用例图
    结对编程
    简易计算器
    对git的认识
    我的博客
    零基础免费搭建个人博客-hexo+github
    DTcmsV4.0分析学习——(3)URL重写
    DTcmsV4.0分析学习——(2)系统框架
    DTcmsV4.0分析学习——(1)数据库结构分析
  • 原文地址:https://www.cnblogs.com/vict0r/p/13549742.html
Copyright © 2011-2022 走看看