Package core :: Package controllers :: Package sqlTools :: Module blindSqli :: Class blindSqli
[hide private]
[frames] | no frames]

Class blindSqli




This class tests for blind SQL injection bugs, the logic is here and not as an audit plugin cause this logic is also used in attack plugins.


Author: Andres Riancho ( andres.riancho@gmail.com )

Instance Methods [hide private]
  __init__(self)
  setEqualLimit(self, _equalLimit)
  setEquAlgorithm(self, _equAlgorithm)
  verifyBlindSQL(self, freq, parameter)
Verify the existance of an already found vuln.
  findBlindSQL(self, fuzzableRequest, saveToKb=False)
Tests an URL for blind Sql injection vulnerabilities.
  _getStatements(self, mutant, excludeNumbers=[])
Returns a list of statement tuples.
  _findBsqlAux(self, mutant, statementTuple, statementType, saveToKb)
Auxiliar function that does almost nothing.
  _findBsql(self, mutant, statementTuple, statementType)
Is the main algorithm for finding blind sql injections.
  equal(self, body1, body2)
Determines if two pages are equal using some tricks.
  _intelligentCut(self, body1, body2)
This is one of the equal algorithms.
  _stringEq(self, body1, body2)
This is one of the equal algorithms.
  _setIntersection(self, body1, body2)
This is one of the equal algorithms.

Inherited from basePlugin.basePlugin.basePlugin: __eq__, getDesc, getLongDesc, getName, getOptionsXML, getPluginDeps, getType, printUniq, setOptions, setUrlOpener

Inherited from basePlugin.basePlugin.basePlugin (private): _sendMutant


Method Details [hide private]

__init__(self)
(Constructor)

 
None
Overrides: basePlugin.basePlugin.basePlugin.__init__

setEqualLimit(self, _equalLimit)

 
None

setEquAlgorithm(self, _equAlgorithm)

 
None

verifyBlindSQL(self, freq, parameter)

 
Verify the existance of an already found vuln.

findBlindSQL(self, fuzzableRequest, saveToKb=False)

 
Tests an URL for blind Sql injection vulnerabilities.
Parameters:
  • freq - A fuzzableRequest

_getStatements(self, mutant, excludeNumbers=[])

 
Returns a list of statement tuples.

_findBsqlAux(self, mutant, statementTuple, statementType, saveToKb)

 
Auxiliar function that does almost nothing.

_findBsql(self, mutant, statementTuple, statementType)

 
Is the main algorithm for finding blind sql injections.

equal(self, body1, body2)

 
Determines if two pages are equal using some tricks.

_intelligentCut(self, body1, body2)

 
This is one of the equal algorithms. The idea is to remove the sections of the html that change from one call to another.

_stringEq(self, body1, body2)

 
This is one of the equal algorithms.

_setIntersection(self, body1, body2)

 
This is one of the equal algorithms.