XCTF-WEB-新手练习区(9-12)笔记

9:xff_referer

X老师告诉小宁其实xff和referer是可以伪造的。

界面显示需要我们

添加X-Forwarded-For:123.123.123.123

添加Rerferer:https://www.google.com,之后顺利得到Flag

 

 

10:webshell

小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。

 

 

 

放入的是php一句话木马,便省去了上传小马的操作,能看到连接密码为Shell,可以直接使用中国菜刀&蚁剑寻找到Flag

 

 

 

 

 

11:command_execution

小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。

页面上的文本框没有进行过滤,因此可以并行操作,调用其他命令

最后通过调用:localhost&&cd /home&&cat flag.txt拿到flag

 

 

 

 12:simple_js

小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )

进入以后要求你输入密码,却一直输入不对,查看源代码发现真实密码为:formcharcode的内容

具体解释可以参考下图(XCTF靶场用户Ghand在WP中制作):

 

 

 

 

<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;
    }
    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"));

    h = window.prompt('Enter password');
    alert( dechiffre(h) );

</script>
</head>

</html>

找到密码以后后面是一个简单的进制转换

 

 然后转换成ASCII码得到flag

 

 

 
posted @ 2020-04-12 01:10  Yeung丶  阅读(409)  评论(0编辑  收藏  举报