What is wide byte injection in SQL injection?
Wide byte injection: It is a way to bypass SQL injection
1. Wide byte concept:
1. Single-byte character set: all characters are used Represented by one byte, such as ASCII encoding (0-127)
In multi-byte character sets, some characters are composed of multiple bytes, while other characters are represented by a single byte (some characters may not single byte representation).
3. UTF-8 encoding: It is an encoding method (multi-byte encoding). It can use 1~4 bytes to represent a symbol, and the byte length changes according to different symbols.
4. Common wide bytes: GB2312, GBK, GB18030, BIG5, Shift_JIS GB2312 does not have wide byte injection, and codes with wide byte injection can be collected.
5. When using wide byte injection, a feature of mysql is used. When using GBK encoding, two characters will be considered to be one Chinese character.
2. addslashes() function
1. The addslashes() function returns a string with backslashes added before predefined characters.
2. Predefined characters: single quotation mark ('), double quotation mark ("), backslash (\), NULL
3. Example
https:/ /xxxxx?name=hello'
The single quotes entered were escaped and there is no way to escape
Then I looked at the page source code and request headers and found that the client encoding is gbk
Try to enter hello�', and the console reports an error indicating that the quotation marks are not closed. The following is the js code outside the structure, and comment out the following characters to make the syntax correct
3. Actual combat at the shooting range
1. First open the page, see the maintenance information, click in and observe that it has the id parameter, because the question is about wide byte injection
2. Directly enter the classic bypass method of wide byte injection: �', and you will see the error page,
3. Directly modify the id parameter in SQLmap for regular detection
4. The password is encrypted by MD5. After decryption, you can get the login password. After logging in, you will get the KEY
The above is the detailed content of What is wide byte injection in SQL injection?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HQL and SQL are compared in the Hibernate framework: HQL (1. Object-oriented syntax, 2. Database-independent queries, 3. Type safety), while SQL directly operates the database (1. Database-independent standards, 2. Complex executable queries and data manipulation).

"Usage of Division Operation in OracleSQL" In OracleSQL, division operation is one of the common mathematical operations. During data query and processing, division operations can help us calculate the ratio between fields or derive the logical relationship between specific values. This article will introduce the usage of division operation in OracleSQL and provide specific code examples. 1. Two ways of division operations in OracleSQL In OracleSQL, division operations can be performed in two different ways.

Oracle and DB2 are two commonly used relational database management systems, each of which has its own unique SQL syntax and characteristics. This article will compare and differ between the SQL syntax of Oracle and DB2, and provide specific code examples. Database connection In Oracle, use the following statement to connect to the database: CONNECTusername/password@database. In DB2, the statement to connect to the database is as follows: CONNECTTOdataba

Interpretation of MyBatis dynamic SQL tags: Detailed explanation of Set tag usage MyBatis is an excellent persistence layer framework. It provides a wealth of dynamic SQL tags and can flexibly construct database operation statements. Among them, the Set tag is used to generate the SET clause in the UPDATE statement, which is very commonly used in update operations. This article will explain in detail the usage of the Set tag in MyBatis and demonstrate its functionality through specific code examples. What is Set tag Set tag is used in MyBati

What is Identity in SQL? Specific code examples are needed. In SQL, Identity is a special data type used to generate auto-incrementing numbers. It is often used to uniquely identify each row of data in a table. The Identity column is often used in conjunction with the primary key column to ensure that each record has a unique identifier. This article will detail how to use Identity and some practical code examples. The basic way to use Identity is to use Identit when creating a table.

When Springboot+Mybatis-plus does not use SQL statements to perform multi-table adding operations, the problems I encountered are decomposed by simulating thinking in the test environment: Create a BrandDTO object with parameters to simulate passing parameters to the background. We all know that it is extremely difficult to perform multi-table operations in Mybatis-plus. If you do not use tools such as Mybatis-plus-join, you can only configure the corresponding Mapper.xml file and configure The smelly and long ResultMap, and then write the corresponding sql statement. Although this method seems cumbersome, it is highly flexible and allows us to

Solution: 1. Check whether the logged-in user has sufficient permissions to access or operate the database, and ensure that the user has the correct permissions; 2. Check whether the account of the SQL Server service has permission to access the specified file or folder, and ensure that the account Have sufficient permissions to read and write the file or folder; 3. Check whether the specified database file has been opened or locked by other processes, try to close or release the file, and rerun the query; 4. Try as administrator Run Management Studio as etc.

How to use SQL statements for data aggregation and statistics in MySQL? Data aggregation and statistics are very important steps when performing data analysis and statistics. As a powerful relational database management system, MySQL provides a wealth of aggregation and statistical functions, which can easily perform data aggregation and statistical operations. This article will introduce the method of using SQL statements to perform data aggregation and statistics in MySQL, and provide specific code examples. 1. Use the COUNT function for counting. The COUNT function is the most commonly used
