SQL盲注的时候怎么判断数据库类型,求大佬补充

请先 登录 后评论

6 个回答

斑驳

MSSQL:xxx' and 'a'+'b' = 'ab
MYSQL:@@版本 和 版本() 均可用,以及length函数,substr函数
ORACLE:xxx' and 'a'||'b'='ab

弱鸡的我就知道三个主流的,其他的如db2、mongodb等等不太常见的咋判断- -

请先 登录 后评论
Bing

1、目前站点一般的也就这三种,但应深挖,有时WAF会拦得你无法从一两个方法来判别;故建议还是仔细认真地梳理一下这三类的一些基本语法,基本的即可,从中亦可看出区别,例如各种运算、基本函数语法、预设默认函数语法等,比如求ascii的语法区别。



2、对于其他的关系型数据库,MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、SQLite、Firebird、Sybase、SAP MaxDB、DB2,可以先看下SQLMAP是怎么区分的。


3、对于非关系型数据库,大概了解下基本语法吧。

请先 登录 后评论
F_Lib

根据数据库特有函数来判断

len和length

substring和substr

根据特殊符号进行判断


参考链接:https://blog.csdn.net/weixin_43749601/article/details/115369123

请先 登录 后评论
Colorado

1、通过数据库特有的数据表来判断


2、通过数据库特有的连接符判断数据库类型


3、通过页面返回的报错信息,一般情况下页面报错会显示是什么数据库类型

请先 登录 后评论
萬種

可以通过数据库的特有的延时函数来判断,比如mysql的sleep和mssql的WAITFOR DELAY 

请先 登录 后评论
Admininstrator

根据端口判断或者根据数据库特有函数来判断,比如

或者是一些特殊符号进行判断


请先 登录 后评论