@1kbfree
        
        2018-10-06T17:21:26.000000Z
        字数 599
        阅读 1761
    代码审计
eval函数定义
eval()函数把字符串按照 PHP 代码来计算,这就是代码执行漏洞的起因
eval(phpcode)
phpcode 必填,规定要计算的PHP代码代码执行的危害
开始了解代码执行漏洞
eval()的小案例1:

因为这里他把GET请求传递过去的值赋值给$ret。这里就是将里面的\$ret = $name;当作代码来执行了
我们再输入phpinfo()试试:

这样子我们就可以输入一句话木马来getshell了
首先我们需要先看看strtolower()用法:


代码(注意看白色区域):

我们先输入phpinfo()试试:

可以看到,这里没有任何效果,因为之前的$name被''括起来了,所以我们只能闭合这个单引号来尝试了
闭合单引号:

这里的1');只是为了闭合前面的单引号,而后面的//是注释掉后面的单引号,如果不注释,那么将会报错
闭合单引号输出phpinfo():

这个时候我们相当于执行了:

代码(这是被双引号括起来的):

我们试试闭合双引号(原理和前面的相同):

闭合双引号输出phpinfo():

我们还可以利用双引号中可执行可变变量来输出    phpinfo():
先看看什么是双引号中可执行可变变量:

输出phpinfo():

