专栏首页人工智能机器学习CTF从入门到提升(十六)代码执行相关函数及例题分享
原创

CTF从入门到提升(十六)代码执行相关函数及例题分享

代码/命令执行

比如说能够对一个php的站点,控制php代码,那么我们就把它划分为代码执行,如果能执行网站所在服务器中的命令,我们这就把它划分为命令执行,因为它执行的是系统命令。 

一般来说代码或命令执行漏洞都存在一个相关函数,通过控制部分参数传递到函数中实现命令执行。说到CTF题型中的这种攻击手段,一定要知道哪些函数能够被利用需要我们去关注的,首先会带大家了解一些代码注入的相关函数,例如执行php代码的一些函数。

相关函数(代码注入)

1eval 函数

这个函数能够把字符串当成代码来执行,以分号结尾可以理解为是完整语句,即使报错加上分号之后语句也会成功执行。

2Assert 

3call_user_func 

注意不是所有的函数都能去调用,官方手册上也没有明确哪些函数可以调用哪些不能。  

4call_user_func_array 

5create_function

6preg_replace

这个函数比较早,5.5中它已经被弃用了,但是你一样可以去使用它,但是在7.0之后,你就没办法去调用它,它已经不存在了。

7array_map 

8Usort

9{php代码} 

举栗子 

price是中间可控的,我们这里就控制它。

我们传的是123,实际上echo里的语句是name的价格是123,分号后面是不存在的,实际传递值的时候,是不用去传引号的,我们把引号去掉就能实现命令执行了。 

以上内容参考安全牛课堂《CTF从入门到提升

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 加密威胁原理篇(一)恶意程序基础知识

    病毒我们通常称为感染式的恶意程序,它最大的特点就是通过感染其他正常文件的方式来进行传播。感染正常文件有很多种不同的情况,比如说可能把恶意的程序写在正常程序的后边...

    牛油果
  • CTF从入门到提升(十四)session phpinfo包含及例题详解

    如果把php删掉,会发现登录入口不存在,初步推断php是后缀名会自动拼接到URL后面。

    牛油果
  • CTF从入门到提升(十二)文件包含 plus篇

    如果要实现文件包含漏洞,前提是非可执行文件,例如网站的源码都是可执行文件,拿php来说,大部分情况下都是.php文件,如果包含就没有意义了,因为直接包含相当于把...

    牛油果
  • 微信小游戏跳一跳外挂教程(安卓版)

    祈澈菇凉
  • 使用vnc远程连接管理windows服务器

    VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。在任何安装了客户端的应用程序(...

    云知识Online
  • iOS-AppStore下载Xcode失败,解决办法(一)

    用户1890628
  • Outlook自动转发

    林万程
  • Spark-ALS 分布式实现详解

    本文重点阐述了 Spark ML 库中 ALS 的实现,要看懂以上计算流程,请务必结合源代码理解,在实际源码实现中,使用了很多优化技巧。

    涂小刚
  • 区块链浅谈

    本文是笔者作为小白,参阅了区块链相关书籍资料后了,整理的随手笔记,在项目团队做了分享,比较初级简洁,希望对第一次接触区块链的小伙伴有所帮助。

    MT
  • 循环神经网络(Recurrent Neural Networks)简介

    在介绍 RNN 的诸多文章中,通常都是介绍 RNN 的使用方法和实战效果,很少有文章会介绍关于该神经网络的训练过程。本文将会使用传统的后向传播算法来训练 RNN...

    张戎

扫码关注云+社区

领取腾讯云代金券