Web_php_include(攻防世界)
正文
打开链接是一串php代码
|
对上面的代码进行分析+看别的题解大概知道就是我们先get传入
?page=php://input(利用php伪协议大小写绕过改成?page=PHP://input)
然后就能以post方式传入我们想要执行的命令
传入post值:
得到
flag应该就在fl4gisisish3r3.php里面
接着我们将post值改成
在源代码中可以找到flag
知识总结
文件包含漏洞
文件包含漏洞,就是说你使用文件包含函数后,会把你包含的文件也进行一遍编译或者叫做执行。 PHP中文件包含函数有以下四种:
require()、require_once()、include()、include_once()
其中include和require区别主要是,include在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行;
require函数出现错误的时候,会直接报错并退出程序的执行。
include_once(),require_once()这两个函数,与前两个的不同之处在于这两个函数只包含一次.
php伪协议中的php://input
一般的利用形式为file=php://input。php://input 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行且php://input 也可以用来生成一句话木马。
strstr函数的理解
strstr(被搜索的字符串,搜索的字符串) 函数搜索字符串在另一字符串中是否存在,如果是返回该字符串及剩余部分,否则返回 FALSE。但是需要注意它是严格区分大小写的,也就是说可以利用PHp://input。 str_replace函数的理解 str_replace(str1,str2,str),将str字符串中的str1替换成str2注意:他是区分大小写的。