@1kbfree
2018-10-07T01:21:26.000000Z
字数 599
阅读 1404
代码审计
eval函数定义
eval()函数把字符串按照 PHP
代码来计算,这就是代码执行漏洞的起因
eval(phpcode)
phpcode
必填,规定要计算的PHP代码代码执行的危害
开始了解代码执行漏洞
eval()
的小案例1:因为这里他把GET请求传递过去的值赋值给$ret。这里就是将里面的\$ret = $name;
当作代码来执行了
我们再输入phpinfo()
试试:
这样子我们就可以输入一句话木马来getshell了
首先我们需要先看看strtolower()
用法:
代码(注意看白色区域):
我们先输入phpinfo()
试试:
可以看到,这里没有任何效果,因为之前的$name
被''括起来了,所以我们只能闭合这个单引号来尝试了
闭合单引号:
这里的1');
只是为了闭合前面的单引号,而后面的//
是注释掉后面的单引号,如果不注释,那么将会报错
闭合单引号输出phpinfo()
:
这个时候我们相当于执行了:
代码(这是被双引号括起来的):
我们试试闭合双引号(原理和前面的相同):
闭合双引号输出phpinfo()
:
我们还可以利用双引号中可执行可变变量来输出 phpinfo()
:
先看看什么是双引号中可执行可变变量:
输出phpinfo()
: