PHP MYSQL注入攻击需要预防7个要点_Mysql

1:数字型参数使用类似intval,floatval这样的方法强制过滤。

2:字符串型参数使用类似mysql_real_escape_string这样的方法强制过滤,而不是简单的addslashes。

3:最好抛弃mysql_query这样的拼接SQL查询方式,尽可能使用PDO的prepare绑定方式。

4:使用rewrite技术隐藏真实脚本及参数的信息,通过rewrite正则也能过滤可疑的参数。

5:关闭错误提示,不给攻击者提供敏感信息:display_errors=off。

6:以日志的方式记录错误信息:log_errors=on和error_log=filename,定期排查,Web日志最好也查。

7:不要用具有FILE权限的账号(比如root)连接MySQL,这样就屏蔽了load_file等危险函数。

时间: 2024-10-06 05:49:36

PHP MYSQL注入攻击需要预防7个要点_Mysql的相关文章

MySQL注入攻击与防御

一.注入常用函数与字符 下面几点是注入中经常会用到的语句 控制语句操作(select, case, if(), ...) 比较操作(=, like, mod(), ...) 字符串的猜解操作(mid(), left(), rpad(), -) 字符串生成操作(0x61, hex(), conv()(使用conv([10-36],10,36)可以实现所有字符的表示)) 二.测试注入 可以用以下语句对一个可能的注入点进行测试 三.注释符 以下是Mysql中可以用到的注释符: Examples: SE

mysql-关于PHP-MYSQL注入攻击实例

问题描述 关于PHP-MYSQL注入攻击实例 请问能实例一个基于PHP MYSQL类的注入攻击吗? PHP VERSION 5.6.3 在尝试进行模拟注入攻击时失败.打印了SQL语句,直接复制脚本到Mysql Workbench是可以成功DROP掉数据库的,但是在本地运行的时候始终报语法错误,求问错误在哪里,如何实例化这样一次的攻击. error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED); $data = $_GET['sql']; $da

防止MySQL注入或HTML表单滥用的PHP程序_php技巧

MySQL注入的意图是接管网站数据库并窃取信息.常见的开源数据库,如MySQL,已经被许多网站开发人员用来储存重要信息,如密码,个人信息和管理信息. MySQL之所以流行,是因为它与最流行的服务器端脚本语言PHP一起使用.而且,PHP是主导互联网的Linux- Apache服务器的主要语言.因此,这意味着黑客可以很容易地利用PHP就像Windows的间谍软件一样. 黑客向一个无担保的网页表单输入大量恶意代码(通过下拉菜单,搜索框,联系表单,查询表单和复选框). 恶意代码将被送到MySQL数据库,

预防SQL注入攻击之我见

SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行. 每个程序员都必须肩负起防止SQL注入攻击的责任. 说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论.当不知道注入原理的时候会觉得很神奇,怎么就被注入了呢?会觉得很难预防.但是当知道了注入原理之后预防不就是很简单的事情了吗? 第一次听说SQL注入攻击的时候还是在2004年(好像得知的比较晚),那是还是在写asp呢.在一次写代码的时候,有同事问我,你的这段代码防注入

asp.net 预防SQL注入攻击之我见_实用技巧

1. SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行. 2. 每个程序员都必须肩负起防止SQL注入攻击的责任. 说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论.当不知道注入原理的时候会觉得很神奇,怎么就被注入了呢?会觉得很难预防.但是当知道了注入原理之后预防不就是很简单的事情了吗? 第一次听说SQL注入攻击的时候还是在2004年(好像得知的比较晚),那是还是在写asp呢.在一次写代码的时候,有同事问我,你的这

PHP+MySQL 网站 SQL 注入攻击测试用例

SQL注入攻击测试用例 说明 Night Night' and 1=1# Night' and 1=2# 判断注入点.第一次是正常请求,如果存在注入漏洞,那么第二次请求得到结果应该与第一次一样,并且第三次请求得到的结果应该与前两次不同 Night' or 1=1# 返回所有数据,常用于有搜索功能的页面 Night' union select version()# 返回数据库版本信息 Night' union select database()# 返回当前的库名 Night' union sele

php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击

php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击 php防止SQL注入攻击一般有三种方法: 使用mysql_real_escape_string函数 使用addslashes函数 使用mysql bind_param() 本文章向大家详细介绍这三个方法在防止SQL注入攻击中的效果及区别. mysql_real_escape_string防sql注入攻击 mysql_real_escape_string() 函数转义 SQL 语句中

SQL注入攻击:防御和检查SQL注入的手段

虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施.知彼知己,方可取胜.首先要清楚SQL注入攻击有哪些种类. 观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. SQL注入攻击的种类 知彼知己,方可取胜.首先要清楚SQL注入攻击有哪些种类. 1.没有正确过滤转义字符 在用户的输入没有为转义字符过滤

PHP+SQL 注入攻击的技术实现以及预防办法

1. php 配置文件 php.ini 中的 magic_quotes_gpc 选项没有打开,被置为 off 2. 开发者没有对数据类型进行检查和转义 不过事实上,第二点最为重要.我认为, 对用户输入的数据类型进行检查,向 MYSQL 提交正确的数据类型,这应该是一个 web 程序员最最基本的素质.但现实中,常常有许多小白式的 Web 开发者忘了这点, 从而导致后门大开. 为什么说第二点最为重要?因为如果没有第二点的保证,magic_quotes_gpc 选项,不论为 on,还是为 off,都有