任务一:命令执行
实验环境:
本地搭建pikachu。
进入pikachu平台。进入RCE模块。点击exec“ping”。
步骤:
- 分析源码。分析为什么会造成命令执行漏洞。
首先将$ _POST[‘ipaddress’]赋值给$ip,然后直接未经任何处理就将其传入shell_exec()函数执行,造成命令可拼接执行。
- 漏洞利用
a) 127.0.0.1 | whoami
b) 127.0.0.1 | ipconfig
c) 127.0.0.1 | netstat
d) 127.0.0.1 | type C:\Windows\win.ini
任务二:
简答题:windows四种命令连接符(&、&&、|、||)的用法?
a && b :代表首先执行前者命令a再执行后命令b,但是前提条件是命令a执行正确才会执行命令b,在a执行失败的情况下不会执行b命令。所以又被称为短路运算符。
(前面的命令执行成功后,它后面的命令才被执行)
a & b:代表首先执行命令a再执行命令b,如果a执行失败,还是会继续执行命令b。也就是说命令b的执行不会受到命令a的干扰。
(表示简单的拼接,A命令语句和B命令语句没有制约关系)
a || b:代表首先执行a命令再执行b命令,如果a命令执行成功,就不会执行b命令,相反,如果a命令执行不成功,就会执行b命令。
(前面的命令执行失败,它后面的命令才被执行)
a | b:代表首先执行a命令,再执行b命令,不管a命令成功与否,都会去执行b命令。
(当第一条命令失败时,它仍然会执行第二条命令,表示A命令语句的输出,作为B命令语句的输入执行。)