当前位置: 首页 > news >正文

ctfshow

1,web517

通过输入两个单引号让查询语句正常,判断是什么注入,使用的是什么字符

然后我们通过order by 判断回显位,进行一个联合查询注入

获取数据库名

ctfshow的sqli-labs和本地搭建最大的不同,就是show的flag不在当前的security库中,而是在另一个库ctfshow

我们在联合查询时,用的是information_schema,这个库中有tablescolumns,也有另外一个叫schemata的表,里面存储的就是数据库中所有的库名。

爆出表名

爆出列名

爆出flag字段

2,web58

var_dump() #打印变量相关信息
print_r()  #打印多个变量的值,可以打印复杂类型变量的值,如array
 
file_get_contents()
highlight_file()
show_source()        #highlight_file()的别名
readfile()
 
scandir()  #用于打印目录下的文件

试了一下system() 不行

print_r(scandir('.'));   #打印当前目录文件名字
show_source('flag.php');    #对文件进行语法高亮显示。

获取当前目录的名字

通过show_source('flag.php');高亮显示flag

3,web65

print_r(scandir(dirname('FILE'))); 扫描一下文件

高亮显示文件

4,web66

使用上一题的 payload 发现文件不在原来的位置了

我们使用print_r(scandir("/"));进行查找

print_r()  #打印多个变量的值,可以打印复杂类型变量的值,如array
scandir()  #用于打印目录下的文件

找到了

5,web67

使用上一题的 payload

6,web68

访问就是这个

禁用了 highlight_file() ,但传参应该还是c

print_r被禁了,使用 var_dump()

还是在flag.txt

readfile 函数是 PHP 中用于读取文件并将其内容输出到缓冲区的函数。

7,web69

 print_r(glob("*")); // 列当前⽬录
print_r(glob("/*")); // 列根⽬录
print_r(scandir("."));
 print_r(scandir("/"));
 $d=opendir(".");while(false!==($f=readdir($d))){echo"$f\n";}
 $d=dir(".");while(false!==($f=$d->read())){echo$f."\n";}
 $a=glob("/*");foreach($a as $value){echo $value."   ";}
 $a=new DirectoryIterator('glob:///*');foreach($a as $f){echo($f->__toString
 ()." ");}
$d=opendir(".");while(false!==($f=readdir($d))){echo"$f\n";}
opendir("/") 是 PHP 的一个函数,用于打开指定目录
hile(false!==($f=readdir($d))) 是一个 while 循环,用于遍历目录中的所有文件和文件夹。循环的条件是 readdir($d) 的返回值不等于 false。如果不等于 false,说明还有文件或文件夹可以读取,循环继续;如果等于 false,说明目录已经读取完毕,循环结束。  

读取文件

8,web70

过滤了 error_reporting() , ini_set() , highlight_file()

读取文件

9,web389

黑盒测试先扫一下目录

访问/debug/,提示权限不足,上一题的debug目录是文件包含

f12,查看了一下cookie,可以看到使用的是jwt加密,有非常明显的两个点,jwt是由三部分组成

解密

sub改为admin,因为采用了HS256加密需要找secret,secret可以爆破就是123456

知道文件路径,直接将flag,写到flag.txt文件

10,web390

访问公园往事的时候出现了一个id=2,有可能存在sql注入

是数字性注入

三列

2,3回显

库名

sql注入,直接通过sqlmap注入,获取 /var/www/html/alsckdfy/check.php

11,web391

sqlmap没有跑出来

搜索也有注入点

成功

12,web392

python sqlmap.py -u https://abeb2542-4977-4b11-899b-1e80197665f8.challenge.ctf.show/search.php?title=1 --file-read /var/www/html/alsckdfy/check.php

又拿sqlmap测了一下,发现不在原来的位置了

通过--os-shell的写入两个php文件,执行命令查找flag

放在根目录flag里面了

13,web393

sqlmap没有跑出来,看了一下wp,发现是通过堆叠注入配合ssrf获取flag的

在主页下面发现可以选择搜索引擎

后台应该是根据这里传入的id值到数据库中查询url,然后访问url,返回访问结果,存在ssrf

先通过sqlmap获取表名和库名,利用堆叠注入插入数据

然后访问link.php?id=10

14,web394

和上一题很像,但根据它的提示flag可能又回去了

试了一下上一题的payload发现不行,应该是过滤了什么

测试了一下是把file过滤了,找一下绕过,发现16进制可以

的确没在根目录下了

15web395

上⼀题payload可以打

http://www.dtcms.com/a/107366.html

相关文章:

  • Android 10.0 通过广播控制systemui状态栏动态显示和隐藏功能实现
  • docker的文件系统Overlay2
  • 【自学笔记】jQuery语言基础知识点总览-持续更新
  • 《UNIX网络编程卷1:套接字联网API》第5章 TCP客户服务器程序示例
  • 洛谷题单3-P1980 [NOIP 2013 普及组] 计数问题-python-流程图重构
  • 【力扣hot100题】(034)LRU缓存
  • 红帽Linux怎么重置密码
  • 【测试】每日3道面试题 4/1,4/2
  • 架构设计基础系列:事件溯源模式浅析
  • bit与byte的区别与联系?
  • TCP断开连接
  • Amodal3R ,南洋理工推出的 3D 生成模型
  • LXC image download
  • JS—图片格式:1分钟掌握图片选择
  • 多线程代码案例 - 1
  • MATLAB之数据分析图系列 三
  • 启动nginx报错failed to start nginx - high performance web server
  • Gin、Echo 和 Beego三个 Go 语言 Web 框架的核心区别及各自的优缺点分析,结合其设计目标、功能特性与适用场景
  • 简单链表反转
  • 【无标题】跨网段耦合器解决欧姆龙CJ系列PLC通讯问题案例
  • HTML 插件学习笔记
  • 996引擎-生肖(首饰盒)
  • 关于testng.xml无法找到类的问题
  • 从入门到入土,SQLServer 2022慢查询问题总结
  • Linux进程信号:【什么是信号】【产生信号】【保存信号】【捕捉信号】【可重入函数】【volatile】【SIGGHLD】
  • R语言、BIOMOD2丨物种分布模型研究进展与挑战
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的文件上传与下载:实现文件管理功能
  • 使用Docker快速部署Dify
  • 智能导视:引领未来导航的创新力量
  • Pytorch 第十三回:神经网络编码器——自动编解码器