(self)
References for fingerprint:

        * http://www.sqlite.org/lang_corefunc.html
        * http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions
References for fingerprint:
References for fingerprint :
def checkDbms(self):
        """
        References for fingerprint:

        * http://www.sqlite.org/lang_corefunc.html
        * http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions
        """

        if not conf.extensiveFp and (Backend.isDbmsWithin(SQLITE_ALIASES) or (conf.dbms or "").lower() in SQLITE_ALIASES):
            setDbms(DBMS.SQLITE)

            self.getBanner()

            return True

        infoMsg = "testing %s" % DBMS.SQLITE
        logger.info(infoMsg)

        result = inject.checkBooleanExpression("LAST_INSERT_ROWID()=LAST_INSERT_ROWID()")

        if result:
            infoMsg = "confirming %s" % DBMS.SQLITE
            logger.info(infoMsg)

            result = inject.checkBooleanExpression("SQLITE_VERSION()=SQLITE_VERSION()")

            if not result:
                warnMsg = "the back-end DBMS is not %s" % DBMS.SQLITE
                logger.warn(warnMsg)

                return False
            else:
                infoMsg = "actively fingerprinting %s" % DBMS.SQLITE
                logger.info(infoMsg)

                result = inject.checkBooleanExpression("RANDOMBLOB(-1)>0")
                version = '3' if result else '2'
                Backend.setVersion(version)

            setDbms(DBMS.SQLITE)

            self.getBanner()

            return True
        else:
            warnMsg = "the back-end DBMS is not %s" % DBMS.SQLITE
            logger.warn(warnMsg)

            return False
def checkDbms ( self ) : if not conf . extensiveFp and ( Backend . isDbmsWithin ( SQLITE_ALIASES ) or ( conf . dbms or "" ) . lower ( ) in SQLITE_ALIASES ) : setDbms ( DBMS . SQLITE ) self . getBanner ( ) return True infoMsg = "testing %s" % DBMS . SQLITE logger . info ( infoMsg ) result = inject . checkBooleanExpression ( "LAST_INSERT_ROWID()=LAST_INSERT_ROWID()" ) if result : infoMsg = "confirming %s" % DBMS . SQLITE logger . info ( infoMsg ) result = inject . checkBooleanExpression ( "SQLITE_VERSION()=SQLITE_VERSION()" ) if not result : warnMsg = "the back-end DBMS is not %s" % DBMS . SQLITE logger . warn ( warnMsg ) return False else : infoMsg = "actively fingerprinting %s" % DBMS . SQLITE logger . info ( infoMsg ) result = inject . checkBooleanExpression ( "RANDOMBLOB(-1)>0" ) version = '3' if result else '2' Backend . setVersion ( version ) setDbms ( DBMS . SQLITE ) self . getBanner ( ) return True else : warnMsg = "the back-end DBMS is not %s" % DBMS . SQLITE logger . warn ( warnMsg ) return False