Qt登录界面,演示SQL注入攻击

[复制链接]
发表于 2025-9-18 05:59:25 | 显示全部楼层 |阅读模式
运行效果如下:
1、正常注册一个账户 xiaobai  暗码 xiaobai ,注册乐成
2、利用账号 xiaobai 暗码 xiaobai ,确认可以登录
3、利用账号 xiaobai 暗码 ' OR '1'='1  确认可以通过SQL注入的方式登录
4、输入任意账号(未注册用户) 暗码 ' OR '1'='1 也可以登录。
解决方法:
1、利用bindValue 可以防止SQL注入。

题目代码如下: 
  1.     QString sql=QString("select * from user where username='%1' and password='%2'")
  2.             .arg(username).arg(password);
  3.     //创建执行语句对象
  4.     QSqlQuery query(sql);
  5.     //判断执行结果
  6.     if(!query.next())
  7.     {
  8.         qDebug()<<"Login error";
  9.         QMessageBox::information(this,"登录认证","登录失败,账户或者密码错误");
  10.     }
  11.     else
  12.     {
  13.         qDebug()<<"Login success";
  14.         QMessageBox::information(this,"登录认证","登录成功");
  15.         QWidget *w = new QWidget;
  16.         w->show();
  17.         this->close();
  18.     }
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表