PHP trick

1、绕过is_numeric。 %00放在数字开头或者结尾,%20放在开头都能使函数返回false

2、类型转换上限。intval函数在32位系统最大返回2147483647,64位系统最大返回9223372036854775807。浮点数向下取整。

3、eregi匹配可以用%00截断,参数是数组返回NULL。

4、strcmp、strpos绕过。传数组。一般处理字符串的,传入数组会返回null。

5、md5和sha加密,加密是数组的话md5()===md5()成立。

6、session绕过。删除cookie,没有cookie中的SESSIONID就找不到对应的session文件,相应的$_SESSION['var']就为NULL,传参NULL。

7、伪造ip:X-Client-IP:  X-Remote-IP:  X-Remote-Addr:  X-Originating-IP:  X-Forwarded-For:  client-ip:

可以不用点分十进制,用八进制或者十六进制绕过ip地址限制。

8、md5之后==比较相等, 240610708    QNKCDZO

9、md5后sql注入,md5($var,true)把md5后的十六进制转换为字符串,字符 ffifdyop 加密后再转换为字符串为 'or'6<trash>即可。

10、unserialize反序列化。if (preg_match('/[oc]:\d+:/i', 'O:4:"Demo":1:{s:10:"Demofile";s:16:"f15g_1s_here.php";}'))  进行这种正则判断的时候,可以在数字前加'+'号来绕过,数字的正号在序列化后的字符串中可以省略,但是可以绕过正则。类序列化之后,再调用unserialize()反序列化这个字符串,会调用类的__wakeup()函数(如果存在的话),之后再调用析构函数。序列化之后的字符串,如果改变属性的数量后,再反序列化,不会调用__wakeup函数。

11、PHP双引号中的变量会被正常解析,比如"hello $name",$name的值会被代入。${}里面的代码会正常执行。比如${@eval(...)}一句话木马。

12、绕过openbase_dir列目录,p师傅的文章:https://www.leavesongs.com/PHP/php-bypass-open-basedir-list-directory.html

或者<?php foreach(glob("./*") as $bdw){ echo $bdw."<br>"; }?>

13、///可以使得parse_url解析错误,不过必须是跟在ip地址后面,具体文件后面不行。

14、利用phar://协议读取phar文件,可以触发反序列化,受影响函数:file_exists file_get_content file_put_content等等

详细介绍:https://xz.aliyun.com/t/2715#toc-5

深入介绍:https://xz.aliyun.com/t/2958

15、php://filter/convert.iconv.UTF-8/UTF-7/resource= 可以把文件从一个编码转换到另一个编码,可以用来读取某些服务器不支持的格式的文件。

16、file_put_contents() 在写入文件时,第二个参数,写入数据如果是数组的话,会被连接起来写入文件。但是这样就能绕过前面的过滤。

17、php读取写入文件,都会调用php_stream_open_wrapper_ex打开流,而判断文件存在、重命名、删除不会。php_stream_open_wrapper_ex会把文件名标准化为一个绝对路径,删除等操作没有。所以读取写入的时候会处理掉相对路径不会出错,删除因为不会处理所以出错。

linux绕过: xxxxx/../exp.php    exp.php/.

windows绕过: exp.ph<

18、end()和count。类似 end($var)==$var[count($var)-1] 绕过,end是直接取数组最后一位,count是根据下标来取的,所以打乱下标可以绕过。

例如:  ?a[1]=ab&a[0]=cd

19、filter_var($url,FILTER_VALIDATE_URL) 绕过,http://localhost/?url=0://evil.com:2333,skysec.top:80/  或者 http://localhost/?url=0://evil.com:233;skysec.top:80/ 都可以绕过, 或者 http://localhost/?url=0://evil.com$skysec.top:80/    parse_url($url)['host'] 还是// 和 /之间的内容,但是curl请求的是前半部分的内容。

参考:http://skysec.top/2018/03/15/Some%20trick%20in%20ssrf%20and%20unserialize()/#some-trick-in-ssrf

20、parse_url 和libcurl(就是curl函数的库)。  parse_url 匹配host中最后一个@后面符合格式的host    curl匹配第一个。

例如 http://@a.com@b.com parse_url 中host 为b.com    curl中host为 a.com  (后面的会忽略?)。

关于有端口号的url:和libcurl版本号有关:

libcurl 7.55.1 版本之后的 对于  http://@localhost:80@104.248.216.145:8001 host为 localhost 访问端口号为最后那个指定的 中间那个80无用

    7.50.3版本之前的(具体哪个版本分界我也不知道啊!)对上面的url无法访问,需要把最后面那个端口号去掉才行,同时访问的端口号为80

21、反序列化注入代码。构造属性内容,使得前一个属性因为过滤,属性值内容减少的时候,可以吃掉原本的属性,使得下一个属性的内容成为属性。



这样就可以在原本的属性值中构造注入代码。对象注入,使得某个特定的对象成为当前的一个属性,然后可以操作相关函数。

22、json_encode:将数组转换为json,只支持utf8格式的数据。json_encode 会自动将utf8格式的汉字转为unicode格式。gbk格式的数据只能输出NULL。

json_decode:可以解析unicode编码格式的字符串,官方说明只能解析utf-8编码的数据。  英文字符不区分编码格式,encode  decode都能解析。

json_decode:可以当作mysql的分隔符: 空格    +  \f  \n  \r  \t \u0009  \u000A  \u000B  \u000C  \u000D  \u0020    \u002B

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容