zoukankan      html  css  js  c++  java
  • BugkuCTF WEB

    • web2

    打开链接,一大堆表情

    查看源代码

    得到 flag

    • 文件上传测试

    打开链接

    选择 1 个 jpg 文件进行上传,用 burp 抓包改包

    将 php 改为 jpg,发包

    得到 flag

    • 计算器

    在方框中输入 28,但是只能输入 1 个数字

    F12 查看一下元素

    这里的最长长度为 1,将它修改为 2,输入 28,点击验证

    得到 flag

    • web基础$_GET

    给参数 what 传值 flag

    访问 http://120.24.86.145:8002/get/?what=flag

    得到 flag

    web基础$_POST

    打开链接

    POST 方式传一个 值为 flag 的参数 what,就能得到 flag

    • 矛盾

    is_numeric() 判断参数 num 是否是一个数字,如果不是数字,则输出 $num 的值,如果 $num 的值等于 1,输出 flag

    可以用科学计数法来表示 1

    构造 http://120.24.86.145:8002/get/index1.php?num=1*e*0.1

    得到 flag

    • web3

    打开链接

    一片空白,右键查看源代码

    解码一下

    得到 flag

    • sql 注入

    打开链接

    查询key表,id=1的string字段

    加个单引号,没有什么变化,右键查看源代码

    用宽字节注入

    经查询,有 2 个字段数

    查数据库,http://103.238.227.13:10083/?id=1%df%27%20union%20select%201,database()%23

    然后直接查询key表的string字段,http://103.238.227.13:10083/?id=1%df%27%20union%20select%201,string%20from%20sql5.key%20--%20

    得到 flag

    • 域名解析

    修改 /etc/hosts 文件

    ┌─[root@sch01ar]─[~]
    └──╼ #vim /etc/hosts
    

    添加一条 120.24.86.145 flag.bugku.com

    添加完后,打开 flag.bugku.com

    得到 flag

    • SQL注入1

    打开链接

    //过滤sql
    $array = array('table','union','and','or','load_file','create','delete','select','update','sleep','alter','drop','truncate','from','max','min','order','limit');
    foreach ($array as $value)
    {
    	if (substr_count($id, $value) > 0)
    	{
    		exit('包含敏感关键字!'.$value);
    	}
    }
    
    //xss过滤
    $id = strip_tags($id);
    
    $query = "SELECT * FROM temp WHERE id={$id} LIMIT 1";
    

    用 %00 绕过过滤,http://103.238.227.13:10087/?id=-1%20un%00ion%20se%00lect%201,database()

    然后直接查 key 表下的 id=1 的hash 字段,http://103.238.227.13:10087/?id=-1%20un%00ion%20se%00lect%201,hash%20fr%00om%20sql3.key

    得到 flag

    也可以利用代码中 xss 过滤来绕过

    构造:http://103.238.227.13:10087/?id=-1 u<a>nion sel<a>ect 1,hash fr<a>om .key

    • 你必须让他停下

    打开链接,链接会一直刷新

    当图片为 10.jpg 的时候,会出现图片

    用 burp 查看返回包

    当图片为 10.jpg 的时候,会出现 flag,不一定每次都出现

    得到 flag

    • 变量1

    var_dump() 打印该参数,用全局变量 GLOBALS 可以打印出全部变量的值

    得到 flag

    • web5

    右键查看源代码

    右键查看元素,把这些字符复制到控制台,回车

    全为大写就是 flag 了

    • 头等舱

    什么都没有,查看源码也没有,抓包看看

    直接发包

    在返回包中得到 flag

    • 网站被黑

    打开链接是一个黑页,题目是网站被黑,可能存在后门

    猜了一个 1.php 不对,又猜了一个 shell.php

    发现一个大马

    猜了几个密码都没对,用 burp 爆破一下

    爆出了一个 hack,输入

    得到 flag

    • WEB4

    右键查看源代码

    被 url 编码的 js 代码

    进行 url 解码

    进行拼接得到,67d709b2b54aa2aa648cf6e87a7114f1

    输入,得到 flag

    • flag在index里

    点击

    可能存在文件包含,读一下 index.php 文件看看

    http://120.24.86.145:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

    读出一串 base64 密文,解密一下

    得到 flag

    • 输入密码查看flag

    用 burp 爆破

    爆出来了,查看返回包

    得到 flag

    • 点击一百万次

    要点击 1000000 次才能得到 flag

    右键查看源代码

    如果 clicks >= 1000000,就会 POST 发送 clicks

    直接 POST clicks 的值为 1000000

    得到 flag

    • 备份是个好习惯

    试了一下 index.php~,404

    再试了 index.php.bak

    下载下来

    <?php
    /**
     * Created by PhpStorm.
     * User: Norse
     * Date: 2017/8/6
     * Time: 20:22
    */
    
    include_once "flag.php";
    ini_set("display_errors", 0);
    $str = strstr($_SERVER['REQUEST_URI'], '?');
    $str = substr($str,1);
    $str = str_replace('key','',$str);
    parse_str($str);
    echo md5($key1);
    
    echo md5($key2);
    if(md5($key1) == md5($key2) && $key1 !== $key2){
        echo $flag."取得flag";
    }
    ?>
    

    $_SERVER['REQUEST_URI'] 获取域名后面的值,包括“/”

    $str = strstr($_SERVER['REQUEST_URI'], '?'); 为域名后的值,“?” 后的值,也就是参数,包括“?”

    $str = substr($str,1);  为获取“?”后的值,不包括“?”

    $str = str_replace('key','',$str); 如果有 key,把 key 替换成空,可以用 kekeyy 来绕过

    parse_str() 函数会把查询字符串解析到变量中

    如果 key1 和 key2 的 md5 值相等,且 key1 的值不等于 key2 的值,才会得到 flag

    可以用数组来实现,因为 md5() 不能加密数组,所以会返回 null

    index.php?kekeyy1[]=a&kekeyy2[]=b

    得到 flag

  • 相关阅读:
    [附件解决方案]CruiseControl.NET 超冷门”BUG” 关键字:VstsHistoryParser ParseChangeSet CheckForModifications FormatException
    SQL SERVER 2008 函数大全 字符串函数
    第五章 DOM接口 DOM Interfaces
    [MSSQL]FOR XML AUTO I
    DOS CHOICE命令
    [MSSQL]NTILE另类分页有么有?!
    原生态webglDEMO,以后可能选择Three.JS来代替了,代码网上找的,参考引用
    [MSSQL]COALESCE与ISNULL函数
    【转】“无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域”错误提示的解决
    【转】一个项目涉及到的50个Sql语句(整理版)
  • 原文地址:https://www.cnblogs.com/sch01ar/p/9236684.html
Copyright © 2011-2022 走看看