PHP: SQL 注入

您所在的位置:网站首页 常用的sql注入 PHP: SQL 注入

PHP: SQL 注入

2024-07-15 23:13:10| 来源: 网络整理| 查看: 265

SQL 注入

SQL 注入是一种攻击技术,攻击者利用应用程序代码中构建动态 SQL 查询的缺陷。攻击者可以访问应用程序的特权部分,从数据库检索所有信息,篡改现有数据,甚至在数据库主机上执行危险的系统级命令。当开发人员在他们的 SQL 语句中连接或插入任意输入时,这种漏洞就会发生。

示例 #1 将结果集切割成页面……并创建超级用户(PostgreSQL)。

在下面的示例中,用户输入直接插入到 SQL 查询中,使得攻击者能够在数据库中获得超级用户账户。

普通用户会点击“上一页”、“下一页”,$offset 已经编码到 URL 的链接。脚本期望传入的 $offset 是数字。然而,如果有人尝试把以下语句追加入 URL 中的话: 0; insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd) select 'crack', usesysid, 't','t','crack' from pg_shadow where usename='postgres'; -- 如果发生,脚本将向攻击者提供超级用户访问权限。注意那个 0; 是为了向原始查询提供有效的偏移量并终止。

注意:

这是常见的技术,使用 SQL 中的注释符号 --,强制 SQL 解析器忽略开发者编写的查询的其余部分。

获取密码的一种可行方式是欺骗搜索结果页面。攻击者只需查看是否有已提交的未经适当处理变量在 SQL 语句中使用。这些过滤器通常可以在先前的表单中设置,以定制 SELECT 语句中的 WHERE、ORDER BY、LIMIT 和 OFFSET 子句。如果数据库支持 UNION 构造,攻击者可能会尝试将整个查询附加到原始查询中,以从任意表中列出密码。强烈建议仅存储密码的安全散列值,而不是密码本身。

示例 #2 列出文章……以及一些密码(任何数据库服务器)

预处理语句由 PDO、MySQLi 和其他数据库库提供。

SQL 注入攻击主要是基于利用代码在编写时没有考虑安全性。永远不要相信任何输入,特别是来自客户端的输入,即使它来自于选择框、隐藏的输入字段或 cookie。第一个示例表明,即使是如此简单的查询也可能带来灾难。

深度防御策略涉及几种良好的编程实践:

永远不要以超级用户或数据库所有者的身份连接到数据库。始终使用具有最低权限的自定义用户。 检查指定输入是否具有预期的数据类型。PHP 拥有很多输入验证函数,从最简单的变量函数和字符类型函数(例如 is_numeric()、ctype_digit())到支持 Perl 兼容正则表达式的函数。 如果应用程序期望数字输入,可以考虑使用 ctype_digit() 验证数据,使用 settype()更改其类型,或者使用 sprintf() 打印其数字表示形式。 如果数据库层不支持绑定变量,则应使用特定于数据库的字符串转义函数(例如 mysql_real_escape_string()、sqlite_escape_string() 等)对传递给数据库的用户提供的非数字值进行转义。通用的函数如 addslashes() 只在非常特定的环境中有用(例如在禁用了 NO_BACKSLASH_ESCAPES 的单字节字符集 MySQL),因此最好避免使用它们。 请勿以正当或非正当手段打印出任何特定于数据库的信息,特别是关于 schema 的信息。另请参阅错误报告和错误处理以及日志记录函数。

除此之外,如果数据库支持日志记录,还可以从脚本里或通过数据库自身记录查询语句。显然,日志记录无法阻止任何有害尝试,但它可以帮助追踪绕过了哪个应用程序。日志本身并没有用处,但通过其中包含的信息可以得到帮助。通常情况下,更详细的信息比较少的信息更好。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭