您的位置:首页 > 编程语言 > PHP开发

SQL注入——PHP(1)

2020-07-21 04:13 1216 查看

PHP代码审计中的SQL注入

危险编码行为

编码 详情
$_GET 预定义的 $_GET 变量用于收集来自 method=“get” 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。
$_POST 预定义的 $_POST 变量用于收集来自 method=“post” 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。注释:然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。
$_COOKIE 存放通过HTTPcookie传递给当前脚本的变量。
$_REQUEST 用于收集HTML表单提交的数据。
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
$_GET_VARS 与上含义相同,PHP4.1.0中已弃用
$_POST_VARS 与上含义相同,PHP4.1.0中已弃用
$_COOKIE_VARS 与上含义相同,PHP4.1.0中已弃用
$_REQUEST_VARS 与上含义相同,PHP4.1.0中已弃用
$_SERVER_VARS 与上含义相同,PHP4.1.0中已弃用

危险函数

函数 详情
mysql_ query($sql) 向当前使用的数据库发送一一个查询
mssql_ query($sql) 向当前使用的数据库发送一一个查询
mysql_ query($db,$sql) 选择一个数据库,在该数据库上执行一个查询
oci_parse($connection,$sql) 在语句执行前对其进行解析
ora_parse($curosr,$sql) 在语句执行前对其进行解析
mssql_bind(&stnt,’@params’,$variable,SQLVARCHAR,false,false,100) 向存储过程添加一个参数
odbc_prepare($db,$sql) 准备执行一条语句
odbc_exec($db,$sql) 准备并执行一条SQL语句
pg_query($conn,$sql) 执行一个查询,曾为pg_exec()
pg_exec($conn,$sql) 执行一个查询
pg_send_query($conn,$sql) 发送一个异步查询
pg_send_query_prams($conn,$sql,$params) 向服务器提交一个命令并分离参数,无需等待结果
pg_query_prams($conn,$sql,$params) 向服务器提交一个命令并等待结果
pg_send_prepare($conn,“my_query”,‘SELECT * FROM table WHERE field=1’) 发送一个请求以创建一条具有指定参数的预备语句,无需等待完成
pg_prepare($conn,“my_query”,‘SELECT * FROM table WHERE field=1’) 发送一个请求以创建一条具有指定参数的预备语句并等待完成
pg_select($conn,$table_name,$assoc_array) 根据指定的具有field=>value的assoc_array选择记录
pg_update($conn,$arr_update,$arr_where) 用数据更新与制定条件匹配的记录
pg_insert($conn,$table_name,$assoc_array) 将assoc_array的值插入到table_name指定的表中
pg_delete($conn,$table_name,$assoc_array) 根据assoc_array中制定的键和值删除表中的记录

跟踪数据

推荐使用UNIX中国的GREP工具与AWK工具

审计流程中,可查看php.ini中的相关开关,如下表:

名称 作用
register_globals 负责将EGPCS变量注册成全局变量, PHP 4.2.0默认禁用了该功能
magic_quotes 用来避开传递给应用的存在潜在危害的字符,包括单引号、双引号、反斜线和NULL字符,PHP5.3.0弃用了magic_ quotes 选项,而PHP 6.0.0将移除该选项
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: