Package com.jsql.model
Class InjectionModel
java.lang.Object
java.util.concurrent.SubmissionPublisher<Request>
com.jsql.model.AbstractModelObservable
com.jsql.model.InjectionModel
- All Implemented Interfaces:
Serializable,AutoCloseable,Flow.Publisher<Request>
Model class of MVC pattern for processing SQL injection automatically.
Different views can be attached to this observable, like Swing or command line, in order to separate the functional job from the graphical processing.
The Model has a specific database vendor and strategy which run an automatic injection to get name of databases, tables, columns and values, and it can also retrieve resources like files and shell.
Tasks are run in multi-threads in general to speed the process.
Different views can be attached to this observable, like Swing or command line, in order to separate the functional job from the graphical processing.
The Model has a specific database vendor and strategy which run an automatic injection to get name of databases, tables, columns and values, and it can also retrieve resources like files and shell.
Tasks are run in multi-threads in general to speed the process.
- See Also:
-
Field Summary
FieldsFields inherited from class com.jsql.model.AbstractModelObservable
isStoppedByUser -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendAnalysisReport(String analysisReport) voidappendAnalysisReport(String analysisReport, boolean isInit) voidPrepare the injection process, can be interrupted by the user (via shouldStopAll).static Stringinject(String dataInjection, boolean isUsingIndex, String metadataInjectionProcess, AbstractCallableBit<?> callableBoolean, boolean isReport) Run an HTTP connection to the web server.voidReset each injection attributes: Database metadata, General Thread status, Strategy.voidsendResponseFromSite(String message, String source) Display source code in console.voidsetIndexesInUrl(String indexesInUrl) voidsetIsScanning(boolean isScanning) booleanMethods inherited from class com.jsql.model.AbstractModelObservable
getReportWithIndexes, getReportWithoutIndex, getReportWithoutIndex, injectWithIndexes, injectWithoutIndex, injectWithoutIndex, isStoppedByUser, sendToViews, setIsStoppedByUserMethods inherited from class java.util.concurrent.SubmissionPublisher
close, closeExceptionally, consume, estimateMaximumLag, estimateMinimumDemand, getClosedException, getExecutor, getMaxBufferCapacity, getNumberOfSubscribers, getSubscribers, hasSubscribers, isClosed, isSubscribed, offer, offer, submit, subscribe
-
Field Details
-
STAR
- See Also:
-
BR
- See Also:
-
-
Constructor Details
-
InjectionModel
public InjectionModel()
-
-
Method Details
-
resetModel
public void resetModel()Reset each injection attributes: Database metadata, General Thread status, Strategy. -
beginInjection
public void beginInjection()Prepare the injection process, can be interrupted by the user (via shouldStopAll). Erase all attributes eventually defined in a previous injection. Run by Scan, Standard and TU. -
getImplicitReason
-
inject
public String inject(String dataInjection, boolean isUsingIndex, String metadataInjectionProcess, AbstractCallableBit<?> callableBoolean, boolean isReport) Run an HTTP connection to the web server.- Specified by:
injectin classAbstractModelObservable- Parameters:
dataInjection- SQL query- Returns:
- source code of current page
-
sendResponseFromSite
Display source code in console.- Parameters:
message- Error messagesource- Text to display in console
-
getIndexesInUrl
-
setIndexesInUrl
-
shouldErasePreviousInjection
public boolean shouldErasePreviousInjection() -
setIsScanning
public void setIsScanning(boolean isScanning) -
getPropertiesUtil
-
getMediatorUtils
-
getMediatorVendor
-
getMediatorMethod
-
getDataAccess
-
getResourceAccess
-
getMediatorStrategy
-
appendAnalysisReport
-
appendAnalysisReport
-