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
Fields inherited from class com.jsql.model.AbstractModelObservable
isStoppedByUser
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendAnalysisReport
(String analysisReport) void
appendAnalysisReport
(String analysisReport, boolean isInit) void
Prepare the injection process, can be interrupted by the user (via shouldStopAll).void
static String
inject
(String dataInjection, boolean isUsingIndex, String metadataInjectionProcess, AbstractCallableBoolean<?> callableBoolean, boolean isReport) Run a HTTP connection to the web server.void
Reset each injection attributes: Database metadata, General Thread status, Strategy.void
sendResponseFromSite
(String message, String source) Display source code in console.void
setIndexesInUrl
(String indexesInUrl) void
setIsScanning
(boolean isScanning) boolean
Methods inherited from class com.jsql.model.AbstractModelObservable
getReportWithIndexes, getReportWithoutIndex, getReportWithoutIndex, injectWithIndexes, injectWithoutIndex, injectWithoutIndex, isStoppedByUser, sendToViews, setIsStoppedByUser
Methods 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:
-
-
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, AbstractCallableBoolean<?> callableBoolean, boolean isReport) Run a HTTP connection to the web server.- Specified by:
inject
in 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
-
displayVersion
public void displayVersion() -
getIndexesInUrl
-
setIndexesInUrl
-
shouldErasePreviousInjection
public boolean shouldErasePreviousInjection() -
setIsScanning
public void setIsScanning(boolean isScanning) -
getVersionJsql
-
getMediatorUtils
-
getMediatorVendor
-
getMediatorMethod
-
getDataAccess
-
getResourceAccess
-
getMediatorStrategy
-
appendAnalysisReport
-
appendAnalysisReport
-