常见危险函数及特殊函数(一)

一、PHP代码执行函数
1.PHP代码执行函数-eval & assert & preg_replace
在这里插入图片描述
函数 eval() 语言结构是 非常危险的, 因为它允许执行任意 PHP 代码。 它这样用是很危险的。如果您仔细的确认过,除了使用此结构以外 别无方法, 请多加注意,不要允许传入任何由用户 提供的、未经完整验证过的数据。
2.在这里插入图片描述
Code
需要被执行的字符串
代码不能包含打开/关闭 PHP tags。比如,‘echo “Hi!”;’ 不能这样传入:’<?php echo "Hi!"; ?>’。但仍然可以用合适的 PHP tag 来离开、重新进入 PHP 模式。比如 ‘echo “In PHP mode!”; ?>In HTML mode!<?php echo “Back in PHP mode!”;’ 。
除此之外,传入的必须是有效的 PHP 代码。所有的语句必须以分号结尾。比如’echo “Hi!”'会导致一个 parse error,而’echo “Hi!”;'则会正常运行。
return 语句会立即中止当前字符串的执行。
代码执行的作用域是调用 eval() 处的作用域。因此,eval() 里任何的变量定义、修改,都会在函数结束后被保留。
3.在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输出结果
在这里插入图片描述
在这里插入图片描述
执行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正常调用
在这里插入图片描述
回调函数
在这里插入图片描述
二、包含函数
在这里插入图片描述
三、命令执行函数
1 exec()
执行一个外部程序
.2 passthru()
执行外部程序并且显示原始输出
3 proc_open()
执行一个命令,并且打开用来输入/输出的文件指针
4 shell_exec()
在这里插入图片描述
在这里插入图片描述
四、文件操作函数
在这里插入图片描述
任意文件读取,写入, 删除往往是上面几个函数受到了控制(当然还有其他函数)
读取:可以读取配置等文件,拿到key
写入:可以写入shell代码相关的内容
删除:可以删除.lock文件而可以重新安装覆盖
在这里插入图片描述
可以读取百度的内容,输入一些
在这里插入图片描述
执行之后的结果
在这里插入图片描述
五、特殊函数
在这里插入图片描述
bool in_array (mixed needle, arrayhaystack [,bool s t r i c t = F A L S E ] ) h a y s t a c k n e e d l e , s t r i c t 使 i n a r r a y ( strict=FALSE]) 在haystack中搜索needle,如果没有设置strict则使用宽松的比较。 该函数有一个特性,比较之前会进行自动类型转换 in_array( a,array(1,2,3)}的返回值是真。
在这里插入图片描述
输出提交的内容来判断他是不是字符串
用intval转换
在这里插入图片描述
将变量V设置为1,来判断变量的值是否在数组里,与数组的值是否相等,输出结果
在这里插入图片描述

发布了65 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gl620321/article/details/97540484