无参RCE函数
无参RCE
无参RCE
就是无法使用参数,只能使用函数来达到命令执行的效果
函数
localeconv()
这个函数可以获取当前地区的数字和货币信息
**传入值:**无需传入参数
**返回值:**返回内容是一个包含众多格式化设置的关联数组
数组中的第一个元素是点
1 |
|
current()
获取数组的当前元素
**传入值:**一个数组
**返回值:**这个函数会返回数组中的当前元素,在每一个数组中都有一个内部指针指向这某个元素,默认情况下指向第一个元素
这个可以与localeconv()
搭配使用,从而获取localeconv()
返回的数组中的第一个元素点.
1 |
|
pos()
这个函数是current()
的别名函数,和其作用一样是获取数组的当前元素
**传入值:**一个数组
**返回值:**这个函数会返回数组中的当前元素,在每一个数组中都有一个内部指针指向这某个元素,默认情况下指向第一个元素
1 |
|
scandir()
这个函数可以获取当前目录的文件和子目录
**传入值:**接收参数是要扫描的路径
**返回值:**返回值是该目录包含的文件和目录的数组
1 |
|
因为是无参RCE,所以引号和点这些符号可能会禁用,就要和localeconv()
和current
搭配使用
1 |
|
glob()
这是一个用于文件路径名模式匹配的函数,可以获取包含匹配文件路径的数组
**传入值:**要匹配的文件路径名
**返回值:**一个包含匹配文件路径的数组
1 |
|
getcwd()
获取当前工作目录的绝对路径
**传入值:**这个函数无需传入参数
**返回值:**会返回当前工作目录的绝对路径
1 |
|
dirname()
获取路径中的目录部分
**传入值:**这个函数会接收一个路径参数
**返回值:**返回路径中的目录部分
可以和getcwd()
搭配使用
1 |
|
array_flip()
这个函数可以交换数组中键和值的位置
**传入值:**会接收一个数组
**返回值:**返回一个键和值交换位置的数组
可以和scandir(current(localeconv()))
搭配使用
1 |
|
array_reverse()
这个函数会将数组中的元素颠倒过来
**传入值:**接收一个数组
**返回值:**返回一个颠倒的数组
当要选取的文件在靠后的位置时,可以使用这个函数使其提前
可以和array_flip(scandir(current(localeconv())))
搭配使用,
1 |
|
array_rand()
这个函数可以从一个数组中随机抽取一个或多个键
**传入值:**会接收一个数组,如果没有指定选取键的数量会默认为1
**返回值:**会返回随机选取的键
可以和array_rand(array_flip(scandir(current(localeconv()))))
搭配使用,从而达到随机选取文件的效果
1 |
|
chdir()
这个函数会改变当前脚本的工作目录
**传入值:**需要接收目标目录的路径
**返回值:**返回值是布尔类型
1 |
|
strrev()
这个函数可以将字符串反转
**传入值:**要进行反转的字符串
**返回值:**反转后的字符串
1 |
|
end()
可以将数组内部指针移动到最后一个元素
**传入值:**要操作的数组
**返回值:**返回数组的最后一个元素的值
1 |
|
next()
可以将数组的内部指针向前移动一位
**传入值:**要操作的数组
**返回值:**返回移动后内部指针所指向的元素的值,如果超出数组范围会返回false
1 |
|
prev()
将数组的内部指针倒回一位
**传入值:**要操作的数组
**返回值:**返回倒回后内部指针指向的元素的值,如果超出数组范围会返回false
reset()
将数组内部指针重置到第一个元素
**传入值:**要操作的数组
**返回值:**返回重置后的内部指针指向的元素的值,即数组第一个元素的值
each()
可以获取当前数组内部指针指向的元素的键和值,并将指针向后移动一位
**传入值:**要操作的数组
**返回值:**返回一个包含四个元素的数组,键 0
和 key
对应元素的键,键 1
和 value
对应元素的值。如果数组指针已经超出数组范围,返回 false
1 |
|
ord()
获取字符串中第一个字符的ASCII码值
**传入值:**要处理的字符串
**返回值:**字符串中第一个字符的ASCII码值
1 |
|
chr()
和ord()
函数功能相反,这个函数是将ASCII码值转化为字符
**传入值:**ASCII码值
**返回值:**返回ASCII码值对应的字符
1 |
|
getallheaders()
这个函数可以获取全部的 HTTP 请求头
**传入值:**无需传入参数
**返回值:**会返回一个包含请求头的数组,键为请求头,值为请求头的值
不过这个函数只能在 Apache 环境中使用,其他环境不能用
get_defined_vars()
这个函数可以返回所有已定义变量的数组,包括全局变量、局部变量、超全局变量等
**传入值:**不需要传入参数
**返回值:**返回一个包含所有已定义变量的关联数组
不过这个函数只能在 Apache 环境中使用,其他环境不能用
1 |
|
session_id()
这个函数可以获取或设置当前会话的 Session ID
**传入值:**不需要传入参数
**返回值:**返回当前会话的 ID,如果没有就会返回一个空字符串
1 |
|
读取文件内容函数
highlight_file()
show_source()
readfile()