php使用exec shell命令注入的方法讲解

php使用exec shell命令注入的方法讲解
使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此。如果使用了被污染数据,命令注入漏洞就产生了。 exec()是用于执行shell命令的函数。它返回执行并返回命令输出的最后一行,但你可以指定一个数组作为第二个参数,这样输出的每一行都会作为一个元素存入数组。使用方式如下: <?php $last = exec('ls', $output, $return); print_r($output); echo "Return [$retu...

php打开远程文件的方法和风险及解决方法

php打开远程文件的方法和风险及解决方法
本文讲的是php打开远程文件的使用方法,还有使用风险和解决方法。 PHP有一个配置选项叫allow_url_fopen,该选项默认是有效的。它允许你指向许多类型的资源,并像本地文件一样处理。例如,通过读取URL你可以取得某一个页面的内容(HTML),看下面的代码: <?php $contents = file_get_contents('https://www.phpfensi.com/'); ?> 当被污染数据用于include和require的文件指向时,会产生严重漏洞。实...

php后门URL的防范

php后门URL的防范
后门URL是指虽然无需直接调用的资源能直接通过URL访问,例如,下面WEB应用可能向登入用户显示敏感信息: <?php $authenticated = FALSE; $authenticated = check_auth(); if ($authenticated) {     include './sensitive.php'; } ?> 由于sensitive.php位于网站主目录下,用浏览器能跳过验证机制直接访问到该文件。这是由于在网站主目录下的所有文件都有一个相应的URL地址。在某些情况下,这些脚...

php session劫持和防范的方法

php session劫持和防范的方法
session 数据暴露 会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不是在数据库或文件系统中。因此,会话数据自然不会公开暴露。 使用SSL是一种特别有效的手段,它可以使数据在服务器和客户端之间传送时暴露的可能性降到最低。这对于传送敏感数据的应用来说非常重要。SSL在HTTP之上...

程序员:能花钱的,就不要花时间

程序员:能花钱的,就不要花时间
如果要寻找这个星球上最抠门的群体,那么一定非程序员们莫属了,有个笑话是找对象要找程序员:『挣得多,花的少;常加班,死的早』. 在创业之前,我也是个抠门的主,公司给配笔记本,就绝不自己买,一个N73用三年如果不是丢了就不会买新的,东西永远是够用就好,而不管是否在技术上已经落伍;为了找一款软件的sn,我可以花上一个小时,不厌其烦地注册有sn的论坛,攒积分下载,尽管该软件的正版价也就几十人民币. 值得庆幸的...

PHP中spl_autoload_register函数的用法总结

PHP中spl_autoload_register函数的用法总结
spl_autoload_register (PHP 5 >= 5.1.2) spl_autoload_register — 注册__autoload()函数 说明 bool spl_autoload_register ([ callback $autoload_function ] ) 将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激活它们。 如果在你的程序中已经实现了__autoload函数,它必须显式注册到__autoload栈中。因为 spl_autoload_register()函数会将Zend Engine中的__autoload函数取代为spl...

php使用mb_check_encoding检查字符串在指定的编码里是否有效

php使用mb_check_encoding检查字符串在指定的编码里是否有效
mb_check_encoding — 检查字符串在指定的编码里是否有效 PHP 版本要求: (PHP 4 >= 4.4.3, PHP 5 >= 5.1.3) 说明:bool mb_check_encoding ([ string $var = NULL [, string $encoding = mb_internal_encoding() ]] ) 检查指定的字节流在指定的编码里是否有效。它能有效避免所谓的“无效编码攻击(Invalid Encoding Attack)”。 参数 var 要检查的字节流。如果省略了这个参数,此函数会检查所有来自最...

PHP 5.5 创建和验证哈希最简单的方法详解

PHP 5.5 创建和验证哈希最简单的方法详解
最近 PHP 5.5.0 发布了,并带来了一份完整的全新特性与函数的列表。全新API之一就是Password Hashing API.它包含4个函数:password_get_info(), password_hash(), password_needs_rehash(),和password_verify().让我们分步来了解每个函数 我们首先讨论password_hash()函数。这将用作创建一个新的密码的哈希值。它包含三个参数:密码、哈希算法、选项。前两项为必须的。你可以根据下面的例子来使用这个函数...

php cookie使用方法学习笔记分享

php cookie使用方法学习笔记分享
在php中cookie与其它程序中没什么两样,cookie都是用来存储信息到客户端,常用用于安全性要求不高的一些应用中,如用户登录记住密码之类的,下面我来给大家介绍一下php cookie学习笔记。 PHP setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的...

PHP输出当前进程所有变量/常量/模块/函数/类的示例

PHP输出当前进程所有变量/常量/模块/函数/类的示例
1. get_defined_vars  (PHP 4 >= 4.0.4, PHP 5) — 获取由所有已定义变量所组成的数组 array get_defined_vars ( void ) 此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。 <?php echo '<pre>'; $b = array(1,1,2,3,5,8); $arr = get_defined_vars(); // 打印 $b print_r($arr["b"]); // 打印所有服务器变量 print_r($arr["_SERVER"]); /...
Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录