声明
免责声明:本文为个人作品,只做技术研究,只可用于正常的技术交流与学习,不可用于灰黑产业,不可从事违法犯罪行,严禁利用本文所介绍的技术进行未授权的恶意攻击,否则,后果自负!!!
目录
一 、过程
一次src挖掘,在某个请求包中看到了可能存在sql注入的参数orderByField,
经过测试发现,该字段并不存在注入,接着在ids 参数尝试注入
当我们随便指定ids 为一条具体的新闻ID时 发现返回了该新闻信息, 使用 ') and 2>1 -- 正常返回 使用 ') and 2>7 -- 无数据返回
经过测试 发现过了过滤了mid,substr,substring,left,right,like
src一般只要得到数据库名即可证明危害,下面尝试手工注入
以上说明数据库长度为7
既然不能用like 我们可以用regexp 函数,这里我偷了一个懒,为了不暴露src域名,假设这里我测试的域名是www.abc_fgh.com
我们用
ids=3058123213’)+and+(select+database()+REGEXP+'abc')--+ 返回了数据,说明数据库名中包含abc这个字符串的
接着继续
ids=3058123213’)+and+(select+database()+REGEXP+'fgh')--+ 也返回了数据,说明数据库名中包含 fgh
那么第7个字符 是不是就是下划线呢?经过尝试发现确实就是
ok 一个高危到手!
二、总结
这里虽然有点投机取巧,但是我们一个字符一个字符爆破,仍然可以爆破出来
这里需要注意的是,如果要区分大小写的话,需要使用BINARY 这个关键字