时间:2021-07-01 10:21:17 帮助过:41人阅读
Web应用程序的数据存储与读取通过数据库完成,而这些读写的操作通过SQL语句实现。实际项目中可能因为开发人员的疏忽或经验问题,未对用户可输入的参数进行严格地校验,导致用户可能恶意地将SQL命令带入数据库执行,实现注入的目的。
判断是否存在SQL注入漏洞,需满足以下四步:
http://127.0.0.1/sql.php?Parameter=James #正常查询数据
http://127.0.0.1/sql.php?Parameter=James‘ #页面异常或查询数据为空
http://127.0.0.1/sql.php?Parameter=James%‘and‘%‘=‘ #正常查询数据
http://127.0.0.1/sql.php?Parameter=James%‘and‘a%‘=‘b #查询数据为空或提示列表为空
判断是否存在SQL注入漏洞,需满足一下四步:
http://127.0.0.1/sql.php?Parameter=10001 #正常查询数据
http://127.0.0.1/sql.php?Parameter=10001‘ #页面异常或查询数据为空
http://127.0.0.1/sql.php?Parameter=10001 and 1=1 #正常查询数据
http://127.0.0.1/sql.php?Parameter=10001 and 1=2 #查询数据为空或提示列表为空
判断是否存在SQL注入漏洞,需满足一下四步:
http://127.0.0.1/sql.php?Parameter=James #正常查询数据
http://127.0.0.1/sql.php?Parameter=James‘ #页面异常或查询数据为空
http://127.0.0.1/sql.php?Parameter=James‘ and ‘1‘=‘1 #正常查询数据
http://127.0.0.1/sql.php?Parameter=James‘ and ‘1‘=‘2 #查询数据为空或提示列表为空
此外,一些注入的方法是通过Java+JDBC代码注入(Statement接口改为PreparedStatement接口预防)、MyBatis框架注入(Mapper XML文件‘$‘‘拼接改为‘#‘‘拼接预防)等实现,因此对于一些对外的Web程序,SQL注入的检查是必须的,否则通过SQL注入的漏洞,外部用户可能获取/修改数据或直接获得管理员权限,这对生产环境来说都是致命的。
SQL注入的测试方法
标签:查询 生产环境 命令 管理员 管理 web应用 生产 代码 web程序