PHP-tips
PHP-tips
变量覆盖
extract()
<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
# 结果:$a = Cat; $b = Dog; $c = Horse
复制代码#?shiyan=&flag=1
<?php
$flag='xxx';
extract($_GET);
if(isset($shiyan))
{
$content=trim(file_get_contents($flag)); # content is 0 , flag can be anything,cause file_get_contents cannot open file, return 0
if($shiyan==$content)
{
echo'ctf{xxx}';
}
else
{
echo'Oh.no';
}
}
复制代码parse_str()
import_request_variables()
?变量覆盖
全局变量覆盖漏洞
绕过过滤的空白字符
intval整数溢出
intval 四舍五入
浮点数精度忽略
多重加密
截断
iconv 异常字符截断
eregi、ereg可用%00截断
move_uploaded_file 用\0截断
inclue用?截断
系统长度截断
mysql长度截断
mysql中utf-8截断
弱类型比较
==、>、<的弱类型比较
switch 弱类型
md5比较(0e相等、数组为Null)
json传数据{"key":0}
strcmp漏洞1:返回0
strcmp漏洞2:返回Null
strcmp漏洞3: 判断使用的是 ==
in_array,array_search 弱类型比较
sha1() md5() 报错相等绕过(False === False)
strpos数组NULL(Null !== False)
十六进制与十进制比较
md5注入带入’or’
switch没有break
反序列化
文件包含
提交参数无过滤
伪造IP
绕过正则匹配
缺少^和$限定
数组绕过正则
str_replace路径穿越
short_open_tag=on 短标签
file_put_contents第二个参数传入数组
单引号和双引号
查询语句缺少单引号
宽字符注入
跳转无退出
二次编码注入
前端可控变量填充导致XSS
命令执行函数
create_function
mb_ereg_replace()的/e模式
preg_replace /e模式执行命令
动态函数执行
代码执行
eval()和assert()代码执行
优先级绕过
getimagesize图片判断绕过
<变*,windows findfirstfile利用
NO
Status
Function
Type of operation
Linux 通配符利用
处理value没有处理key
用来目录遍历的特别函数
绕过GD库图片渲染
会话固定
黑名单绕过
XXE注入
文件上传条件竞争
资料
最后更新于