New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
selectByIds function sql injection #862
Comments
|
At the business level, check according to the type of ID. |
|
Maybe developers won't notice this problem, I believe that many developers do not verify whether the id parameter value is valid, which will lead to many vulnerabilities.
the best solution is to use parameterized query for ids in selectByIds function, that is, use #{} symbol to construct sql statement.
This makes applications using the tk.mybatis framework more secure.
…------------------ 原始邮件 ------------------
发件人: "abel533/Mapper" ***@***.***>;
发送时间: 2022年7月20日(星期三) 下午5:04
***@***.***>;
***@***.******@***.***>;
主题: Re: [abel533/Mapper] selectByIds function sql injection (Issue #862)
At the business level, check according to the type of ID.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
Guaranteed compatibility. Have a PR? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Write the following test demo:
1、UserController.java:
@controller
public class UserController {
}
2、UserService.java:
@service
public interface UserService {
}
3、UserServiceImpl.java:
@service
public class UserServiceImpl implements UserService {
}
4、UserMapper.java:
@org.apache.ibatis.annotations.Mapper
public interface UserMapper extends Mapper, MySqlMapper, IdsMapper {
}


5、Access the /gets route in the above demo for sql injection attack:
(1)Under normal circumstances, when the ids parameter value is passed in 1, 2, the data with id 1 and 2 can be obtained:
(2)But when the ids parameter value is 1') or 1=1-- -, you can get all the data in the database:
The text was updated successfully, but these errors were encountered: