Mundo ofensivo y defensivo 9-12

Directorio de artículos

NaNNaNNaNNaN-Batman

  • Descargue el archivo adjunto y cambie la evaluación al final para alertar
  • Coloque el código en el archivo 1.html recién creado
  • Aparecerá el contenido del código.
  • Copiar y pegar código de auditoría
 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 _
  • Puede deletrear regular payload:be0f23233ace98aac7be9
  • También puedes sacar el código por separado
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

  • Es un php que la herramienta novato utiliza directamente para descifrar
  • Primero audite el código
<?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__); 
?>
  • Descifrar el código 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

  • El primer problema para reproducir el fallo.
  • Intenté dirsearch y burpsuit para capturar el paquete, pero no encontré un punto de entrada.
  • Leer wp
  • Visite index.phps

El archivo phps es el archivo de código fuente de baiphp, que generalmente se usa para proporcionar a los usuarios (visitantes) la posibilidad de ver el código php dao, porque el usuario no puede ver directamente el contenido del archivo php directamente a través del navegador web.

  • Quiero mostrarte el codigo
<?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?
  • Auditoría de código simple
  • Primero, la identificación cargada por get no puede ser igual a admin
  • Luego realiza la decodificación de URL y requiere que sea igual a admin
  • La atención se centra en la decodificación de URL
  • ? id =% 2561dmin
  • Después de decodificar la URL del servidor, la primera si es admin ===% 61dmin no está satisfecho
  • Se puede satisfacer agregando php.

unsialize3

  • Esta pregunta es un bypass del método mágico _wakeup ()
  • Se llama a la función _wakeup () al deserializar
  • Aquí está el código serializado primero
<?php
class xctf{
    
    
public $flag = '111';}
$a = new xctf();
$b = serialize($a);
echo $b;
?>
  • O: 4: "xctf": 1: {s: 4: "bandera"; s: 3: "111";}
  • carga útil: O: 4: "xctf": 2: {s: 4: "bandera"; s: 3: "111";}

Supongo que te gusta

Origin blog.csdn.net/CyhDl666/article/details/114274280
Recomendado
Clasificación