攻防世界(web)新手题

发布于 2020-04-11  84 次阅读


第一题

F12或者Ctrl+u

第二题

robots,先试试直接访问 http://111.198.29.45:30317/ robots.txt

根据提示去往: http://111.198.29.45:30317/f1ag_1s_h3re.php

第三题

考察备份文件名,直接下载/index.php.bak,然后打开就能拿到flag

第四题

进入页面之后看cookie项,

根据提示,访问cookie.php。在返回包里面找到flag。

第五题

删除HTML代码input中的disabled即可

第六题

不知道这题考的什么,直接弱口令,admin,123456登录就行了。

第七题

?a=a&b=12345bf

本题主要是绕过函数 is_numeric (),这个函数的作用是判断传入的参数是够为数字或数字字符串,是则返回true否则返回false。所以绕过方法叶也很简单,只要不是纯数字就行了。PHP是弱类型语言,含有隐式转换,比较时字符串会先转换为数字类型再比较。

第八题

按照提示提交就行了。

第九题

添加header参数

第十题

既然已经有一句话了,直接用菜刀连上去,里面有一个flag.txt。打开就是flag

第十一题

输入 127.0.0.1 && ifconfig 判定是Linux主机。

主要考查

command1 & command2 :先执行command2后执行command1
command1 && command2 :先执行command1后执行command2
command1 | command2 :只执行command2
command1 || command2 :command1执行失败,再执行command2(若command1执行成功,就不再执行command2)

于是输入127.0.0.1 && ls ../../../

#查看home下的文件
127.0.0.1 && cd ../../../home && ls
127.0.0.1 && cd ../../../home && cat flag.txt

第十二题

考查JS的知识,碰巧昨天的课刚刚讲了JS,现学现用一下

首先在弹出框输入之后一直报错。

看一下它的源码


<html>
<head>
    <title>JS</title>
    <script type="text/javascript">
    function dechiffre(pass_enc){
        var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
        var tab  = pass_enc.split(',');
                var tab2 = pass.split(',');
                var i,j,k,l=0,m,n,o,p = "";
                i = 0;
                j = tab.length;
                k = j + (l) + (n=0);
                n = tab2.length;
                    for(i = (o=0); i < (k = j = n); i++ ){
                    	o = tab[i-l];
                    	p += String.fromCharCode((o = tab2[i]));
                                if(i == 5)break;
                            }
                        for(i = (o=0); i < (k = j = n); i++ ){
                        o = tab[i-l];
                                if(i > 5 && i < k-1)
                                        p += String.fromCharCode((o = tab2[i]));
                        }
        p += String.fromCharCode(tab2[17]);
        pass = p;
     return pass;
    }
//以上部分是对pass进行Unicode编码转为一个个字符输出,无论在密码处输入什么都会显示这一串:
//FAUX PASSWORD HAHA
    String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
//这时候我们发现这里有一串string并没有发挥作用,于是吧这一串输出试试
    h = window.prompt('Enter password');
    alert( dechiffre(h) );

</script>
</head>

</html>
<html>
<head>
    <title>JS</title>
    <script type="text/javascript">
   var n=String.fromCharCode(55,56,54,79,115,69,114,116,107,49,50);
    document.write(n);
</script>
</head>

</html>
输出:786OsErtk12即为flag

学不动了,带带孩子吧。