当前位置: 首页 > news >正文

php代码审计--sql注入

sql注入是web安全中最常见,也是平常中危害最大的漏洞。

最近在学习代码审计,拿自己审核的一段代码做个笔记。

 

1、sql语句拼接可能引起sql注入

很多偷懒的程序员对于没有过滤的参数,直接将其拼接到sql语句中,可能导致命令执行。

如:$sql = "select count(*) as qty from t_user where f_uid='"+$userAccount+"' and f_password='"+$password+"'";

造成sql注入时的sql语句就变成了select count(*) as qty from t_user where f_uid='admin'--'and f_password=***;

2、强制转换也不能全部阻挡住sql注入

有一部分程序员会有一定的安全意识,对变量会进行强制转换来进行过滤。

如:$sql = sprintf("select count(*) as qty from t_user where f_uid='%d' and f_password='%s'",$userAccount,$password);

但是,这种过滤是不能挡住sql注入的,主要是因为userAccount会被强制转换成整型也就是%d,但是password所传过来的参数并不会变更,

因为password所在的位置为字符串。

 

总结:预编译是所有sql注入的终结防御,荆轲刺秦王。

转载于:https://www.cnblogs.com/ermei/p/5684087.html

相关文章:

  • Android开发技术周报 Issue#89
  • mysql关联表的复制
  • 【贪心】电视节目安排
  • zynq基础--verilog简易规则
  • 算法学习总结(二):选择排序
  • POJ - 1287 Networking
  • 【iOS】Jenkins Gitlab持续集成打包平台搭建
  • MySQL性能优化的最佳21条经验【转载】
  • 游戏引擎
  • Python的pip安装
  • 电Call记录统计查询sql
  • 数组操作
  • input输入类型
  • 连接优化查询,按条件查询的时候,如何优化查询的时间
  • 如何使用Enum
  • 分享一款快速APP功能测试工具
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • const let
  • ECMAScript入门(七)--Module语法
  • es6要点
  • Hibernate【inverse和cascade属性】知识要点
  • Iterator 和 for...of 循环
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JavaScript服务器推送技术之 WebSocket
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 开发基于以太坊智能合约的DApp
  • 聊聊directory traversal attack
  • 排序算法之--选择排序
  • 如何在 Tornado 中实现 Middleware
  • 微信小程序:实现悬浮返回和分享按钮
  • 线性表及其算法(java实现)
  • 一个完整Java Web项目背后的密码
  • 一些关于Rust在2019年的思考
  • 移动端唤起键盘时取消position:fixed定位
  • 运行时添加log4j2的appender
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 进程与线程(三)——进程/线程间通信
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​flutter 代码混淆
  • #stm32驱动外设模块总结w5500模块
  • #图像处理
  • (1)(1.9) MSP (version 4.2)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (六)c52学习之旅-独立按键
  • (六)激光线扫描-三维重建
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)ObjectiveC 深浅拷贝学习
  • *1 计算机基础和操作系统基础及几大协议
  • .cn根服务器被攻击之后
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core中的去虚
  • .NET MVC之AOP