攻防世界 9-12

NaNNaNNaNNaN-Batman

  • 下载附件 将末尾的eval改为alert
  • 将代码放入新建的1.html文件
  • 会弹框出代码内容
  • 复制粘贴 代码审计
 function $()
{
    var e=document.getElementById("c").value;
    if(e.length==16)
        if(e.match(/^be0f23/)!=null)
            if(e.match(/233ac/)!=null)
                if(e.match(/e98aa$/)!=null)
                    if(e.match(/c7be9/)!=null){
                        
                        var t=["fl","s_a","i","e}"];
                        var n=["a","_h0l","n"];
                        var r=["g{","e","_0"];
                        var i=["it'","_","n"];
                        var s=[t,n,r,i];
                        
                        for(var o=0;o<13;++o){
                            document.write(s[o%4][0]);
                            s[o%4].splice(0,1)}
                        }
}
document.write('<input id="c"><button οnclick=$()>Ok</button>');
delete _
  • 可以拼正则 payload:be0f23233ace98aac7be9
  • 也可以把代码单独拿出来
var t=["fl","s_a","i","e}"];
var n=["a","_h0l","n"];
var r=["g{","e","_0"];
var i=["it'","_","n"];
var s=[t,n,r,i];
for(var o=0;o<13;++o){
document.write(s[o%4][0]);
s[o%4].splice(0,1)}
 }

web2

  • 就是一个解密 直接用菜鸟工具 自带的php
  • 先审计一下代码
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function encode($str){
    $_o=strrev($str);
    // 反转字符串
    // echo $_o;
        
    for($_0=0;$_0<strlen($_o);$_0++){
       
        $_c=substr($_o,$_0,1);
        //从首位开始一个一个截取
        $__=ord($_c)+1;
        //返回ascii值 并且+1
        $_c=chr($__);
        //返回+1后的编码值
        $_=$_.$_c;   
        //连接
    } 
    return str_rot13(strrev(base64_encode($_)));
    // base64编码 反转字符串 再rot13编码
}

highlight_file(__FILE__); 
?>
  • 解密php代码
<?php
$str='a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws';
$_ = base64_decode(strrev(str_rot13($str)));
$_o=NULL;
for($_0=0;$_0<strlen($_);$_0++){  
         $_c=substr($_,$_0,1);  
         $__=ord($_c)-1;  
         $_c=chr($__);  
         $_o=$_o.$_c;   
    } 
echo strrev($_o);
?>

PHP2

  • 第一道复现失败的题目
  • 尝试了dirsearch 还有burpsuit抓包 都没找到切入点
  • 看了下wp
  • 访问index.phps

phps文件就是baiphp的源代码文件,通常用于提供给用户(访zhi问者)查看php代码dao,因为用户无法直接通过Web浏览器直接看到php文件的内容

  • 想给你看的代码
<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

Can you anthenticate to this website?
  • 简单的代码审计
  • 首先get上传的id不能等于admin
  • 接着进行了一次url解码 又要求等于admin
  • 重点就再url解码上了呗
  • ?id=%2561dmin
  • 经过服务器的url解码后 第一次if就是admin===%61dmin 不满足
  • 再经过php自己加的就可以满足了

unserialize3

  • 这道题是_wakeup()魔术方法的绕过
  • 反序列化的时候会调用_wakeup()函数
  • 这里先给序列化的代码
<?php
class xctf{
public $flag = '111';}
$a = new xctf();
$b = serialize($a);
echo $b;
?>
  • O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;}
  • payload:O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值