我是靠谱客的博主 怕黑台灯,最近开发中收集的这篇文章主要介绍代码执行漏洞,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注意:仅用于本人学习的笔记记录,禁止进行传播分享,一旦造成严重后果与本人无关!!!

一、代码执行漏洞原理

代码执行:用户输入的数据被当做后端代码进行执行

<?php eval($_REQUEST[8]?)>

        RCE(远程命令或者代码执行)

        特指:远程的代码执行、代码执行

渗透的最终情况可以实现执行命令后者代码都属于RCE

学习代码审计:

        1.学思路

                通读全文

                关键函数定位

        2.学函数

二、造成代码执行函数解析

1、eval($a)        

        eval是代码执行用的最多的,他可以多行执行        eval($_REQUEST[8])

        eval('echo 2; phpinfo();echo 1;');

2、assert($a)

        assert只能单行执行        assert($_REQUEST[8])

        assert('phpinfo()')

        assert单行 =>  扩展到多行

        1.assert(eval(phpinfo();echo 1))        //eval代指多行执行的函数

        2.file_put_contents()        //写一个php文件

3、preg_replace()

        正则替换  /e  特殊修饰符要去替换代码执行,单行执行

        <?php  echo  preg_replace( '/a/e',$_REQUEST[8]),'abc'  ?>

        在abc中匹配a如果匹配到了执行中间的函数,需要匹配到

        过滤规则中可能遇到

4、create_function()

        $a = create_function('$id','echo  $id;')        //匿名函数,可多行执行

        程序员偷懒用的,有一些函数临时用一用,开发名字都懒得写,而且为了精简代码,他们用匿名函数

        函数定义不执行,调用才执行

        突破定义即可产生代码执行        传参传入 ?8= } echo  phpinfo();  //

5、array_map(要调用的函数,要传入的值)

        回调函数,调用某个函数,不止一个回调函数。

        将数组依次放到回调函数中执行,可多行执行

        重点:eval不是函数,它是php的特殊写法

6、"${phpinfo()}"

        双引号的二次解析,需要高版本才行>5.6

        安装网站的时候,填写的配置文件。

三、代码审计找漏洞

不看代码,看功能找对应的漏洞

        代码不会乱写,都是有需求

进入后台 -> 任意文件删除漏洞 -> 删除锁文件install.lock -> 重装在输入数据库的地方用了二次解析漏洞 -> 拿到shell

最后

以上就是怕黑台灯为你收集整理的代码执行漏洞的全部内容,希望文章能够帮你解决代码执行漏洞所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部