zoukankan      html  css  js  c++  java
  • web100

    下载题目给的附件,进去文本方式打开,发现是乱码
    然后看到最后有一个eval函数,接触过一句话木马的同学就应该很熟悉了,这是一个命令执行函数,执行_这个函数:

    显然在这里是没什么用的,于是我们把eval改为alert,再用浏览器打开源码,先把清晰的源码得到再说:

    此处我用的火狐浏览器,选中弹窗的ctrl+c一把,
    再把得到的清晰的源码粘贴在新的地方也好,或者web100里面也行,简单整理一下,源码如下:

    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 onclick=$()>Ok</button>');
    delete _
    

    浏览器再去访问此源码,发现有页面不正常,原来alert之后得到的源码javascript标签没了,补上便是:

    那么问题来了,该输入一些什么呢,还是要回到源码里去,这里又要提到正则表达式了:

    <javascript>
    function $(){
    var e=document.getElementById("c").value;if(e.length==16)      //变量长度为16
    if(e.match(/^be0f23/)!=null)      //^表示以什么开头,be0f23
    if(e.match(/233ac/)!=null)      //匹配233ac
    if(e.match(/e98aa$/)!=null)      //$表示以什么结尾,e98aa
    if(e.match(/c7be9/)!=null)      //匹配c7be9
    {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 onclick=$()>Ok</button>');//目的是要打印出这个,所以前面的变量的条件必须要满足
    delete _
    </javascript>
    

    对于变量e开头和结尾是固定了十位了,那么剩下6位,又要匹配233ac和c7be9,那么只能是如下情况,可谓刚刚好:

    如此拼凑出e=be0f233ac7be98aa

    得到flag:flag{it's_a_h0le_in_0ne}

  • 相关阅读:
    Java的接口及实例
    卷积函数的参数为Conv2d(in_channels, out_channels, kernel_size, stride, padding, ...),一般关心这5个参数即可
    torch.randn和torch.rand的区别
    Pytorch 里 nn.AdaptiveAvgPool2d(output_size) 原理是什么?
    Python中*args、**args到底是什么、有啥区别、怎么用
    padding输入值是tuple数组,其含义是
    矩阵/图像边长经过卷积操作后的尺寸计算方法:
    CIFAR-10 数据集
    vgg code
    Epoch、Iteration、Batchsize
  • 原文地址:https://www.cnblogs.com/sillage/p/13937050.html
Copyright © 2011-2022 走看看