php offset特征造成的绕过漏洞详解
来源:互联网 发布:spring中面向切面编程 编辑:程序博客网 时间:2024/05/21 19:46
本文和大家分享的主要是由php offset特征造成的绕过漏洞相关内容,一起来看看吧,希望对大家学习php有所帮助。
php中的字符串存在一个非常有趣的特性,php中的字符串也可以像数组一样进行取值。
$test = "hello world";echo $test[0];
最后的结果就是h。
但是上述的这种特性有时会有意想不到的效果,看下面这段代码
$mystr = "hello world";echo $mystr["pass"];
上述的代码的输出结果是h.这是为什么呢?其实很简单,和很多其他的语言一样,字符串在php中也像数组一样可以使用下标取值。 $mystr["pass"] 中pass会被进行隐性类型转换为0,这样$mystr[0] 的输出结果就是首字母h.
同样地,如果尝试如下的代码:
$mystr = "hello world";echo $mystr["1pass"];
输出结果就是e.因为1pass会被隐性类型转换为1,$mystr[1]的输出结果就是第二个字母e.
字符特性造成的漏洞
下面这段代码是在在phpspy2006中用于判断登录时所使用的代码。
$admin['check'] = "1";
$admin['pass'] = "angel";
......if($admin['check'] == "1") {
....
}
这样的验证逻辑如果利用上述的特性就很容易地就可以被绕过。$admin没有被初始定义为数组类型,那么当我们用字符串提交时phpsyp.php?admin=1abc时,php会取字符串1xxx的第一位,成功绕过if的条件判断。
上面那段代码是一个代码片段,接下来的这段代码是一段完整的逻辑代码,来自于php4fun中第5题,比较有意思。
来源:乘物游心
- php offset特征造成的绕过漏洞详解
- PHP的Session托管机制容易造成漏洞
- PHP字符编码绕过漏洞总结
- PHP字符编码绕过漏洞总结
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- [漏洞分析] Smart PHP Poll认证绕过漏洞
- PHP字符编码绕过漏洞--addslashes、mysql_real_escape漏洞
- offset,client的详解
- Sun Java System本地绕过的漏洞
- 文件上传漏洞的相关绕过方法
- PHP的$_SERVER['PHP_SELF']造成的XSS漏洞攻击及其解决方案
- PHP 函数允许脚本绕过open_basedir目录限制漏洞
- MasterKey签名绕过漏洞
- 安全教程:Citrix密码绕过漏洞引发的渗透
- i春秋:警惕您站上的MIME类型绕过漏洞
- i春秋:警惕您站上的文件扩展名绕过漏洞
- PHP文件包含漏洞详解
- HDU 1107 武林
- URG--PSH
- Oracle Index
- Win7出现无法启动无线服务,出现无线网络未连接问题的解决方案
- FTP异步模型测试网络状态
- php offset特征造成的绕过漏洞详解
- C++Primer Plus递归一节中尺子程序的另一种写法
- Python简介
- 用Java实现某个目录下指定文件类型的内容合并
- 谷歌浏览器安装失败,解决办法
- [PAT-甲级]1011.World Cup Betting
- iOS @class
- Android中的四大组件之-Activity
- scikit-learn linearRegression 1.1.2 岭回归